Decompiled source of AgilePowerSaw v1.5.0

plugin/AgilePowerSaw.dll

Decompiled 3 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using R2API.Utils;
using RiskOfOptions;
using RiskOfOptions.Options;
using RoR2;
using RoR2.Skills;
using UnityEngine;
using UnityEngine.AddressableAssets;

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

[BepInPlugin("com.kking117.AgilePowerSaw", "AgilePowerSaw", "1.5.0")]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class MainPlugin : BaseUnityPlugin
{
	public const string MODUID = "com.kking117.AgilePowerSaw";

	public const string MODNAME = "AgilePowerSaw";

	public const string MODVERSION = "1.5.0";

	internal static bool RiskOfOptions;

	public static ConfigEntry<bool> FragGrenade;

	public static ConfigEntry<bool> LaserGlaive;

	public static ConfigEntry<bool> PowerSaw;

	public static ConfigEntry<bool> BounceGrenade;

	public static ConfigEntry<bool> PressureMine;

	public static ConfigEntry<bool> SpiderMine;

	public static ConfigEntry<bool> GaussTurret;

	public static ConfigEntry<bool> CarbonTurret;

	public static ConfigEntry<bool> Flamethrower;

	public static ConfigEntry<bool> NanoBomb;

	public static ConfigEntry<bool> NanoSpear;

	public static ConfigEntry<bool> Whirlwind;

	public static ConfigEntry<bool> RisingThunder;

	public static ConfigEntry<bool> SlicingWinds;

	public static ConfigEntry<bool> Disperse;

	public static ConfigEntry<bool> BrambleVolley;

	public static ConfigEntry<bool> Harvest;

	public static ConfigEntry<bool> Tangling;

	public static ConfigEntry<bool> GrappleFist;

	public static ConfigEntry<bool> ChargedGauntlet;

	public static ConfigEntry<bool> ThunderGauntlet;

	public static ConfigEntry<bool> SpikedFist;

	public static ConfigEntry<bool> ThrowPylon;

	public static ConfigEntry<bool> Thunderslam;

	public static ConfigEntry<bool> CrocoBite;

	public static ConfigEntry<bool> VulcanShotgun;

	public static ConfigEntry<bool> PowerTazer;

	public static ConfigEntry<bool> Supercharge;

	public static ConfigEntry<bool> Supershot;

	public static ConfigEntry<bool> Cryocharge;

	public static ConfigEntry<bool> Cryoshot;

	public static ConfigEntry<bool> Flood;

	public static ConfigEntry<string> Other_CustomList;

	public static ConfigEntry<string> Other_ReferenceList;

	private static List<SkillDef> CulledSkillList;

	private static List<string> CustomTokenList;

	public void Awake()
	{
		RiskOfOptions = Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions");
		ReadConfig();
		if (RiskOfOptions)
		{
			SetupOptions();
		}
		((ResourceAvailability)(ref GameModeCatalog.availability)).CallWhenAvailable((Action)PostLoad);
	}

	public void PostLoad()
	{
		ApplyModChanges();
	}

	private void ApplyModChanges()
	{
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0054: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Unknown result type (might be due to invalid IL or missing references)
		//IL_0099: Unknown result type (might be due to invalid IL or missing references)
		//IL_009e: Unknown result type (might be due to invalid IL or missing references)
		//IL_00de: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0123: Unknown result type (might be due to invalid IL or missing references)
		//IL_0128: Unknown result type (might be due to invalid IL or missing references)
		//IL_0168: Unknown result type (might be due to invalid IL or missing references)
		//IL_016d: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0237: Unknown result type (might be due to invalid IL or missing references)
		//IL_023c: Unknown result type (might be due to invalid IL or missing references)
		//IL_027c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0281: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0306: 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_034b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0350: Unknown result type (might be due to invalid IL or missing references)
		//IL_0390: Unknown result type (might be due to invalid IL or missing references)
		//IL_0395: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03da: Unknown result type (might be due to invalid IL or missing references)
		//IL_041a: Unknown result type (might be due to invalid IL or missing references)
		//IL_041f: Unknown result type (might be due to invalid IL or missing references)
		//IL_045f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0464: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_052e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0533: Unknown result type (might be due to invalid IL or missing references)
		//IL_0573: Unknown result type (might be due to invalid IL or missing references)
		//IL_0578: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_05bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_05fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0602: Unknown result type (might be due to invalid IL or missing references)
		//IL_0642: Unknown result type (might be due to invalid IL or missing references)
		//IL_0647: Unknown result type (might be due to invalid IL or missing references)
		//IL_0687: Unknown result type (might be due to invalid IL or missing references)
		//IL_068c: Unknown result type (might be due to invalid IL or missing references)
		//IL_06cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_06d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0711: Unknown result type (might be due to invalid IL or missing references)
		//IL_0716: Unknown result type (might be due to invalid IL or missing references)
		//IL_0756: Unknown result type (might be due to invalid IL or missing references)
		//IL_075b: Unknown result type (might be due to invalid IL or missing references)
		//IL_079b: Unknown result type (might be due to invalid IL or missing references)
		//IL_07a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_07e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_07e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0825: Unknown result type (might be due to invalid IL or missing references)
		//IL_082a: Unknown result type (might be due to invalid IL or missing references)
		//IL_086a: Unknown result type (might be due to invalid IL or missing references)
		//IL_086f: Unknown result type (might be due to invalid IL or missing references)
		if (FragGrenade.Value)
		{
			SkillDef val = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Commando/ThrowGrenade.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val))
			{
				val.canceledFromSprinting = false;
				val.cancelSprintingOnActivation = false;
			}
		}
		if (LaserGlaive.Value)
		{
			SkillDef val2 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Huntress/HuntressBodyGlaive.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val2))
			{
				val2.canceledFromSprinting = false;
				val2.cancelSprintingOnActivation = false;
			}
		}
		if (PowerSaw.Value)
		{
			SkillDef val3 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Toolbot/ToolbotBodyFireBuzzsaw.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val3))
			{
				val3.canceledFromSprinting = false;
				val3.cancelSprintingOnActivation = false;
			}
		}
		if (BounceGrenade.Value)
		{
			SkillDef val4 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Engi/EngiBodyFireGrenade.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val4))
			{
				val4.canceledFromSprinting = false;
				val4.cancelSprintingOnActivation = false;
			}
		}
		if (PressureMine.Value)
		{
			SkillDef val5 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Engi/EngiBodyPlaceMine.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val5))
			{
				val5.canceledFromSprinting = false;
				val5.cancelSprintingOnActivation = false;
			}
		}
		if (SpiderMine.Value)
		{
			SkillDef val6 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Engi/EngiBodyPlaceSpiderMine.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val6))
			{
				val6.canceledFromSprinting = false;
				val6.cancelSprintingOnActivation = false;
			}
		}
		if (GaussTurret.Value)
		{
			SkillDef val7 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Engi/EngiBodyPlaceTurret.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val7))
			{
				val7.canceledFromSprinting = false;
				val7.cancelSprintingOnActivation = false;
			}
		}
		if (CarbonTurret.Value)
		{
			SkillDef val8 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Engi/EngiBodyPlaceWalkerTurret.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val8))
			{
				val8.canceledFromSprinting = false;
				val8.cancelSprintingOnActivation = false;
			}
		}
		if (NanoBomb.Value)
		{
			SkillDef val9 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Mage/MageBodyNovaBomb.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val9))
			{
				val9.canceledFromSprinting = false;
				val9.cancelSprintingOnActivation = false;
			}
		}
		if (NanoSpear.Value)
		{
			SkillDef val10 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Mage/MageBodyIceBomb.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val10))
			{
				val10.canceledFromSprinting = false;
				val10.cancelSprintingOnActivation = false;
			}
		}
		if (Flamethrower.Value)
		{
			SkillDef val11 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Mage/MageBodyFlamethrower.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val11))
			{
				val11.canceledFromSprinting = false;
				val11.cancelSprintingOnActivation = false;
			}
		}
		if (GrappleFist.Value)
		{
			SkillDef val12 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Loader/FireHook.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val12))
			{
				val12.canceledFromSprinting = false;
				val12.cancelSprintingOnActivation = false;
			}
		}
		if (SpikedFist.Value)
		{
			SkillDef val13 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Loader/FireYankHook.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val13))
			{
				val13.canceledFromSprinting = false;
				val13.cancelSprintingOnActivation = false;
			}
		}
		if (ChargedGauntlet.Value)
		{
			SkillDef val14 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Loader/ChargeFist.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val14))
			{
				val14.canceledFromSprinting = false;
				val14.cancelSprintingOnActivation = false;
			}
		}
		if (ThunderGauntlet.Value)
		{
			SkillDef val15 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Loader/ChargeZapFist.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val15))
			{
				val15.canceledFromSprinting = false;
				val15.cancelSprintingOnActivation = false;
			}
		}
		if (ThrowPylon.Value)
		{
			SkillDef val16 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Loader/ThrowPylon.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val16))
			{
				val16.canceledFromSprinting = false;
				val16.cancelSprintingOnActivation = false;
			}
		}
		if (Thunderslam.Value)
		{
			SkillDef val17 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Loader/GroundSlam.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val17))
			{
				val17.canceledFromSprinting = false;
				val17.cancelSprintingOnActivation = false;
			}
		}
		if (Whirlwind.Value)
		{
			SkillDef val18 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Merc/MercBodyWhirlwind.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val18))
			{
				val18.canceledFromSprinting = false;
				val18.cancelSprintingOnActivation = false;
			}
		}
		if (RisingThunder.Value)
		{
			SkillDef val19 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Merc/MercBodyUppercut.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val19))
			{
				val19.canceledFromSprinting = false;
				val19.cancelSprintingOnActivation = false;
			}
		}
		if (SlicingWinds.Value)
		{
			SkillDef val20 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Merc/MercBodyEvisProjectile.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val20))
			{
				val20.canceledFromSprinting = false;
				val20.cancelSprintingOnActivation = false;
			}
		}
		if (Disperse.Value)
		{
			SkillDef val21 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Treebot/TreebotBodySonicBoom.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val21))
			{
				val21.canceledFromSprinting = false;
				val21.cancelSprintingOnActivation = false;
			}
		}
		if (BrambleVolley.Value)
		{
			SkillDef val22 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Treebot/TreebotBodyPlantSonicBoom.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val22))
			{
				val22.canceledFromSprinting = false;
				val22.cancelSprintingOnActivation = false;
			}
		}
		if (Tangling.Value)
		{
			SkillDef val23 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Treebot/TreebotBodyFireFlower2.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val23))
			{
				val23.canceledFromSprinting = false;
				val23.cancelSprintingOnActivation = false;
			}
		}
		if (Harvest.Value)
		{
			SkillDef val24 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Treebot/TreebotBodyFireFruitSeed.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val24))
			{
				val24.canceledFromSprinting = false;
				val24.cancelSprintingOnActivation = false;
			}
		}
		if (CrocoBite.Value)
		{
			SkillDef val25 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Croco/CrocoBite.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val25))
			{
				val25.canceledFromSprinting = false;
				val25.cancelSprintingOnActivation = false;
			}
		}
		if (VulcanShotgun.Value)
		{
			SkillDef val26 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Captain/CaptainShotgun.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val26))
			{
				val26.canceledFromSprinting = false;
				val26.cancelSprintingOnActivation = false;
			}
		}
		if (PowerTazer.Value)
		{
			SkillDef val27 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/Base/Captain/CaptainTazer.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val27))
			{
				val27.canceledFromSprinting = false;
				val27.cancelSprintingOnActivation = false;
			}
		}
		if (Supercharge.Value)
		{
			SkillDef val28 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/DLC1/Railgunner/RailgunnerBodyChargeSnipeSuper.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val28))
			{
				val28.canceledFromSprinting = false;
				val28.cancelSprintingOnActivation = false;
			}
		}
		if (Supershot.Value)
		{
			SkillDef val29 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/DLC1/Railgunner/RailgunnerBodyFireSnipeSuper.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val29))
			{
				val29.canceledFromSprinting = false;
				val29.cancelSprintingOnActivation = false;
			}
		}
		if (Cryocharge.Value)
		{
			SkillDef val30 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/DLC1/Railgunner/RailgunnerBodyChargeSnipeCryo.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val30))
			{
				val30.canceledFromSprinting = false;
				val30.cancelSprintingOnActivation = false;
			}
		}
		if (Cryoshot.Value)
		{
			SkillDef val31 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/DLC1/Railgunner/RailgunnerBodyFireSnipeCryo.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val31))
			{
				val31.canceledFromSprinting = false;
				val31.cancelSprintingOnActivation = false;
			}
		}
		if (Flood.Value)
		{
			SkillDef val32 = Addressables.LoadAssetAsync<SkillDef>((object)"RoR2/DLC1/VoidSurvivor/ChargeMegaBlaster.asset").WaitForCompletion();
			if (Object.op_Implicit((Object)(object)val32))
			{
				val32.canceledFromSprinting = false;
				val32.cancelSprintingOnActivation = false;
			}
		}
		UpdateTokenReference();
		ApplyCustomAgileList();
	}

	private void UpdateTokenReference()
	{
		string text = "";
		bool flag = true;
		CulledSkillList = new List<SkillDef>();
		List<SkillDef> list = SkillCatalog.allSkillDefs.ToList();
		for (int i = 0; i < list.Count; i++)
		{
			if (list[i].skillNameToken.Length > 0)
			{
				if (flag)
				{
					text = list[i].skillNameToken;
					flag = false;
				}
				else
				{
					text = text + ", " + list[i].skillNameToken;
				}
				CulledSkillList.Add(list[i]);
			}
		}
		Other_ReferenceList.Value = text;
		CustomTokenList = new List<string>();
		string[] array = Other_CustomList.Value.Split(',');
		for (int j = 0; j < array.Length; j++)
		{
			array[j] = array[j].Trim();
			if (array[j].Length > 0)
			{
				CustomTokenList.Add(array[j]);
			}
		}
	}

	private void ApplyCustomAgileList()
	{
		((BaseUnityPlugin)this).Logger.LogInfo((object)("Total Custom List Entries: " + CustomTokenList.Count));
		for (int i = 0; i < CulledSkillList.Count; i++)
		{
			for (int j = 0; j < CustomTokenList.Count; j++)
			{
				if (CulledSkillList[i].skillNameToken == CustomTokenList[j])
				{
					((BaseUnityPlugin)this).Logger.LogInfo((object)("Found and tried enabling Agile for: " + CustomTokenList[j]));
					CulledSkillList[i].canceledFromSprinting = false;
					CulledSkillList[i].cancelSprintingOnActivation = false;
					break;
				}
			}
		}
	}

	public void ReadConfig()
	{
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Expected O, but got Unknown
		//IL_002c: Expected O, but got Unknown
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_005c: Expected O, but got Unknown
		//IL_005c: Expected O, but got Unknown
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_0082: Unknown result type (might be due to invalid IL or missing references)
		//IL_008c: Expected O, but got Unknown
		//IL_008c: Expected O, but got Unknown
		//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bc: Expected O, but got Unknown
		//IL_00bc: Expected O, but got Unknown
		//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ec: Expected O, but got Unknown
		//IL_00ec: Expected O, but got Unknown
		//IL_0101: Unknown result type (might be due to invalid IL or missing references)
		//IL_0112: Unknown result type (might be due to invalid IL or missing references)
		//IL_011c: Expected O, but got Unknown
		//IL_011c: Expected O, but got Unknown
		//IL_0131: Unknown result type (might be due to invalid IL or missing references)
		//IL_0142: Unknown result type (might be due to invalid IL or missing references)
		//IL_014c: Expected O, but got Unknown
		//IL_014c: Expected O, but got Unknown
		//IL_0161: Unknown result type (might be due to invalid IL or missing references)
		//IL_0172: Unknown result type (might be due to invalid IL or missing references)
		//IL_017c: Expected O, but got Unknown
		//IL_017c: Expected O, but got Unknown
		//IL_0191: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ac: Expected O, but got Unknown
		//IL_01ac: Expected O, but got Unknown
		//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01dc: Expected O, but got Unknown
		//IL_01dc: Expected O, but got Unknown
		//IL_01f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0202: Unknown result type (might be due to invalid IL or missing references)
		//IL_020c: Expected O, but got Unknown
		//IL_020c: Expected O, but got Unknown
		//IL_0221: Unknown result type (might be due to invalid IL or missing references)
		//IL_0232: Unknown result type (might be due to invalid IL or missing references)
		//IL_023c: Expected O, but got Unknown
		//IL_023c: Expected O, but got Unknown
		//IL_0251: Unknown result type (might be due to invalid IL or missing references)
		//IL_0262: Unknown result type (might be due to invalid IL or missing references)
		//IL_026c: Expected O, but got Unknown
		//IL_026c: Expected O, but got Unknown
		//IL_0281: Unknown result type (might be due to invalid IL or missing references)
		//IL_0292: Unknown result type (might be due to invalid IL or missing references)
		//IL_029c: Expected O, but got Unknown
		//IL_029c: Expected O, but got Unknown
		//IL_02b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_02cc: Expected O, but got Unknown
		//IL_02cc: Expected O, but got Unknown
		//IL_02e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fc: Expected O, but got Unknown
		//IL_02fc: Expected O, but got Unknown
		//IL_0311: Unknown result type (might be due to invalid IL or missing references)
		//IL_0322: Unknown result type (might be due to invalid IL or missing references)
		//IL_032c: Expected O, but got Unknown
		//IL_032c: Expected O, but got Unknown
		//IL_0341: Unknown result type (might be due to invalid IL or missing references)
		//IL_0352: Unknown result type (might be due to invalid IL or missing references)
		//IL_035c: Expected O, but got Unknown
		//IL_035c: Expected O, but got Unknown
		//IL_0371: Unknown result type (might be due to invalid IL or missing references)
		//IL_0382: Unknown result type (might be due to invalid IL or missing references)
		//IL_038c: Expected O, but got Unknown
		//IL_038c: Expected O, but got Unknown
		//IL_03a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bc: Expected O, but got Unknown
		//IL_03bc: Expected O, but got Unknown
		//IL_03d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ec: Expected O, but got Unknown
		//IL_03ec: Expected O, but got Unknown
		//IL_0401: Unknown result type (might be due to invalid IL or missing references)
		//IL_0412: Unknown result type (might be due to invalid IL or missing references)
		//IL_041c: Expected O, but got Unknown
		//IL_041c: Expected O, but got Unknown
		//IL_0431: Unknown result type (might be due to invalid IL or missing references)
		//IL_0442: Unknown result type (might be due to invalid IL or missing references)
		//IL_044c: Expected O, but got Unknown
		//IL_044c: Expected O, but got Unknown
		//IL_0461: Unknown result type (might be due to invalid IL or missing references)
		//IL_0472: Unknown result type (might be due to invalid IL or missing references)
		//IL_047c: Expected O, but got Unknown
		//IL_047c: Expected O, but got Unknown
		//IL_0491: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ac: Expected O, but got Unknown
		//IL_04ac: Expected O, but got Unknown
		//IL_04c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_04dc: Expected O, but got Unknown
		//IL_04dc: Expected O, but got Unknown
		//IL_04f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0502: Unknown result type (might be due to invalid IL or missing references)
		//IL_050c: Expected O, but got Unknown
		//IL_050c: Expected O, but got Unknown
		//IL_0521: Unknown result type (might be due to invalid IL or missing references)
		//IL_0532: Unknown result type (might be due to invalid IL or missing references)
		//IL_053c: Expected O, but got Unknown
		//IL_053c: Expected O, but got Unknown
		//IL_0551: Unknown result type (might be due to invalid IL or missing references)
		//IL_0562: Unknown result type (might be due to invalid IL or missing references)
		//IL_056c: Expected O, but got Unknown
		//IL_056c: Expected O, but got Unknown
		//IL_0581: Unknown result type (might be due to invalid IL or missing references)
		//IL_0592: Unknown result type (might be due to invalid IL or missing references)
		//IL_059c: Expected O, but got Unknown
		//IL_059c: Expected O, but got Unknown
		//IL_05b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_05cc: Expected O, but got Unknown
		//IL_05cc: Expected O, but got Unknown
		//IL_05e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_05fc: Expected O, but got Unknown
		//IL_05fc: Expected O, but got Unknown
		//IL_0611: Unknown result type (might be due to invalid IL or missing references)
		//IL_0626: Unknown result type (might be due to invalid IL or missing references)
		//IL_0630: Expected O, but got Unknown
		//IL_0630: Expected O, but got Unknown
		//IL_0645: Unknown result type (might be due to invalid IL or missing references)
		//IL_065a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0664: Expected O, but got Unknown
		//IL_0664: Expected O, but got Unknown
		FragGrenade = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Commando", "Frag Grenade"), false, new ConfigDescription("Try to make Commando's Frag Grenade skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		LaserGlaive = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Huntress", "Laser Glaive"), false, new ConfigDescription("Try to make Huntress's Laser Glaive skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		PowerSaw = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Mul-T", "Power-Saw"), true, new ConfigDescription("Try to make Mul-T's Power-Saw skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		BounceGrenade = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Engineer", "Bouncing Grenade"), false, new ConfigDescription("Try to make Engineer's Bouncing Grenade skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		PressureMine = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Engineer", "Pressure Mine"), false, new ConfigDescription("Try to make Engineer's Pressure Mine skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		SpiderMine = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Engineer", "Spider Mine"), false, new ConfigDescription("Try to make Engineer's Spider Mine skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		GaussTurret = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Engineer", "TR12 Gauss Auto-Turret"), false, new ConfigDescription("Try to make Engineer's TR12 Gauss Auto-Turret skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		CarbonTurret = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Engineer", "TR58 Carbonizer Turret"), false, new ConfigDescription("Try to make Engineer's TR58 Carbonizer Turret skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		GrappleFist = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Loader", "Grapple Fist"), false, new ConfigDescription("Try to make Loader's Grapple Fist skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		SpikedFist = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Loader", "Spiked Fist"), false, new ConfigDescription("Try to make Loader's Spiked Fist skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		ChargedGauntlet = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Loader", "Charged Gauntlet"), false, new ConfigDescription("Try to make Loader's Charged Gauntlet skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		ThunderGauntlet = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Loader", "Thunder Gauntlet"), false, new ConfigDescription("Try to make Loader's Thunder Gauntlet skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		ThrowPylon = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Loader", "M551 Pylon"), false, new ConfigDescription("Try to make Loader's M551 Pylon skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Thunderslam = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Loader", "Thunderslam"), false, new ConfigDescription("Try to make Loader's Thunderslam skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Whirlwind = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Mercenary", "Whirlwind"), false, new ConfigDescription("Try to make Mercenary's Whirlwind skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		RisingThunder = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Mercenary", "Rising Thunder"), false, new ConfigDescription("Try to make Mercenary's Rising Thunder skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		SlicingWinds = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Mercenary", "Slicing Winds"), false, new ConfigDescription("Try to make Mercenary's Slicing Winds skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Disperse = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("REX", "DIRECTIVE: Disperse"), false, new ConfigDescription("Try to make REX's DIRECTIVE: Disperse skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		BrambleVolley = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("REX", "Bramble Volley"), false, new ConfigDescription("Try to make REX's Bramble Volley skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Tangling = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("REX", "Tangling Growth"), false, new ConfigDescription("Try to make REX's Tangling Growth skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Harvest = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("REX", "DIRECTIVE: Harvest"), false, new ConfigDescription("Try to make REX's DIRECTIVE: Harvest skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		NanoBomb = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Artificer", "Charged Nano-Bomb"), false, new ConfigDescription("Try to make Artificer's Charged Nano-Bomb skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		NanoSpear = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Artificer", "Cast Nano-Spear"), false, new ConfigDescription("Try to make Artificer's Cast Nano-Spear skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Flamethrower = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Artificer", "Flamethrower"), false, new ConfigDescription("Try to make Artificer's Flamethrower skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		CrocoBite = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Acrid", "Ravenous Bite"), false, new ConfigDescription("Try to make Acrid's Ravenous Bite skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		VulcanShotgun = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Captain", "Vulcan Shotgun"), false, new ConfigDescription("Try to make Captain's Vulcan Shotgun skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		PowerTazer = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Captain", "Power Tazer"), false, new ConfigDescription("Try to make Captain's Power Tazer skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Supercharge = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Railgunner", "Supercharge"), false, new ConfigDescription("Try to make Railgunner's Supercharge skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Supershot = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Railgunner", "Supercharged Railgun"), false, new ConfigDescription("Try to make Railgunner's Supercharged Railgun skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Cryocharge = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Railgunner", "Cryocharge"), false, new ConfigDescription("Try to make Railgunner's Cryocharge skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Cryoshot = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Railgunner", "Cryocharged Railgun"), false, new ConfigDescription("Try to make Railgunner's Cryocharged Railgun skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Flood = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void Fiend", "Flood"), false, new ConfigDescription("Try to make Void Fiend's Flood skill agile?", (AcceptableValueBase)null, Array.Empty<object>()));
		Other_CustomList = ((BaseUnityPlugin)this).Config.Bind<string>(new ConfigDefinition("Other", "Custom List"), "", new ConfigDescription("List of skills (by nameToken) to try and make agile. Highly suggest configuring this through a text editor or r2modman, as the config file contains a list of all nameTokens.", (AcceptableValueBase)null, Array.Empty<object>()));
		Other_ReferenceList = ((BaseUnityPlugin)this).Config.Bind<string>(new ConfigDefinition("Other", "NameToken Reference"), "", new ConfigDescription("Contains a list of all Skill Tokens in use for Custom List configuration. Rebuilt every time the game is launched.", (AcceptableValueBase)null, Array.Empty<object>()));
	}

	public void SetupOptions()
	{
		//IL_0027: Unknown result type (might be due to invalid IL or missing references)
		//IL_0031: Expected O, but got Unknown
		//IL_0049: Unknown result type (might be due to invalid IL or missing references)
		//IL_0053: Expected O, but got Unknown
		//IL_006b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0075: Expected O, but got Unknown
		//IL_008d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0097: Expected O, but got Unknown
		//IL_00af: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b9: Expected O, but got Unknown
		//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00db: Expected O, but got Unknown
		//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fd: Expected O, but got Unknown
		//IL_0115: Unknown result type (might be due to invalid IL or missing references)
		//IL_011f: Expected O, but got Unknown
		//IL_0137: Unknown result type (might be due to invalid IL or missing references)
		//IL_0141: Expected O, but got Unknown
		//IL_0159: Unknown result type (might be due to invalid IL or missing references)
		//IL_0163: Expected O, but got Unknown
		//IL_017b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0185: Expected O, but got Unknown
		//IL_019d: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a7: Expected O, but got Unknown
		//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c9: Expected O, but got Unknown
		//IL_01e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01eb: Expected O, but got Unknown
		//IL_0203: Unknown result type (might be due to invalid IL or missing references)
		//IL_020d: Expected O, but got Unknown
		//IL_0225: Unknown result type (might be due to invalid IL or missing references)
		//IL_022f: Expected O, but got Unknown
		//IL_0247: Unknown result type (might be due to invalid IL or missing references)
		//IL_0251: Expected O, but got Unknown
		//IL_0269: Unknown result type (might be due to invalid IL or missing references)
		//IL_0273: Expected O, but got Unknown
		//IL_028b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0295: Expected O, but got Unknown
		//IL_02ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b7: Expected O, but got Unknown
		//IL_02cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d9: Expected O, but got Unknown
		//IL_02f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fb: Expected O, but got Unknown
		//IL_0313: Unknown result type (might be due to invalid IL or missing references)
		//IL_031d: Expected O, but got Unknown
		//IL_0335: Unknown result type (might be due to invalid IL or missing references)
		//IL_033f: Expected O, but got Unknown
		//IL_0357: Unknown result type (might be due to invalid IL or missing references)
		//IL_0361: Expected O, but got Unknown
		//IL_0379: Unknown result type (might be due to invalid IL or missing references)
		//IL_0383: Expected O, but got Unknown
		//IL_039b: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a5: Expected O, but got Unknown
		//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c7: Expected O, but got Unknown
		//IL_03df: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e9: Expected O, but got Unknown
		//IL_0401: Unknown result type (might be due to invalid IL or missing references)
		//IL_040b: Expected O, but got Unknown
		//IL_0423: Unknown result type (might be due to invalid IL or missing references)
		//IL_042d: Expected O, but got Unknown
		//IL_0445: Unknown result type (might be due to invalid IL or missing references)
		//IL_044f: Expected O, but got Unknown
		//IL_0467: Unknown result type (might be due to invalid IL or missing references)
		//IL_0471: Expected O, but got Unknown
		ModSettingsManager.SetModDescription("Doktor, turn on my carpal tunnel inhibitors!");
		ModSettingsManager.AddOption((BaseOption)new StringInputFieldOption(((BaseUnityPlugin)this).Config.Bind<string>("Other", "Custom List", "", (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Commando", "Frag Grenade", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Huntress", "Laser Glaive", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Mul-T", "Power-Saw", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Engineer", "Bouncing Grenade", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Engineer", "Pressure Mine", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Engineer", "Spider Mine", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Engineer", "TR12 Gauss Auto-Turret", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Engineer", "TR58 Carbonizer Turret", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Loader", "Grapple Fist", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Loader", "Spiked Fist", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Loader", "Charged Gauntlet", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Loader", "Thunder Gauntlet", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Loader", "M551 Pylon", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Loader", "Thunderslam", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Mercenary", "Whirlwind", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Mercenary", "Rising Thunder", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Mercenary", "Slicing Winds", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("REX", "DIRECTIVE: Disperse", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("REX", "Bramble Volley", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("REX", "Tangling Growth", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("REX", "DIRECTIVE: Harvest", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Artificer", "Charged Nano-Bomb", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Artificer", "Cast Nano-Spear", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Artificer", "Flamethrower", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Acrid", "Ravenous Bite", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Captain", "Vulcan Shotgun", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Captain", "Power Tazer", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Railgunner", "Supercharge", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Railgunner", "Supercharged Railgun", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Railgunner", "Cryocharge", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Railgunner", "Cryocharged Railgun", true, (ConfigDescription)null)));
		ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(((BaseUnityPlugin)this).Config.Bind<bool>("Void Fiend", "Flood", true, (ConfigDescription)null)));
	}
}