Decompiled source of DoOrDieMonsters v1.2.0

Crawler.dll

Decompiled 4 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("Crawler")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Crawler")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("88bcfb2e-3bdc-4be5-a8d2-8048c647c77a")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.6.2", FrameworkDisplayName = ".NET Framework 4.6.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Crawler
{
	[BepInPlugin("Crawler", "Crawler", "0.0.7")]
	public class Crawler : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(ZNetScene), "Awake")]
		public static class ZNetScene_Awake_Patch
		{
			public static bool Prefix(ZNetScene __instance)
			{
				TryRegisterFabs(__instance);
				Debug.Log((object)"Loading the eggs");
				return true;
			}
		}

		public const string PluginId = "Crawler";

		private Harmony _harmony;

		private static GameObject Nasty;

		private AssetBundle nasty;

		private void Awake()
		{
			LoadAssets();
			_harmony = Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "Crawler");
		}

		public static void TryRegisterFabs(ZNetScene zNetScene)
		{
			if (!((Object)(object)zNetScene == (Object)null) && zNetScene.m_prefabs != null && zNetScene.m_prefabs.Count > 0)
			{
				zNetScene.m_prefabs.Add(Nasty);
			}
		}

		private static AssetBundle GetAssetBundleFromResources(string filename)
		{
			Assembly executingAssembly = Assembly.GetExecutingAssembly();
			string name = executingAssembly.GetManifestResourceNames().Single((string str) => str.EndsWith(filename));
			using Stream stream = executingAssembly.GetManifestResourceStream(name);
			return AssetBundle.LoadFromStream(stream);
		}

		private void LoadAssets()
		{
			nasty = GetAssetBundleFromResources("nasty");
			Debug.Log((object)"Loading Nasty Crawler");
			Nasty = nasty.LoadAsset<GameObject>("TheNasty");
			AssetBundle obj = nasty;
			if (obj != null)
			{
				obj.Unload(false);
			}
		}

		private void OnDestroy()
		{
			Harmony harmony = _harmony;
			if (harmony != null)
			{
				harmony.UnpatchSelf();
			}
		}
	}
}
namespace MonsterLoader
{
	[HarmonyPatch]
	public class Local
	{
		[HarmonyPatch(typeof(Localization), "SetupLanguage")]
		public static class MyLocalizationPatch
		{
			public static void Postfix(Localization __instance, string language)
			{
				init(language, __instance);
				UpdateDictinary();
			}
		}

		private static Localization lcl;

		public static Dictionary<string, string> t;

		private static Dictionary<string, string> english = new Dictionary<string, string> { { "enemy_nasty", "Nasty Crawler" } };

		public static void init(string lang, Localization l)
		{
			lcl = l;
			if (lang == "English")
			{
				t = english;
			}
		}

		public static void AddWord(object[] element)
		{
			MethodInfo methodInfo = AccessTools.Method(typeof(Localization), "AddWord", (Type[])null, (Type[])null);
			methodInfo.Invoke(lcl, element);
		}

		public static void UpdateDictinary()
		{
			string text = "Missing Words:";
			foreach (KeyValuePair<string, string> item in english)
			{
				if (t.ContainsKey(item.Key))
				{
					AddWord(new object[2]
					{
						item.Key,
						t[item.Key]
					});
				}
				else
				{
					AddWord(new object[2] { item.Key, item.Value });
					text += item.Key;
				}
			}
		}
	}
}

Golem.dll

Decompiled 4 months ago
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("Golem")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Golem")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("7b15f774-35f8-40bc-a001-50cc85eb46f6")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.6.2", FrameworkDisplayName = ".NET Framework 4.6.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace GolemLoader;

[BepInPlugin("Golem", "Golem", "0.0.7")]
public class GolemLoader : BaseUnityPlugin
{
	[HarmonyPatch(typeof(ZNetScene), "Awake")]
	public static class ZNetScene_Awake_Patch
	{
		public static bool Prefix(ZNetScene __instance)
		{
			TryRegisterFabs(__instance);
			Debug.Log((object)"Loading the eggs");
			return true;
		}
	}

	public const string PluginId = "Golem";

	private Harmony _harmony;

	private static GameObject Golem;

	private AssetBundle golem;

	private void Awake()
	{
		LoadAssets();
		_harmony = Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "Golem");
	}

	public static void TryRegisterFabs(ZNetScene zNetScene)
	{
		if (!((Object)(object)zNetScene == (Object)null) && zNetScene.m_prefabs != null && zNetScene.m_prefabs.Count > 0)
		{
			zNetScene.m_prefabs.Add(Golem);
		}
	}

	private static AssetBundle GetAssetBundleFromResources(string filename)
	{
		Assembly executingAssembly = Assembly.GetExecutingAssembly();
		string name = executingAssembly.GetManifestResourceNames().Single((string str) => str.EndsWith(filename));
		using Stream stream = executingAssembly.GetManifestResourceStream(name);
		return AssetBundle.LoadFromStream(stream);
	}

	private void LoadAssets()
	{
		golem = GetAssetBundleFromResources("golem");
		Debug.Log((object)"Loading Golem");
		Golem = golem.LoadAsset<GameObject>("Golem2");
		AssetBundle obj = golem;
		if (obj != null)
		{
			obj.Unload(false);
		}
	}

	private void OnDestroy()
	{
		Harmony harmony = _harmony;
		if (harmony != null)
		{
			harmony.UnpatchSelf();
		}
	}
}

MonsterLoader.dll

Decompiled 4 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("JotunnModStub")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("JotunnModStub")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("e3243d22-4307-4008-ba36-9f326008cde5")]
[assembly: AssemblyFileVersion("0.0.1.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.6.2", FrameworkDisplayName = ".NET Framework 4.6.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.1.0")]
namespace MonsterLoader;

[HarmonyPatch]
public class Local
{
	[HarmonyPatch(typeof(Localization), "SetupLanguage")]
	public static class MyLocalizationPatch
	{
		public static void Postfix(Localization __instance, string language)
		{
			init(language, __instance);
			UpdateDictinary();
		}
	}

	private static Localization lcl;

	public static Dictionary<string, string> t;

	private static Dictionary<string, string> english = new Dictionary<string, string>
	{
		{ "earth_troll", "Evil Earth Troll" },
		{ "crazy_troll", "Dark Goblin" }
	};

	public static void init(string lang, Localization l)
	{
		lcl = l;
		if (lang == "English")
		{
			t = english;
		}
	}

	public static void AddWord(object[] element)
	{
		MethodInfo methodInfo = AccessTools.Method(typeof(Localization), "AddWord", (Type[])null, (Type[])null);
		methodInfo.Invoke(lcl, element);
	}

	public static void UpdateDictinary()
	{
		string text = "Missing Words:";
		foreach (KeyValuePair<string, string> item in english)
		{
			if (t.ContainsKey(item.Key))
			{
				AddWord(new object[2]
				{
					item.Key,
					t[item.Key]
				});
			}
			else
			{
				AddWord(new object[2] { item.Key, item.Value });
				text += item.Key;
			}
		}
	}
}
[BepInPlugin("Monsterzz", "Monsterzz", "0.0.7")]
public class MonsterLoader : BaseUnityPlugin
{
	[HarmonyPatch(typeof(ZNetScene), "Awake")]
	public static class ZNetScene_Awake_Patch
	{
		public static bool Prefix(ZNetScene __instance)
		{
			TryRegisterFabs(__instance);
			Debug.Log((object)"Loading the eggs");
			return true;
		}
	}

	public const string PluginId = "Monsterzz";

	private Harmony _harmony;

	private static GameObject CrazyTroll;

	private static GameObject EarthTroll;

	private AssetBundle assetBundle;

	private void Awake()
	{
		LoadAssets();
		_harmony = Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "Monsterzz");
	}

	public static void TryRegisterFabs(ZNetScene zNetScene)
	{
		if (!((Object)(object)zNetScene == (Object)null) && zNetScene.m_prefabs != null && zNetScene.m_prefabs.Count > 0)
		{
			zNetScene.m_prefabs.Add(CrazyTroll);
			zNetScene.m_prefabs.Add(EarthTroll);
		}
	}

	private static AssetBundle GetAssetBundleFromResources(string filename)
	{
		Assembly executingAssembly = Assembly.GetExecutingAssembly();
		string name = executingAssembly.GetManifestResourceNames().Single((string str) => str.EndsWith(filename));
		using Stream stream = executingAssembly.GetManifestResourceStream(name);
		return AssetBundle.LoadFromStream(stream);
	}

	private void LoadAssets()
	{
		assetBundle = GetAssetBundleFromResources("earthtroll");
		CrazyTroll = assetBundle.LoadAsset<GameObject>("CrazyTroll");
		EarthTroll = assetBundle.LoadAsset<GameObject>("EarthTroll");
		AssetBundle obj = assetBundle;
		if (obj != null)
		{
			obj.Unload(false);
		}
	}

	private void OnDestroy()
	{
		Harmony harmony = _harmony;
		if (harmony != null)
		{
			harmony.UnpatchSelf();
		}
	}
}

Wizard.dll

Decompiled 4 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("Wizard")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Wizard")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("28b4f6e1-5aab-4bc4-b860-b143ffad96c9")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.6.2", FrameworkDisplayName = ".NET Framework 4.6.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace EvilWizard
{
	[BepInPlugin("Wizard", "Wizard", "0.0.7")]
	public class EvilWizard : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(ZNetScene), "Awake")]
		public static class ZNetScene_Awake_Patch
		{
			public static bool Prefix(ZNetScene __instance)
			{
				TryRegisterFabs(__instance);
				Debug.Log((object)"Loading the eggs");
				return true;
			}
		}

		public const string PluginId = "Wizard";

		private Harmony _harmony;

		private static GameObject Wizard;

		private AssetBundle wizard;

		private void Awake()
		{
			LoadAssets();
			_harmony = Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "Wizard");
		}

		public static void TryRegisterFabs(ZNetScene zNetScene)
		{
			if (!((Object)(object)zNetScene == (Object)null) && zNetScene.m_prefabs != null && zNetScene.m_prefabs.Count > 0)
			{
				zNetScene.m_prefabs.Add(Wizard);
			}
		}

		private static AssetBundle GetAssetBundleFromResources(string filename)
		{
			Assembly executingAssembly = Assembly.GetExecutingAssembly();
			string name = executingAssembly.GetManifestResourceNames().Single((string str) => str.EndsWith(filename));
			using Stream stream = executingAssembly.GetManifestResourceStream(name);
			return AssetBundle.LoadFromStream(stream);
		}

		private void LoadAssets()
		{
			wizard = GetAssetBundleFromResources("wizard");
			Debug.Log((object)"Loading Wizard");
			Wizard = wizard.LoadAsset<GameObject>("Wizard");
			AssetBundle obj = wizard;
			if (obj != null)
			{
				obj.Unload(false);
			}
		}

		private void OnDestroy()
		{
			Harmony harmony = _harmony;
			if (harmony != null)
			{
				harmony.UnpatchSelf();
			}
		}
	}
}
namespace MonsterLoader
{
	[HarmonyPatch]
	public class Local
	{
		[HarmonyPatch(typeof(Localization), "SetupLanguage")]
		public static class MyLocalizationPatch
		{
			public static void Postfix(Localization __instance, string language)
			{
				init(language, __instance);
				UpdateDictinary();
			}
		}

		private static Localization lcl;

		public static Dictionary<string, string> t;

		private static Dictionary<string, string> english = new Dictionary<string, string> { { "enemy_wizard", "Evil Wizard" } };

		public static void init(string lang, Localization l)
		{
			lcl = l;
			if (lang == "English")
			{
				t = english;
			}
		}

		public static void AddWord(object[] element)
		{
			MethodInfo methodInfo = AccessTools.Method(typeof(Localization), "AddWord", (Type[])null, (Type[])null);
			methodInfo.Invoke(lcl, element);
		}

		public static void UpdateDictinary()
		{
			string text = "Missing Words:";
			foreach (KeyValuePair<string, string> item in english)
			{
				if (t.ContainsKey(item.Key))
				{
					AddWord(new object[2]
					{
						item.Key,
						t[item.Key]
					});
				}
				else
				{
					AddWord(new object[2] { item.Key, item.Value });
					text += item.Key;
				}
			}
		}
	}
}

Lycanthrope.dll

Decompiled 4 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using Jotunn;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using SpawnThat.Spawners;
using SpawnThat.Spawners.WorldSpawner;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("Lycanthrope")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Lycanthrope")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("8d14aa1e-8ae3-415b-8b58-8bf9b9c8ebe6")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Lycanthrope;

[BepInPlugin("horemvore.Lycanthrope", "Lycanthrope", "1.0.7")]
[BepInIncompatibility("Azumatt.AzuDevMod")]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
internal class LycanthropeBundle : BaseUnityPlugin
{
	public const string PluginGUID = "horemvore.Lycanthrope";

	public const string PluginName = "Lycanthrope";

	public const string PluginVersion = "1.0.7";

	public AssetBundle LycanAssets;

	private CustomLocalization LocalLM;

	internal static ManualLogSource Log;

	public ConfigEntry<bool> EnableMod;

	public ConfigEntry<bool> EnableDebugging;

	public ConfigEntry<bool> EnableWendigo;

	public ConfigEntry<bool> EnableWerebear;

	public ConfigEntry<bool> EnableYeti;

	public ConfigEntry<bool> EnableWerewolves;

	public ConfigEntry<bool> EnableLocations;

	public ConfigEntry<bool> EnableWorldSpawns;

	private void Awake()
	{
		Log = ((BaseUnityPlugin)this).Logger;
		CreateConfigurations();
		if (EnableMod.Value)
		{
			AddLocalization();
			LoadBundle();
			AddUniversalPrefabs();
			AddStatusEffects();
			if (EnableWendigo.Value)
			{
				AddWendigoPrefabs();
				AddWendigoMonsters();
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Wendigos disabled");
			}
			if (EnableWerebear.Value)
			{
				AddWerebearPrefabs();
				AddWerebearMonsters();
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Wendigos disabled");
			}
			if (EnableYeti.Value)
			{
				AddYetiPrefabs();
				AddYetiMonsters();
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Yeti disabled");
			}
			if (EnableWerewolves.Value)
			{
				AddWerewolvesPrefabs();
				AddWerewolvesMonsters();
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werewolves disabled");
			}
			if (EnableLocations.Value)
			{
				ZoneManager.OnVanillaLocationsAvailable += AddLocations;
			}
			if (EnableWorldSpawns.Value)
			{
				SpawnerConfigurationManager.OnConfigure += ConfigureBiomeSpawners;
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Default spawns disabled");
			}
			PrefabManager.OnVanillaPrefabsAvailable += FixSFX;
			PrefabManager.OnVanillaPrefabsAvailable += FixMusic;
			if (!EnableLocations.Value)
			{
				UnloadBundle();
			}
		}
		else
		{
			((BaseUnityPlugin)this).Logger.LogMessage((object)"Mod is disabled");
		}
	}

	public void CreateConfigurations()
	{
		//IL_002f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0034: Unknown result type (might be due to invalid IL or missing references)
		//IL_003d: Expected O, but got Unknown
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0047: Expected O, but got Unknown
		//IL_006c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Expected O, but got Unknown
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Expected O, but got Unknown
		//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: Expected O, but got Unknown
		//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c1: Expected O, but got Unknown
		//IL_00e6: 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_00f4: Expected O, but got Unknown
		//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fe: Expected O, but got Unknown
		//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_0131: Expected O, but got Unknown
		//IL_0131: Unknown result type (might be due to invalid IL or missing references)
		//IL_013b: Expected O, but got Unknown
		//IL_0160: Unknown result type (might be due to invalid IL or missing references)
		//IL_0165: Unknown result type (might be due to invalid IL or missing references)
		//IL_016e: Expected O, but got Unknown
		//IL_016e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0178: Expected O, but got Unknown
		//IL_019d: 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_01ab: Expected O, but got Unknown
		//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b5: Expected O, but got Unknown
		//IL_01da: 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_01e8: Expected O, but got Unknown
		//IL_01e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f2: Expected O, but got Unknown
		try
		{
			((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
			EnableMod = ((BaseUnityPlugin)this).Config.Bind<bool>("Lycanthrope", "Enable", true, new ConfigDescription("Enables or Disables this mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			EnableDebugging = ((BaseUnityPlugin)this).Config.Bind<bool>("Lycanthrope", "Print Prefab Names", false, new ConfigDescription("Set to true to get a list of all prefab names", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			EnableWendigo = ((BaseUnityPlugin)this).Config.Bind<bool>("Lycanthrope", "Enable Wendigos", true, new ConfigDescription("Set to true to enable these creatures", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			EnableWerebear = ((BaseUnityPlugin)this).Config.Bind<bool>("Lycanthrope", "Enable Werebears", true, new ConfigDescription("Set to true to enable these creatures", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			EnableYeti = ((BaseUnityPlugin)this).Config.Bind<bool>("Lycanthrope", "Enable Yeti", true, new ConfigDescription("Set to true to enable this creature", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			EnableWerewolves = ((BaseUnityPlugin)this).Config.Bind<bool>("Lycanthrope", "Enable Werewolves", true, new ConfigDescription("Set to true to enable these creatures", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			EnableLocations = ((BaseUnityPlugin)this).Config.Bind<bool>("Lycanthrope", "Enable Locations", false, new ConfigDescription("The one current location is a WIP. Enables locations to generate on a New World. For existing worlds running the devcommand, genloc, is required.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			EnableWorldSpawns = ((BaseUnityPlugin)this).Config.Bind<bool>("Lycanthrope", "Enable World Spawns", true, new ConfigDescription("Set to false if you want to setup your own world spawners.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr)
			{
				if (attr.InitialSynchronization)
				{
					Logger.LogMessage((object)"Initial Config sync event received for Lycanthrope");
				}
				else
				{
					Logger.LogMessage((object)"Config sync event received for Lycanthrope");
				}
			};
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding configuration values: {arg}");
		}
	}

	public void AddLocalization()
	{
		try
		{
			LocalLM = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localLM = LocalLM;
			string text = "English";
			localLM.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "effect_lycanthrope_lm", "Curse of Lycanthropy" },
				{ "effect_lycanthrope_tooltip_lm", "You have been infected by a Lycan and are no longer immune to Spirit damage" },
				{ "effect_lycanthrope_end_lm", "Curse of Lycanthropy has faded" },
				{ "effect_stench_lm", "Stench" },
				{ "effect_stench_tooltip_lm", "You feel nauseous" },
				{ "effect_stench_end_lm", "Stench has faded" },
				{ "effect_yetichill_lm", "Shivering" },
				{ "effect_yetichill_tooltip_lm", "You have uncontrollable shivers" },
				{ "effect_yetichill_end_lm", "Shivering has faded" },
				{ "prop_spawner_direwerewolf_lm", "Cursed Pedestal" },
				{ "enemy_werewolf_lm", "Werewolf" },
				{ "enemy_werewolfgray_lm", "Werewolf" },
				{ "enemy_werewolfred_lm", "Werewolf" },
				{ "enemy_werewolfwhite_lm", "Dire Werewolf" },
				{ "enemy_werewolfarmoured_lm", "Alpha Werewolf" },
				{ "enemy_werewolfgrayarmoured_lm", "Alpha Werewolf" },
				{ "enemy_werewolfredarmoured_lm", "Alpha Werewolf" },
				{ "enemy_werewolfwhitearmoured_lm", "Primal Werewolf" },
				{ "enemy_yeti_lm", "Yeti" },
				{ "enemy_wendigo_lm", "Wendigo" },
				{ "enemy_wendigoswamp_lm", "Legendary Wendigo" },
				{ "enemy_werebeargray_lm", "Werebear" },
				{ "enemy_werebearred_lm", "Werebear" },
				{ "enemy_werebear_lm", "Werebear" }
			});
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Localication: {arg}");
		}
	}

	private void LoadBundle()
	{
		try
		{
			LycanAssets = AssetUtils.LoadAssetBundleFromResources("lycanthrope", Assembly.GetExecutingAssembly());
			if (EnableDebugging.Value)
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Lycanthrope bundle loaded");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while loading bundles: {arg}");
		}
	}

	private void AddUniversalPrefabs()
	{
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Expected O, but got Unknown
		//IL_008c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0093: Expected O, but got Unknown
		try
		{
			GameObject val = LycanAssets.LoadAsset<GameObject>("VFX_Spawn_Small_LM");
			if (Object.op_Implicit((Object)(object)val))
			{
				CustomPrefab val2 = new CustomPrefab(val, true);
				PrefabManager.Instance.AddPrefab(val2);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"VFX_Spawn_Small_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Universal VFX prefabs not found");
			}
			GameObject val3 = LycanAssets.LoadAsset<GameObject>("Music_WereCastle_LM");
			if (Object.op_Implicit((Object)(object)val3))
			{
				CustomPrefab val4 = new CustomPrefab(val3, true);
				PrefabManager.Instance.AddPrefab(val4);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Music_WereCastle_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Universal Music prefabs not found");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while universal prefabs: {arg}");
		}
	}

	private void AddWendigoPrefabs()
	{
		//IL_0025: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Expected O, but got Unknown
		//IL_0072: Unknown result type (might be due to invalid IL or missing references)
		//IL_0079: Expected O, but got Unknown
		//IL_01c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ce: Expected O, but got Unknown
		//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c6: Expected O, but got Unknown
		//IL_010c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0113: Expected O, but got Unknown
		//IL_0238: Unknown result type (might be due to invalid IL or missing references)
		//IL_023f: Expected O, but got Unknown
		//IL_0159: Unknown result type (might be due to invalid IL or missing references)
		//IL_0160: Expected O, but got Unknown
		//IL_0285: Unknown result type (might be due to invalid IL or missing references)
		//IL_028c: Expected O, but got Unknown
		//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fd: Expected O, but got Unknown
		//IL_0343: Unknown result type (might be due to invalid IL or missing references)
		//IL_034a: Expected O, but got Unknown
		//IL_0390: Unknown result type (might be due to invalid IL or missing references)
		//IL_0397: Expected O, but got Unknown
		//IL_03dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e4: Expected O, but got Unknown
		//IL_042a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0431: Expected O, but got Unknown
		//IL_0477: Unknown result type (might be due to invalid IL or missing references)
		//IL_047e: Expected O, but got Unknown
		//IL_04c4: Unknown result type (might be due to invalid IL or missing references)
		//IL_04cb: Expected O, but got Unknown
		try
		{
			GameObject val = LycanAssets.LoadAsset<GameObject>("Attack_WendigoRight_LM");
			if (Object.op_Implicit((Object)(object)val))
			{
				CustomItem val2 = new CustomItem(val, true);
				ItemManager.Instance.AddItem(val2);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WendigoRight_LM");
				}
				GameObject val3 = LycanAssets.LoadAsset<GameObject>("Attack_WendigoLeft_LM");
				CustomItem val4 = new CustomItem(val3, true);
				ItemManager.Instance.AddItem(val4);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WendigoLeft_LM");
				}
				GameObject val5 = LycanAssets.LoadAsset<GameObject>("Attack_WendigoSwampLeft_LM");
				CustomItem val6 = new CustomItem(val5, true);
				ItemManager.Instance.AddItem(val6);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WendigoSwampLeft_LM");
				}
				GameObject val7 = LycanAssets.LoadAsset<GameObject>("Attack_WendigoSwampRight_LM");
				CustomItem val8 = new CustomItem(val7, true);
				ItemManager.Instance.AddItem(val8);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WendigoSwampRight_LM");
				}
				GameObject val9 = LycanAssets.LoadAsset<GameObject>("Attack_WendigoStench_LM");
				CustomItem val10 = new CustomItem(val9, true);
				ItemManager.Instance.AddItem(val10);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WendigoStench_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Wendigo attack prefabs not found");
			}
			GameObject val11 = LycanAssets.LoadAsset<GameObject>("AoE_WendigoStench_LM");
			if (Object.op_Implicit((Object)(object)val11))
			{
				CustomPrefab val12 = new CustomPrefab(val11, true);
				PrefabManager.Instance.AddPrefab(val12);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"AoE_WendigoStench_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Yeti ragdoll prefabs not found");
			}
			GameObject val13 = LycanAssets.LoadAsset<GameObject>("Ragdoll_Wendigo_LM");
			if (Object.op_Implicit((Object)(object)val13))
			{
				CustomPrefab val14 = new CustomPrefab(val13, true);
				PrefabManager.Instance.AddPrefab(val14);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_Wendigo_LM");
				}
				GameObject val15 = LycanAssets.LoadAsset<GameObject>("Ragdoll_WendigoSwamp_LM");
				CustomPrefab val16 = new CustomPrefab(val15, true);
				PrefabManager.Instance.AddPrefab(val16);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_WendigoSwamp_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Wendigo ragdoll prefabs not found");
			}
			GameObject val17 = LycanAssets.LoadAsset<GameObject>("SFX_WendigoAlert_LM");
			if (Object.op_Implicit((Object)(object)val17))
			{
				CustomPrefab val18 = new CustomPrefab(val17, false);
				PrefabManager.Instance.AddPrefab(val18);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WendigoAlert_LM");
				}
				GameObject val19 = LycanAssets.LoadAsset<GameObject>("SFX_WendigoIdle_LM");
				CustomPrefab val20 = new CustomPrefab(val19, false);
				PrefabManager.Instance.AddPrefab(val20);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WendigoIdle_LM");
				}
				GameObject val21 = LycanAssets.LoadAsset<GameObject>("SFX_WendigoDeath_LM");
				CustomPrefab val22 = new CustomPrefab(val21, false);
				PrefabManager.Instance.AddPrefab(val22);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WendigoDeath_LM");
				}
				GameObject val23 = LycanAssets.LoadAsset<GameObject>("SFX_WendigoHit_LM");
				CustomPrefab val24 = new CustomPrefab(val23, false);
				PrefabManager.Instance.AddPrefab(val24);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WendigoHit_LM");
				}
				GameObject val25 = LycanAssets.LoadAsset<GameObject>("SFX_WendigoAttack_LM");
				CustomPrefab val26 = new CustomPrefab(val25, false);
				PrefabManager.Instance.AddPrefab(val26);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WendigoAttack_LM");
				}
				GameObject val27 = LycanAssets.LoadAsset<GameObject>("SFX_WendigoAttackHit_LM");
				CustomPrefab val28 = new CustomPrefab(val27, false);
				PrefabManager.Instance.AddPrefab(val28);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WendigoAttackHit_LM");
				}
				GameObject val29 = LycanAssets.LoadAsset<GameObject>("SFX_WendigoSwing_LM");
				CustomPrefab val30 = new CustomPrefab(val29, false);
				PrefabManager.Instance.AddPrefab(val30);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WendigoSwing_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Wendigo SFX prefabs not found");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Wendigo prefabs: {arg}");
		}
	}

	private void AddWerebearPrefabs()
	{
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_002a: Expected O, but got Unknown
		//IL_0070: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Expected O, but got Unknown
		//IL_0262: Unknown result type (might be due to invalid IL or missing references)
		//IL_0269: Expected O, but got Unknown
		//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c4: Expected O, but got Unknown
		//IL_02af: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b6: Expected O, but got Unknown
		//IL_010a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0111: Expected O, but got Unknown
		//IL_036d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0374: Expected O, but got Unknown
		//IL_02fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0303: Expected O, but got Unknown
		//IL_0157: Unknown result type (might be due to invalid IL or missing references)
		//IL_015e: Expected O, but got Unknown
		//IL_03ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c1: Expected O, but got Unknown
		//IL_01a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ab: Expected O, but got Unknown
		//IL_0407: Unknown result type (might be due to invalid IL or missing references)
		//IL_040e: Expected O, but got Unknown
		//IL_01f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f8: Expected O, but got Unknown
		//IL_0454: Unknown result type (might be due to invalid IL or missing references)
		//IL_045b: Expected O, but got Unknown
		//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a8: Expected O, but got Unknown
		//IL_04ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f5: Expected O, but got Unknown
		//IL_053b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0542: Expected O, but got Unknown
		try
		{
			GameObject val = LycanAssets.LoadAsset<GameObject>("Attack_WerebearLeftDouble_LM");
			if (Object.op_Implicit((Object)(object)val))
			{
				CustomItem val2 = new CustomItem(val, true);
				ItemManager.Instance.AddItem(val2);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerebearLeftDouble_LM");
				}
				GameObject val3 = LycanAssets.LoadAsset<GameObject>("Attack_WerebearRight_LM");
				CustomItem val4 = new CustomItem(val3, true);
				ItemManager.Instance.AddItem(val4);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerebearRight_LM");
				}
				GameObject val5 = LycanAssets.LoadAsset<GameObject>("Attack_WerebearLycanCurse_LM");
				CustomItem val6 = new CustomItem(val5, true);
				ItemManager.Instance.AddItem(val6);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerebearLycanCurse_LM");
				}
				GameObject val7 = LycanAssets.LoadAsset<GameObject>("Attack_WerebearGrayLeftDouble_LM");
				CustomItem val8 = new CustomItem(val7, true);
				ItemManager.Instance.AddItem(val8);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerebearGrayLeftDouble_LM");
				}
				GameObject val9 = LycanAssets.LoadAsset<GameObject>("Attack_WerebearGrayRight_LM");
				CustomItem val10 = new CustomItem(val9, true);
				ItemManager.Instance.AddItem(val10);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerebearGrayRight_LM");
				}
				GameObject val11 = LycanAssets.LoadAsset<GameObject>("Attack_WerebearRedLeftDouble_LM");
				CustomItem val12 = new CustomItem(val11, true);
				ItemManager.Instance.AddItem(val12);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerebearLeftRedDouble_LM");
				}
				GameObject val13 = LycanAssets.LoadAsset<GameObject>("Attack_WerebearRedRight_LM");
				CustomItem val14 = new CustomItem(val13, true);
				ItemManager.Instance.AddItem(val14);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerebearRedRight_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werebear attack prefabs not found");
			}
			GameObject val15 = LycanAssets.LoadAsset<GameObject>("Ragdoll_Werebear_LM");
			if (Object.op_Implicit((Object)(object)val15))
			{
				CustomPrefab val16 = new CustomPrefab(val15, true);
				PrefabManager.Instance.AddPrefab(val16);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_Werebear_LM");
				}
				GameObject val17 = LycanAssets.LoadAsset<GameObject>("Ragdoll_WerebearGray_LM");
				CustomPrefab val18 = new CustomPrefab(val17, true);
				PrefabManager.Instance.AddPrefab(val18);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_WerebearGray_LM");
				}
				GameObject val19 = LycanAssets.LoadAsset<GameObject>("Ragdoll_WerebearRed_LM");
				CustomPrefab val20 = new CustomPrefab(val19, true);
				PrefabManager.Instance.AddPrefab(val20);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_WerebearRed_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werebear ragdoll prefabs not found");
			}
			GameObject val21 = LycanAssets.LoadAsset<GameObject>("SFX_WerebearAlert_LM");
			if (Object.op_Implicit((Object)(object)val21))
			{
				CustomPrefab val22 = new CustomPrefab(val21, false);
				PrefabManager.Instance.AddPrefab(val22);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerebearAlert_LM");
				}
				GameObject val23 = LycanAssets.LoadAsset<GameObject>("SFX_WerebearAttack_LM");
				CustomPrefab val24 = new CustomPrefab(val23, false);
				PrefabManager.Instance.AddPrefab(val24);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerebearAttack_LM");
				}
				GameObject val25 = LycanAssets.LoadAsset<GameObject>("SFX_WerebearAttackHit_LM");
				CustomPrefab val26 = new CustomPrefab(val25, false);
				PrefabManager.Instance.AddPrefab(val26);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerebearAttackHit_LM");
				}
				GameObject val27 = LycanAssets.LoadAsset<GameObject>("SFX_WerebearDeath_LM");
				CustomPrefab val28 = new CustomPrefab(val27, false);
				PrefabManager.Instance.AddPrefab(val28);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerebearDeath_LM");
				}
				GameObject val29 = LycanAssets.LoadAsset<GameObject>("SFX_WerebearHit_LM");
				CustomPrefab val30 = new CustomPrefab(val29, false);
				PrefabManager.Instance.AddPrefab(val30);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerebearHit_LM");
				}
				GameObject val31 = LycanAssets.LoadAsset<GameObject>("SFX_WerebearIdle_LM");
				CustomPrefab val32 = new CustomPrefab(val31, false);
				PrefabManager.Instance.AddPrefab(val32);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerebearIdle_LM");
				}
				GameObject val33 = LycanAssets.LoadAsset<GameObject>("SFX_WerebearSwing_LM");
				CustomPrefab val34 = new CustomPrefab(val33, false);
				PrefabManager.Instance.AddPrefab(val34);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerebearSwing_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werebear SFX prefabs not found");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Werebear prefabs: {arg}");
		}
	}

	private void AddYetiPrefabs()
	{
		//IL_0025: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Expected O, but got Unknown
		//IL_0072: Unknown result type (might be due to invalid IL or missing references)
		//IL_0079: Expected O, but got Unknown
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ea: Expected O, but got Unknown
		//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01dd: Expected O, but got Unknown
		//IL_0130: Unknown result type (might be due to invalid IL or missing references)
		//IL_0137: Expected O, but got Unknown
		//IL_017d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0184: Expected O, but got Unknown
		//IL_0244: Unknown result type (might be due to invalid IL or missing references)
		//IL_024b: Expected O, but got Unknown
		//IL_02b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bf: Expected O, but got Unknown
		//IL_0305: Unknown result type (might be due to invalid IL or missing references)
		//IL_030c: Expected O, but got Unknown
		//IL_0352: Unknown result type (might be due to invalid IL or missing references)
		//IL_0359: Expected O, but got Unknown
		//IL_039f: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a6: Expected O, but got Unknown
		//IL_03ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f3: Expected O, but got Unknown
		//IL_0439: Unknown result type (might be due to invalid IL or missing references)
		//IL_0440: Expected O, but got Unknown
		//IL_0486: Unknown result type (might be due to invalid IL or missing references)
		//IL_048d: Expected O, but got Unknown
		try
		{
			GameObject val = LycanAssets.LoadAsset<GameObject>("Spawner_Yeti_LM");
			if (Object.op_Implicit((Object)(object)val))
			{
				CustomPrefab val2 = new CustomPrefab(val, true);
				PrefabManager.Instance.AddPrefab(val2);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_Yeti_LM");
				}
				GameObject val3 = LycanAssets.LoadAsset<GameObject>("Spawner_Area_Yeti_LM");
				CustomPrefab val4 = new CustomPrefab(val3, true);
				PrefabManager.Instance.AddPrefab(val4);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_Area_Yeti_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werewolf spawner prefabs not found");
			}
			GameObject val5 = LycanAssets.LoadAsset<GameObject>("Attack_YetiRight_LM");
			if (Object.op_Implicit((Object)(object)val5))
			{
				CustomItem val6 = new CustomItem(val5, true);
				ItemManager.Instance.AddItem(val6);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_YetiRight_LM");
				}
				GameObject val7 = LycanAssets.LoadAsset<GameObject>("Attack_YetiLeft_LM");
				CustomItem val8 = new CustomItem(val7, true);
				ItemManager.Instance.AddItem(val8);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_YetiLeft_LM");
				}
				GameObject val9 = LycanAssets.LoadAsset<GameObject>("Attack_YetiIcyCloud_LM");
				CustomItem val10 = new CustomItem(val9, true);
				ItemManager.Instance.AddItem(val10);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_YetiIcyCloud_LM");
				}
			}
			GameObject val11 = LycanAssets.LoadAsset<GameObject>("AoE_YetiIceCloud_LM");
			if (Object.op_Implicit((Object)(object)val11))
			{
				CustomPrefab val12 = new CustomPrefab(val11, true);
				PrefabManager.Instance.AddPrefab(val12);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"AoE_YetiIceCloud_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Yeti ragdoll prefabs not found");
			}
			GameObject val13 = LycanAssets.LoadAsset<GameObject>("Ragdoll_Yeti_LM");
			if (Object.op_Implicit((Object)(object)val13))
			{
				CustomPrefab val14 = new CustomPrefab(val13, true);
				PrefabManager.Instance.AddPrefab(val14);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_Yeti_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Yeti ragdoll prefabs not found");
			}
			GameObject val15 = LycanAssets.LoadAsset<GameObject>("SFX_YetiAlert_LM");
			if (Object.op_Implicit((Object)(object)val15))
			{
				CustomPrefab val16 = new CustomPrefab(val15, false);
				PrefabManager.Instance.AddPrefab(val16);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_YetiAlert_LM");
				}
				GameObject val17 = LycanAssets.LoadAsset<GameObject>("SFX_YetiAttack_LM");
				CustomPrefab val18 = new CustomPrefab(val17, false);
				PrefabManager.Instance.AddPrefab(val18);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_YetiAttack_LM");
				}
				GameObject val19 = LycanAssets.LoadAsset<GameObject>("SFX_YetiAttackHit_LM");
				CustomPrefab val20 = new CustomPrefab(val19, false);
				PrefabManager.Instance.AddPrefab(val20);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_YetiAttackHit_LM");
				}
				GameObject val21 = LycanAssets.LoadAsset<GameObject>("SFX_YetiDeath_LM");
				CustomPrefab val22 = new CustomPrefab(val21, false);
				PrefabManager.Instance.AddPrefab(val22);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_YetiDeath_LM");
				}
				GameObject val23 = LycanAssets.LoadAsset<GameObject>("SFX_YetiHit_LM");
				CustomPrefab val24 = new CustomPrefab(val23, false);
				PrefabManager.Instance.AddPrefab(val24);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_YetiHit_LM");
				}
				GameObject val25 = LycanAssets.LoadAsset<GameObject>("SFX_YetiIdle_LM");
				CustomPrefab val26 = new CustomPrefab(val25, false);
				PrefabManager.Instance.AddPrefab(val26);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_YetiIdle_LM");
				}
				GameObject val27 = LycanAssets.LoadAsset<GameObject>("SFX_YetiSwing_LM");
				CustomPrefab val28 = new CustomPrefab(val27, false);
				PrefabManager.Instance.AddPrefab(val28);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_YetiSwing_LM");
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Yeti prefabs: {arg}");
		}
	}

	private void AddWerewolvesPrefabs()
	{
		//IL_0025: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Expected O, but got Unknown
		//IL_0072: Unknown result type (might be due to invalid IL or missing references)
		//IL_0079: Expected O, but got Unknown
		//IL_03e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ec: Expected O, but got Unknown
		//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c6: Expected O, but got Unknown
		//IL_0432: Unknown result type (might be due to invalid IL or missing references)
		//IL_0439: Expected O, but got Unknown
		//IL_010c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0113: Expected O, but got Unknown
		//IL_07a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_07ac: Expected O, but got Unknown
		//IL_047f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0486: Expected O, but got Unknown
		//IL_0159: Unknown result type (might be due to invalid IL or missing references)
		//IL_0160: Expected O, but got Unknown
		//IL_07f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_07f9: Expected O, but got Unknown
		//IL_04cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d3: Expected O, but got Unknown
		//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ad: Expected O, but got Unknown
		//IL_0a2e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a35: Expected O, but got Unknown
		//IL_083f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0846: Expected O, but got Unknown
		//IL_0519: Unknown result type (might be due to invalid IL or missing references)
		//IL_0520: Expected O, but got Unknown
		//IL_01f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fa: Expected O, but got Unknown
		//IL_088c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0893: Expected O, but got Unknown
		//IL_0566: Unknown result type (might be due to invalid IL or missing references)
		//IL_056d: Expected O, but got Unknown
		//IL_0240: Unknown result type (might be due to invalid IL or missing references)
		//IL_0247: Expected O, but got Unknown
		//IL_0aa2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aa9: Expected O, but got Unknown
		//IL_08d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_08e0: Expected O, but got Unknown
		//IL_05b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ba: Expected O, but got Unknown
		//IL_028d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0294: Expected O, but got Unknown
		//IL_0aef: Unknown result type (might be due to invalid IL or missing references)
		//IL_0af6: Expected O, but got Unknown
		//IL_0926: Unknown result type (might be due to invalid IL or missing references)
		//IL_092d: Expected O, but got Unknown
		//IL_0600: Unknown result type (might be due to invalid IL or missing references)
		//IL_0607: Expected O, but got Unknown
		//IL_02da: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e1: Expected O, but got Unknown
		//IL_0b3c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b43: Expected O, but got Unknown
		//IL_0973: Unknown result type (might be due to invalid IL or missing references)
		//IL_097a: Expected O, but got Unknown
		//IL_064d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0654: Expected O, but got Unknown
		//IL_0327: Unknown result type (might be due to invalid IL or missing references)
		//IL_032e: Expected O, but got Unknown
		//IL_0b89: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b90: Expected O, but got Unknown
		//IL_09c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_09c7: Expected O, but got Unknown
		//IL_069a: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a1: Expected O, but got Unknown
		//IL_0374: Unknown result type (might be due to invalid IL or missing references)
		//IL_037b: Expected O, but got Unknown
		//IL_0bd6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bdd: Expected O, but got Unknown
		//IL_06e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ee: Expected O, but got Unknown
		//IL_0c23: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c2a: Expected O, but got Unknown
		//IL_0734: Unknown result type (might be due to invalid IL or missing references)
		//IL_073b: Expected O, but got Unknown
		//IL_0c70: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c77: Expected O, but got Unknown
		try
		{
			GameObject val = LycanAssets.LoadAsset<GameObject>("Spawner_AlphaDireWerewolf_LM");
			if (Object.op_Implicit((Object)(object)val))
			{
				CustomPrefab val2 = new CustomPrefab(val, true);
				PrefabManager.Instance.AddPrefab(val2);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_AlphaDireWerewolf_LM");
				}
				GameObject val3 = LycanAssets.LoadAsset<GameObject>("Spawner_AlphaRedWerewolf_LM");
				CustomPrefab val4 = new CustomPrefab(val3, true);
				PrefabManager.Instance.AddPrefab(val4);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_AlphaRedWerewolf_LM");
				}
				GameObject val5 = LycanAssets.LoadAsset<GameObject>("Spawner_AlphaWerewolf_LM");
				CustomPrefab val6 = new CustomPrefab(val5, true);
				PrefabManager.Instance.AddPrefab(val6);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_AlphaWerewolf_LM");
				}
				GameObject val7 = LycanAssets.LoadAsset<GameObject>("Spawner_Area_DireWerewolf_LM");
				CustomPrefab val8 = new CustomPrefab(val7, true);
				PrefabManager.Instance.AddPrefab(val8);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_Area_DireWerewolf_LM");
				}
				GameObject val9 = LycanAssets.LoadAsset<GameObject>("Spawner_Area_GrayWerewolf_LM");
				CustomPrefab val10 = new CustomPrefab(val9, true);
				PrefabManager.Instance.AddPrefab(val10);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_Area_GrayWerewolf_LM");
				}
				GameObject val11 = LycanAssets.LoadAsset<GameObject>("Spawner_Area_RedWerewolf_LM");
				CustomPrefab val12 = new CustomPrefab(val11, true);
				PrefabManager.Instance.AddPrefab(val12);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_Area_RedWerewolf_LM");
				}
				GameObject val13 = LycanAssets.LoadAsset<GameObject>("Spawner_Area_Werewolf_LM");
				CustomPrefab val14 = new CustomPrefab(val13, true);
				PrefabManager.Instance.AddPrefab(val14);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_Area_Werewolf_LM");
				}
				GameObject val15 = LycanAssets.LoadAsset<GameObject>("Spawner_DireWerewolf_LM");
				CustomPrefab val16 = new CustomPrefab(val15, true);
				PrefabManager.Instance.AddPrefab(val16);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_DireWerewolf_LM");
				}
				GameObject val17 = LycanAssets.LoadAsset<GameObject>("Spawner_GrayAlphaWerewolf_LM");
				CustomPrefab val18 = new CustomPrefab(val17, true);
				PrefabManager.Instance.AddPrefab(val18);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_GrayAlphaWerewolf_LM");
				}
				GameObject val19 = LycanAssets.LoadAsset<GameObject>("Spawner_GrayWerewolf_LM");
				CustomPrefab val20 = new CustomPrefab(val19, true);
				PrefabManager.Instance.AddPrefab(val20);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_GrayWerewolf_LM");
				}
				GameObject val21 = LycanAssets.LoadAsset<GameObject>("Spawner_RedWerewolf_LM");
				CustomPrefab val22 = new CustomPrefab(val21, true);
				PrefabManager.Instance.AddPrefab(val22);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_RedWerewolf_LM");
				}
				GameObject val23 = LycanAssets.LoadAsset<GameObject>("Spawner_Werewolf_LM");
				CustomPrefab val24 = new CustomPrefab(val23, true);
				PrefabManager.Instance.AddPrefab(val24);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Spawner_Werewolf_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werewolf spawner prefabs not found");
			}
			GameObject val25 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfGrayRight_LM");
			if (Object.op_Implicit((Object)(object)val25))
			{
				CustomItem val26 = new CustomItem(val25, true);
				ItemManager.Instance.AddItem(val26);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfGrayRight_LM");
				}
				GameObject val27 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfGrayLeft_LM");
				CustomItem val28 = new CustomItem(val27, true);
				ItemManager.Instance.AddItem(val28);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfGrayLeft_LM");
				}
				GameObject val29 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfGraySmash_LM");
				CustomItem val30 = new CustomItem(val29, true);
				ItemManager.Instance.AddItem(val30);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfGraySmash_LM");
				}
				GameObject val31 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfRight_LM");
				CustomItem val32 = new CustomItem(val31, true);
				ItemManager.Instance.AddItem(val32);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfRight_LM");
				}
				GameObject val33 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfLeft_LM");
				CustomItem val34 = new CustomItem(val33, true);
				ItemManager.Instance.AddItem(val34);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfLeft_LM");
				}
				GameObject val35 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfSmash_LM");
				CustomItem val36 = new CustomItem(val35, true);
				ItemManager.Instance.AddItem(val36);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfSmash_LM");
				}
				GameObject val37 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfRedRight_LM");
				CustomItem val38 = new CustomItem(val37, true);
				ItemManager.Instance.AddItem(val38);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfRedRight_LM");
				}
				GameObject val39 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfRedLeft_LM");
				CustomItem val40 = new CustomItem(val39, true);
				ItemManager.Instance.AddItem(val40);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfRedLeft_LM");
				}
				GameObject val41 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfRedSmash_LM");
				CustomItem val42 = new CustomItem(val41, true);
				ItemManager.Instance.AddItem(val42);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfRedSmash_LM");
				}
				GameObject val43 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfWhiteRight_LM");
				CustomItem val44 = new CustomItem(val43, true);
				ItemManager.Instance.AddItem(val44);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfWhiteRight_LM");
				}
				GameObject val45 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfWhiteLeft_LM");
				CustomItem val46 = new CustomItem(val45, true);
				ItemManager.Instance.AddItem(val46);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfWhiteLeft_LM");
				}
				GameObject val47 = LycanAssets.LoadAsset<GameObject>("Attack_WerewolfWhiteSmash_LM");
				CustomItem val48 = new CustomItem(val47, true);
				ItemManager.Instance.AddItem(val48);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Attack_WerewolfWhiteSmash_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werewolf attacks prefabs not found");
			}
			GameObject val49 = LycanAssets.LoadAsset<GameObject>("Ragdoll_WerewolfGray_LM");
			if (Object.op_Implicit((Object)(object)val49))
			{
				CustomPrefab val50 = new CustomPrefab(val49, true);
				PrefabManager.Instance.AddPrefab(val50);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_WerewolfGray_LM");
				}
				GameObject val51 = LycanAssets.LoadAsset<GameObject>("Ragdoll_WerewolfGrayArmoured_LM");
				CustomPrefab val52 = new CustomPrefab(val51, true);
				PrefabManager.Instance.AddPrefab(val52);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_WerewolfGrayArmoured_LM");
				}
				GameObject val53 = LycanAssets.LoadAsset<GameObject>("Ragdoll_Werewolf_LM");
				CustomPrefab val54 = new CustomPrefab(val53, true);
				PrefabManager.Instance.AddPrefab(val54);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_Werewolf_LM");
				}
				GameObject val55 = LycanAssets.LoadAsset<GameObject>("Ragdoll_WerewolfArmoured_LM");
				CustomPrefab val56 = new CustomPrefab(val55, true);
				PrefabManager.Instance.AddPrefab(val56);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_WerewolfArmoured_LM");
				}
				GameObject val57 = LycanAssets.LoadAsset<GameObject>("Ragdoll_WerewolfRed_LM");
				CustomPrefab val58 = new CustomPrefab(val57, true);
				PrefabManager.Instance.AddPrefab(val58);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_WerewolfRed_LM");
				}
				GameObject val59 = LycanAssets.LoadAsset<GameObject>("Ragdoll_WerewolfRedArmoured_LM");
				CustomPrefab val60 = new CustomPrefab(val59, true);
				PrefabManager.Instance.AddPrefab(val60);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_WerewolfRedArmoured_LM");
				}
				GameObject val61 = LycanAssets.LoadAsset<GameObject>("Ragdoll_WerewolfWhite_LM");
				CustomPrefab val62 = new CustomPrefab(val61, true);
				PrefabManager.Instance.AddPrefab(val62);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_WerewolfWhite_LM");
				}
				GameObject val63 = LycanAssets.LoadAsset<GameObject>("Ragdoll_WerewolfWhiteArmoured_LM");
				CustomPrefab val64 = new CustomPrefab(val63, true);
				PrefabManager.Instance.AddPrefab(val64);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Ragdoll_WerewolfWhiteArmoured_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werewolf ragdoll prefabs not found");
			}
			GameObject val65 = LycanAssets.LoadAsset<GameObject>("VFX_WerewolfSmash_LM");
			if (Object.op_Implicit((Object)(object)val65))
			{
				CustomPrefab val66 = new CustomPrefab(val65, true);
				PrefabManager.Instance.AddPrefab(val66);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"VFX_WerewolfSmash_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werewolf Misc prefabs not found");
			}
			GameObject val67 = LycanAssets.LoadAsset<GameObject>("SFX_WerewolfAlert_LM");
			if (Object.op_Implicit((Object)(object)val67))
			{
				CustomPrefab val68 = new CustomPrefab(val67, false);
				PrefabManager.Instance.AddPrefab(val68);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerewolfAlert_LM");
				}
				GameObject val69 = LycanAssets.LoadAsset<GameObject>("SFX_WerewolfAttack_LM");
				CustomPrefab val70 = new CustomPrefab(val69, false);
				PrefabManager.Instance.AddPrefab(val70);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerewolfAttack_LM");
				}
				GameObject val71 = LycanAssets.LoadAsset<GameObject>("SFX_WerewolfAttackHit_LM");
				CustomPrefab val72 = new CustomPrefab(val71, false);
				PrefabManager.Instance.AddPrefab(val72);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerewolfAttackHit_LM");
				}
				GameObject val73 = LycanAssets.LoadAsset<GameObject>("SFX_WerewolfDeath_LM");
				CustomPrefab val74 = new CustomPrefab(val73, false);
				PrefabManager.Instance.AddPrefab(val74);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerewolfDeath_LM");
				}
				GameObject val75 = LycanAssets.LoadAsset<GameObject>("SFX_WerewolfHit_LM");
				CustomPrefab val76 = new CustomPrefab(val75, false);
				PrefabManager.Instance.AddPrefab(val76);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerewolfHit_LM");
				}
				GameObject val77 = LycanAssets.LoadAsset<GameObject>("SFX_WerewolfIdle_LM");
				CustomPrefab val78 = new CustomPrefab(val77, false);
				PrefabManager.Instance.AddPrefab(val78);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerewolfIdle_LM");
				}
				GameObject val79 = LycanAssets.LoadAsset<GameObject>("SFX_WerewolfSwing_LM");
				CustomPrefab val80 = new CustomPrefab(val79, false);
				PrefabManager.Instance.AddPrefab(val80);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SFX_WerewolfSwing_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werewolf SFX prefabs not found");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Werewolf prefabs: {arg}");
		}
	}

	private void AddWendigoMonsters()
	{
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_002a: Expected O, but got Unknown
		//IL_0034: Unknown result type (might be due to invalid IL or missing references)
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		//IL_0045: Unknown result type (might be due to invalid IL or missing references)
		//IL_0051: 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_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0069: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Expected O, but got Unknown
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_007f: Expected O, but got Unknown
		//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Expected O, but got Unknown
		//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0100: Unknown result type (might be due to invalid IL or missing references)
		//IL_0108: Unknown result type (might be due to invalid IL or missing references)
		//IL_0111: Expected O, but got Unknown
		//IL_0118: Unknown result type (might be due to invalid IL or missing references)
		//IL_011f: Expected O, but got Unknown
		try
		{
			GameObject val = LycanAssets.LoadAsset<GameObject>("Wendigo_LM");
			if (Object.op_Implicit((Object)(object)val))
			{
				CreatureConfig val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[1]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val3 = new CustomCreature(val, true, val2);
				CreatureManager.Instance.AddCreature(val3);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Wendigo_LM");
				}
				GameObject val4 = LycanAssets.LoadAsset<GameObject>("WendigoSwamp_LM");
				val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[1]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val5 = new CustomCreature(val4, true, val2);
				CreatureManager.Instance.AddCreature(val5);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"WendigoSwamp_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Wendigo monster prefabs not found");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Wendigo monsters: {arg}");
		}
	}

	private void AddWerebearMonsters()
	{
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_002a: Expected O, but got Unknown
		//IL_0034: Unknown result type (might be due to invalid IL or missing references)
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		//IL_0045: Unknown result type (might be due to invalid IL or missing references)
		//IL_0051: 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_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0069: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Expected O, but got Unknown
		//IL_0074: Unknown result type (might be due to invalid IL or missing references)
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_0091: 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_00a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b2: Expected O, but got Unknown
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bf: Expected O, but got Unknown
		//IL_0102: Unknown result type (might be due to invalid IL or missing references)
		//IL_0109: Expected O, but got Unknown
		//IL_0113: Unknown result type (might be due to invalid IL or missing references)
		//IL_0118: Unknown result type (might be due to invalid IL or missing references)
		//IL_0124: Unknown result type (might be due to invalid IL or missing references)
		//IL_0130: Unknown result type (might be due to invalid IL or missing references)
		//IL_0138: Unknown result type (might be due to invalid IL or missing references)
		//IL_0140: Unknown result type (might be due to invalid IL or missing references)
		//IL_0148: Unknown result type (might be due to invalid IL or missing references)
		//IL_0151: Expected O, but got Unknown
		//IL_0153: Unknown result type (might be due to invalid IL or missing references)
		//IL_0158: Unknown result type (might be due to invalid IL or missing references)
		//IL_0164: Unknown result type (might be due to invalid IL or missing references)
		//IL_0170: Unknown result type (might be due to invalid IL or missing references)
		//IL_0178: Unknown result type (might be due to invalid IL or missing references)
		//IL_0180: Unknown result type (might be due to invalid IL or missing references)
		//IL_0188: Unknown result type (might be due to invalid IL or missing references)
		//IL_0191: Expected O, but got Unknown
		//IL_0198: Unknown result type (might be due to invalid IL or missing references)
		//IL_019f: Expected O, but got Unknown
		//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ec: Expected O, but got Unknown
		//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0207: 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_021b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0223: Unknown result type (might be due to invalid IL or missing references)
		//IL_022b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0234: Expected O, but got Unknown
		//IL_0236: Unknown result type (might be due to invalid IL or missing references)
		//IL_023b: 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_0253: Unknown result type (might be due to invalid IL or missing references)
		//IL_025b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0263: Unknown result type (might be due to invalid IL or missing references)
		//IL_026b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0274: Expected O, but got Unknown
		//IL_027b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0282: Expected O, but got Unknown
		try
		{
			GameObject val = LycanAssets.LoadAsset<GameObject>("Werebear_LM");
			if (Object.op_Implicit((Object)(object)val))
			{
				CreatureConfig val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val3 = new CustomCreature(val, true, val2);
				CreatureManager.Instance.AddCreature(val3);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Werebear_LM");
				}
				GameObject val4 = LycanAssets.LoadAsset<GameObject>("WerebearGray_LM");
				val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val5 = new CustomCreature(val4, true, val2);
				CreatureManager.Instance.AddCreature(val5);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"WerebearGray_LM");
				}
				GameObject val6 = LycanAssets.LoadAsset<GameObject>("WerebearRed_LM");
				val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val7 = new CustomCreature(val6, true, val2);
				CreatureManager.Instance.AddCreature(val7);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"WerebearRed_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Werebear monster prefabs not found");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Werebear monsters: {arg}");
		}
	}

	private void AddYetiMonsters()
	{
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		//IL_0032: Unknown result type (might be due to invalid IL or missing references)
		//IL_0037: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_004f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0057: Unknown result type (might be due to invalid IL or missing references)
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0067: Unknown result type (might be due to invalid IL or missing references)
		//IL_0070: Expected O, but got Unknown
		//IL_0072: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_008f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0097: Unknown result type (might be due to invalid IL or missing references)
		//IL_009f: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Expected O, but got Unknown
		//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00df: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f0: Expected O, but got Unknown
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fc: Expected O, but got Unknown
		try
		{
			GameObject val = LycanAssets.LoadAsset<GameObject>("Yeti_LM");
			if (Object.op_Implicit((Object)(object)val))
			{
				CreatureConfig val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[3]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "FreezeGland",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val3 = new CustomCreature(val, true, val2);
				CreatureManager.Instance.AddCreature(val3);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Yeti_LM");
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Yeti monsters: {arg}");
		}
	}

	private void AddWerewolvesMonsters()
	{
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_002a: Expected O, but got Unknown
		//IL_0034: Unknown result type (might be due to invalid IL or missing references)
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		//IL_0045: Unknown result type (might be due to invalid IL or missing references)
		//IL_0051: 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_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0069: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Expected O, but got Unknown
		//IL_0074: Unknown result type (might be due to invalid IL or missing references)
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_0091: 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_00a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b2: Expected O, but got Unknown
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bf: Expected O, but got Unknown
		//IL_0102: Unknown result type (might be due to invalid IL or missing references)
		//IL_0109: Expected O, but got Unknown
		//IL_0113: Unknown result type (might be due to invalid IL or missing references)
		//IL_0118: Unknown result type (might be due to invalid IL or missing references)
		//IL_0124: Unknown result type (might be due to invalid IL or missing references)
		//IL_0130: Unknown result type (might be due to invalid IL or missing references)
		//IL_0138: Unknown result type (might be due to invalid IL or missing references)
		//IL_0140: Unknown result type (might be due to invalid IL or missing references)
		//IL_0148: Unknown result type (might be due to invalid IL or missing references)
		//IL_0151: Expected O, but got Unknown
		//IL_0153: Unknown result type (might be due to invalid IL or missing references)
		//IL_0158: Unknown result type (might be due to invalid IL or missing references)
		//IL_0164: Unknown result type (might be due to invalid IL or missing references)
		//IL_0170: Unknown result type (might be due to invalid IL or missing references)
		//IL_0178: Unknown result type (might be due to invalid IL or missing references)
		//IL_0180: Unknown result type (might be due to invalid IL or missing references)
		//IL_0188: Unknown result type (might be due to invalid IL or missing references)
		//IL_0191: Expected O, but got Unknown
		//IL_0198: Unknown result type (might be due to invalid IL or missing references)
		//IL_019f: Expected O, but got Unknown
		//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ec: Expected O, but got Unknown
		//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0207: 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_021b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0223: Unknown result type (might be due to invalid IL or missing references)
		//IL_022b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0234: Expected O, but got Unknown
		//IL_0236: Unknown result type (might be due to invalid IL or missing references)
		//IL_023b: 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_0253: Unknown result type (might be due to invalid IL or missing references)
		//IL_025b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0263: Unknown result type (might be due to invalid IL or missing references)
		//IL_026b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0274: Expected O, but got Unknown
		//IL_027b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0282: Expected O, but got Unknown
		//IL_02c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02cf: Expected O, but got Unknown
		//IL_02d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_02de: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fe: 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_030e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0317: Expected O, but got Unknown
		//IL_0319: Unknown result type (might be due to invalid IL or missing references)
		//IL_031e: Unknown result type (might be due to invalid IL or missing references)
		//IL_032a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0336: Unknown result type (might be due to invalid IL or missing references)
		//IL_033e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0346: Unknown result type (might be due to invalid IL or missing references)
		//IL_034e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0357: Expected O, but got Unknown
		//IL_035e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0365: Expected O, but got Unknown
		//IL_03ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b2: Expected O, but got Unknown
		//IL_03bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fa: Expected O, but got Unknown
		//IL_03fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0401: Unknown result type (might be due to invalid IL or missing references)
		//IL_040d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0419: Unknown result type (might be due to invalid IL or missing references)
		//IL_0421: Unknown result type (might be due to invalid IL or missing references)
		//IL_0429: Unknown result type (might be due to invalid IL or missing references)
		//IL_0431: Unknown result type (might be due to invalid IL or missing references)
		//IL_043a: Expected O, but got Unknown
		//IL_0441: Unknown result type (might be due to invalid IL or missing references)
		//IL_0448: Expected O, but got Unknown
		//IL_048e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0495: Expected O, but got Unknown
		//IL_049f: 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_04b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_04bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c4: Unknown result type (might be due to invalid IL or missing references)
		//IL_04cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_04dd: Expected O, but got Unknown
		//IL_04df: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_04fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0504: Unknown result type (might be due to invalid IL or missing references)
		//IL_050c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0514: Unknown result type (might be due to invalid IL or missing references)
		//IL_051d: Expected O, but got Unknown
		//IL_0524: Unknown result type (might be due to invalid IL or missing references)
		//IL_052b: Expected O, but got Unknown
		//IL_0571: Unknown result type (might be due to invalid IL or missing references)
		//IL_0578: Expected O, but got Unknown
		//IL_0582: Unknown result type (might be due to invalid IL or missing references)
		//IL_0587: Unknown result type (might be due to invalid IL or missing references)
		//IL_0593: Unknown result type (might be due to invalid IL or missing references)
		//IL_059f: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05af: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c0: Expected O, but got Unknown
		//IL_05c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_05df: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0600: Expected O, but got Unknown
		//IL_0607: Unknown result type (might be due to invalid IL or missing references)
		//IL_060e: Expected O, but got Unknown
		//IL_0654: Unknown result type (might be due to invalid IL or missing references)
		//IL_065b: Expected O, but got Unknown
		//IL_0665: Unknown result type (might be due to invalid IL or missing references)
		//IL_066a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0676: Unknown result type (might be due to invalid IL or missing references)
		//IL_0682: Unknown result type (might be due to invalid IL or missing references)
		//IL_068a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0692: Unknown result type (might be due to invalid IL or missing references)
		//IL_069a: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a3: Expected O, but got Unknown
		//IL_06a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_06aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_06b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_06c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_06d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_06da: Unknown result type (might be due to invalid IL or missing references)
		//IL_06e3: Expected O, but got Unknown
		//IL_06ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_06f1: Expected O, but got Unknown
		try
		{
			GameObject val = LycanAssets.LoadAsset<GameObject>("WerewolfGray_LM");
			if (Object.op_Implicit((Object)(object)val))
			{
				CreatureConfig val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val3 = new CustomCreature(val, true, val2);
				CreatureManager.Instance.AddCreature(val3);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"WerewolfGray_LM");
				}
				GameObject val4 = LycanAssets.LoadAsset<GameObject>("WerewolfGrayArmoured_LM");
				val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val5 = new CustomCreature(val4, true, val2);
				CreatureManager.Instance.AddCreature(val5);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"WerewolfGrayArmoured_LM");
				}
				GameObject val6 = LycanAssets.LoadAsset<GameObject>("Werewolf_LM");
				val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val7 = new CustomCreature(val6, true, val2);
				CreatureManager.Instance.AddCreature(val7);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"Werewolf_LM");
				}
				GameObject val8 = LycanAssets.LoadAsset<GameObject>("WerewolfArmoured_LM");
				val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val9 = new CustomCreature(val8, true, val2);
				CreatureManager.Instance.AddCreature(val9);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"WerewolfArmoured_LM");
				}
				GameObject val10 = LycanAssets.LoadAsset<GameObject>("WerewolfRed_LM");
				val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val11 = new CustomCreature(val10, true, val2);
				CreatureManager.Instance.AddCreature(val11);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"WerewolfRed_LM");
				}
				GameObject val12 = LycanAssets.LoadAsset<GameObject>("WerewolfRedArmoured_LM");
				val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val13 = new CustomCreature(val12, true, val2);
				CreatureManager.Instance.AddCreature(val13);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"WerewolfRedArmoured_LM");
				}
				GameObject val14 = LycanAssets.LoadAsset<GameObject>("WerewolfWhite_LM");
				val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val15 = new CustomCreature(val14, true, val2);
				CreatureManager.Instance.AddCreature(val15);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"WerewolfWhite_LM");
				}
				GameObject val16 = LycanAssets.LoadAsset<GameObject>("WerewolfWhiteArmoured_LM");
				val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[2]
				{
					new DropConfig
					{
						Item = "BoneFragments",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Bloodbag",
						Chance = 50f,
						MinAmount = 2,
						MaxAmount = 3,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val17 = new CustomCreature(val16, true, val2);
				CreatureManager.Instance.AddCreature(val17);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"WerewolfWhiteArmoured_LM");
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Yeti monsters: {arg}");
		}
	}

	private void AddLocations()
	{
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_004e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Unknown result type (might be due to invalid IL or missing references)
		//IL_005e: Unknown result type (might be due to invalid IL or missing references)
		//IL_006a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: 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_008a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0092: 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_00af: Expected O, but got Unknown
		//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b4: Expected O, but got Unknown
		try
		{
			AudioSource prefab = Cache.GetPrefab<AudioSource>("Music_FulingCamp");
			GameObject val = ZoneManager.Instance.CreateLocationContainer(LycanAssets.LoadAsset<GameObject>("Loc_WereCastleRuins_LM"));
			val.GetComponentInChildren<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
			ZoneManager.Instance.AddCustomLocation(new CustomLocation(val, true, new LocationConfig
			{
				Biome = (Biome)1,
				Quantity = 8,
				Priotized = true,
				ExteriorRadius = 32f,
				MinAltitude = 18f,
				MaxAltitude = 20f,
				ClearArea = true,
				InForest = false,
				MinDistance = 128f,
				MinDistanceFromSimilar = 500f
			}));
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Locations: {arg}");
		}
		finally
		{
			ZoneManager.OnVanillaLocationsAvailable -= AddLocations;
			UnloadBundle();
		}
	}

	private void AddStatusEffects()
	{
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		//IL_006c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0073: Expected O, but got Unknown
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c0: Expected O, but got Unknown
		try
		{
			SE_Stats val = LycanAssets.LoadAsset<SE_Stats>("SE_Lycanthrope_LM");
			if (Object.op_Implicit((Object)(object)val))
			{
				CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true);
				ItemManager.Instance.AddStatusEffect(val2);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_Lycanthrope_LM");
				}
				SE_Puke val3 = LycanAssets.LoadAsset<SE_Puke>("SE_Stench_LM");
				CustomStatusEffect val4 = new CustomStatusEffect((StatusEffect)(object)val3, true);
				ItemManager.Instance.AddStatusEffect(val4);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_Stench_LM");
				}
				SE_Stats val5 = LycanAssets.LoadAsset<SE_Stats>("SE_Frozen_LM");
				CustomStatusEffect val6 = new CustomStatusEffect((StatusEffect)(object)val5, true);
				ItemManager.Instance.AddStatusEffect(val6);
				if (EnableDebugging.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)"SE_Frozen_LM");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Status Effects not found");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Status Effects: {arg}");
		}
	}

	private void FixSFX()
	{
		try
		{
			AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit");
			if (EnableWerewolves.Value)
			{
				GameObject prefab2 = Cache.GetPrefab<GameObject>("SFX_WerewolfAlert_LM");
				GameObject prefab3 = Cache.GetPrefab<GameObject>("SFX_WerewolfIdle_LM");
				GameObject prefab4 = Cache.GetPrefab<GameObject>("SFX_WerewolfDeath_LM");
				GameObject prefab5 = Cache.GetPrefab<GameObject>("SFX_WerewolfHit_LM");
				GameObject prefab6 = Cache.GetPrefab<GameObject>("SFX_WerewolfAttack_LM");
				GameObject prefab7 = Cache.GetPrefab<GameObject>("SFX_WerewolfAttackHit_LM");
				GameObject prefab8 = Cache.GetPrefab<GameObject>("SFX_WerewolfSwing_LM");
				if ((Object)(object)prefab2 != (Object)null)
				{
					prefab2.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab3 != (Object)null)
				{
					prefab3.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab4 != (Object)null)
				{
					prefab4.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab5 != (Object)null)
				{
					prefab5.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab6 != (Object)null)
				{
					prefab6.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab7 != (Object)null)
				{
					prefab7.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab8 != (Object)null)
				{
					prefab8.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
			}
			if (EnableYeti.Value)
			{
				GameObject prefab9 = Cache.GetPrefab<GameObject>("SFX_YetiAlert_LM");
				GameObject prefab10 = Cache.GetPrefab<GameObject>("SFX_YetiIdle_LM");
				GameObject prefab11 = Cache.GetPrefab<GameObject>("SFX_YetiDeath_LM");
				GameObject prefab12 = Cache.GetPrefab<GameObject>("SFX_YetiHit_LM");
				GameObject prefab13 = Cache.GetPrefab<GameObject>("SFX_YetiAttack_LM");
				GameObject prefab14 = Cache.GetPrefab<GameObject>("SFX_YetiAttackHit_LM");
				GameObject prefab15 = Cache.GetPrefab<GameObject>("SFX_YetiSwing_LM");
				if ((Object)(object)prefab9 != (Object)null)
				{
					prefab9.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab10 != (Object)null)
				{
					prefab10.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab11 != (Object)null)
				{
					prefab11.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab12 != (Object)null)
				{
					prefab12.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab13 != (Object)null)
				{
					prefab13.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab14 != (Object)null)
				{
					prefab14.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab15 != (Object)null)
				{
					prefab15.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
			}
			if (EnableWerebear.Value)
			{
				GameObject prefab16 = Cache.GetPrefab<GameObject>("SFX_WerebearAlert_LM");
				GameObject prefab17 = Cache.GetPrefab<GameObject>("SFX_WerebearIdle_LM");
				GameObject prefab18 = Cache.GetPrefab<GameObject>("SFX_WerebearDeath_LM");
				GameObject prefab19 = Cache.GetPrefab<GameObject>("SFX_WerebearHit_LM");
				GameObject prefab20 = Cache.GetPrefab<GameObject>("SFX_WerebearAttack_LM");
				GameObject prefab21 = Cache.GetPrefab<GameObject>("SFX_WerebearAttackHit_LM");
				GameObject prefab22 = Cache.GetPrefab<GameObject>("SFX_WerebearSwing_LM");
				if ((Object)(object)prefab16 != (Object)null)
				{
					prefab16.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab17 != (Object)null)
				{
					prefab17.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab18 != (Object)null)
				{
					prefab18.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab19 != (Object)null)
				{
					prefab19.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab20 != (Object)null)
				{
					prefab20.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab21 != (Object)null)
				{
					prefab21.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab22 != (Object)null)
				{
					prefab22.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
			}
			if (EnableWendigo.Value)
			{
				GameObject prefab23 = Cache.GetPrefab<GameObject>("SFX_WendigoAlert_LM");
				GameObject prefab24 = Cache.GetPrefab<GameObject>("SFX_WendigoIdle_LM");
				GameObject prefab25 = Cache.GetPrefab<GameObject>("SFX_WendigoDeath_LM");
				GameObject prefab26 = Cache.GetPrefab<GameObject>("SFX_WendigoHit_LM");
				GameObject prefab27 = Cache.GetPrefab<GameObject>("SFX_WendigoAttack_LM");
				GameObject prefab28 = Cache.GetPrefab<GameObject>("SFX_WendigoAttackHit_LM");
				GameObject prefab29 = Cache.GetPrefab<GameObject>("SFX_WendigoSwing_LM");
				if ((Object)(object)prefab23 != (Object)null)
				{
					prefab23.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab24 != (Object)null)
				{
					prefab24.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab25 != (Object)null)
				{
					prefab25.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab26 != (Object)null)
				{
					prefab26.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab27 != (Object)null)
				{
					prefab27.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab28 != (Object)null)
				{
					prefab28.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
				if ((Object)(object)prefab29 != (Object)null)
				{
					prefab29.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while updating Mixer for Lycanthrope SFX: {arg}");
		}
		finally
		{
			PrefabManager.OnVanillaPrefabsAvailable -= FixSFX;
		}
	}

	private void FixMusic()
	{
		try
		{
			AudioSource prefab = Cache.GetPrefab<AudioSource>("Music_FulingCamp");
			GameObject prefab2 = Cache.GetPrefab<GameObject>("Music_WereCastle_LM");
			if ((Object)(object)prefab2 != (Object)null)
			{
				prefab2.GetComponent<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while updating Mixer for Lycanthrope Music: {arg}");
		}
		finally
		{
			PrefabManager.OnVanillaPrefabsAvailable -= FixMusic;
		}
	}

	private void UnloadBundle()
	{
		try
		{
			LycanAssets.Unload(false);
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while loading bundles: {arg}");
		}
	}

	public static void ConfigureBiomeSpawners(ISpawnerConfigurationCollection config)
	{
		try
		{
			ConfigureWorldSpawners(config);
		}
		catch (Exception ex)
		{
			Console.WriteLine("Cepera made something go horribly wrong: " + ex.Message + "\nStackTrace:\n" + ex.StackTrace);
		}
	}

	private static void ConfigureWorldSpawners(ISpawnerConfigurationCollection config)
	{
		try
		{
			IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 21113u).SetPrefabName("WerewolfWhiteArmoured_LM").SetTemplateName("Armoured Werewolf")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)64 })
				.SetSpawnChance(25f)
				.SetSpawnInterval(TimeSpan.FromSeconds(900.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(1u)
				.SetSpawnDuringDay(false)
				.SetSpawnDuringNight(true)
				.SetMinDistanceToOther(100f), (double?)1000.0, (double?)null).SetConditionAltitudeMin(5f);
			IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 21112u).SetPrefabName("WerewolfWhite_LM").SetTemplateName("Werewolf")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)64 })
				.SetSpawnChance(25f)
				.SetSpawnInterval(TimeSpan.FromSeconds(900.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(1u)
				.SetSpawnDuringDay(false)
				.SetSpawnDuringNight(true)
				.SetMinDistanceToOther(100f), (double?)1000.0, (double?)null).SetConditionAltitudeMin(5f);
			IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 21111u).SetPrefabName("WerewolfRedArmoured_LM").SetTemplateName("Armoured Werewolf")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)1 })
				.SetSpawnChance(25f)
				.SetSpawnInterval(TimeSpan.FromSeconds(900.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(1u)
				.SetSpawnDuringDay(false)
				.SetSpawnDuringNight(true)
				.SetMinDistanceToOther(100f), (double?)1000.0, (double?)null).SetConditionAltitudeMin(5f);
			IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 21110u).SetPrefabName("WerewolfRed_LM").SetTemplateName("Werewolf")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)1 })
				.SetSpawnChance(25f)
				.SetSpawnInterval(TimeSpan.FromSeconds(900.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(1u)
				.SetSpawnDuringDay(false)
				.SetSpawnDuringNight(true)
				.SetMinDistanceToOther(100f), (double?)1000.0, (double?)null).SetConditionAltitudeMin(5f);
			IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 21109u).SetPrefabName("WerewolfArmoured_LM").SetTemplateName("Armoured Werewolf")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)16 })
				.SetSpawnChance(25f)
				.SetSpawnInterval(TimeSpan.FromSeconds(900.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(1u)
				.SetSpawnDuringDay(false)
				.SetSpawnDuringNight(true)
				.SetMinDistanceToOther(100f), (double?)1000.0, (double?)null).SetConditionAltitudeMin(5f);
			IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 21108u).SetPrefabName("Werewolf_LM").SetTemplateName("Werewolf")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)16 })
				.SetSpawnChance(25f)
				.SetSpawnInterval(TimeSpan.FromSeconds(900.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(1u)
				.SetSpawnDuringDay(false)
				.SetSpawnDuringNight(true)
				.SetMinDistanceToOther(100f), (double?)1000.0, (double?)null).SetConditionAltitudeMin(5f);
			IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 21107u).SetPrefabName("WerewolfGrayArmoured_LM").SetTemplateName("Armoured Werewolf")
				.SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)8 })
				.SetSpawnChance(25f)
				.SetSpawnInterval(TimeSpan.FromSeconds(900.0))
				.SetPackSizeMin(1u)
				.SetPackSizeMax(1u)
				.SetMaxSpawned(1u)
				.SetSpawnDuringDay(false)
				.SetSpawnDuringNight(true)
				.SetMinDistanceToOthe

DoDMonsters.dll

Decompiled 4 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using HoremvoreAssembly;
using Jotunn;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using SpawnThat.Spawners;
using SpawnThat.Spawners.WorldSpawner;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("DoDMonsters")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DoDMonsters")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("6565aaa9-47d5-47c9-8a6a-aa7c566cfb61")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace DoDMonsters;

public class SE_DoT : StatusEffect
{
	[Header("__Damage Over Time__")]
	public int m_hitChance;

	public DamageTypes m_damagePerTick;

	public float m_tickInterval = 1f;

	public SkillType m_attackersSkill;

	public float m_attackersSkillLevel = 1f;

	public bool m_canBeBlocked;

	[Header("DoT Level Values")]
	public DamageTypes m_tickDamagePerLevel;

	public float m_levelDamageModifier = 0.05f;

	public bool m_useAttackerLevel;

	public int m_itemLevel = 1;

	public bool m_useSEManLevelValues;

	[Header("Life Drain")]
	public bool m_enableLifeDrain;

	public float m_healthPerTick = 0f;

	public float m_lifeGainPerSkillLevelModifier = 0f;

	public bool m_usePercentOfDamage;

	public float m_healPercent = 1f;

	public bool m_addAditionalLevelsForBoss;

	public int m_additionalBossLevels;

	[Header("Immunity")]
	public string m_immunityStatusEffect;

	public string m_immunitymessage;

	[Header("Logging")]
	public bool m_enableLogging = true;

	private Character m_attacker;

	private float m_timer;

	private float m_damageModifier;

	private float m_leechLevelAmount;

	private float m_leechAmount;

	private float m_totalDamage;

	private float fBossHealPercent;

	private float m_hitRoll;

	private string m_prefabNameOfThisScriptableObject;

	public void OnEnable()
	{
		m_prefabNameOfThisScriptableObject = ((Object)this).name.ToString() ?? "";
	}

	private DamageTypes GetDamage()
	{
		//IL_0008: Unknown result type (might be due to invalid IL or missing references)
		//IL_000d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		return GetDamage(m_itemLevel);
	}

	private DamageTypes GetDamage(int itemQuality)
	{
		//IL_0012: Unknown result type (might be due to invalid IL or missing references)
		//IL_0017: Unknown result type (might be due to invalid IL or missing references)
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_0036: Unknown result type (might be due to invalid IL or missing references)
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		if (itemQuality <= 1)
		{
			itemQuality = 1;
		}
		DamageTypes damagePerTick = m_damagePerTick;
		((DamageTypes)(ref damagePerTick)).Add(m_tickDamagePerLevel, itemQuality);
		((DamageTypes)(ref damagePerTick)).Modify(m_damageModifier);
		return damagePerTick;
	}

	public override bool CanAdd(Character character)
	{
		if (character.GetSEMan().HaveStatusEffect(m_prefabNameOfThisScriptableObject))
		{
			if (m_enableLogging)
			{
				Debug.Log((object)("Effect already active: " + m_prefabNameOfThisScriptableObject));
			}
			return false;
		}
		if (m_canBeBlocked && character.IsBlocking())
		{
			if (m_enableLogging)
			{
				Debug.Log((object)"Effect blocked");
			}
			return false;
		}
		if (character.GetSEMan().HaveStatusEffect(m_immunityStatusEffect))
		{
			Player val = (Player)(object)((character is Player) ? character : null);
			if (Object.op_Implicit((Object)(object)val) && !string.IsNullOrEmpty(m_immunitymessage))
			{
				character.Message((MessageType)2, m_immunitymessage, 0, (Sprite)null);
			}
			if (m_enableLogging)
			{
				Debug.Log((object)("Character is immune due to having effect: " + m_immunityStatusEffect));
			}
			return false;
		}
		if (m_hitRoll != 0f && m_hitRoll > (float)m_hitChance)
		{
			if (m_enableLogging)
			{
				Debug.Log((object)("Hit Roll failed with a roll of: " + m_hitRoll));
			}
			return false;
		}
		return ((StatusEffect)this).CanAdd(character);
	}

	public override void Setup(Character character)
	{
		((StatusEffect)this).Setup(character);
	}

	public override void SetAttacker(Character attacker)
	{
		//IL_011e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0124: Invalid comparison between Unknown and I4
		//IL_0133: Unknown result type (might be due to invalid IL or missing references)
		m_attacker = attacker;
		if (m_enableLogging)
		{
			Debug.Log((object)("Setting up attacker " + attacker.m_name));
		}
		if (!m_useSEManLevelValues)
		{
			if (m_useAttackerLevel)
			{
				m_itemLevel = attacker.GetLevel();
				if (m_enableLogging)
				{
					Debug.Log((object)("Attacker Level = " + m_itemLevel));
				}
				m_attackersSkillLevel = m_itemLevel;
				if (m_enableLogging)
				{
					Debug.Log((object)("Attacker Skill Level = " + m_attackersSkillLevel));
				}
			}
			m_damageModifier = (float)m_itemLevel * m_levelDamageModifier;
			if (m_enableLogging)
			{
				Debug.Log((object)("Damage Modifier = " + m_damageModifier));
			}
		}
		if (m_enableLifeDrain && m_attackersSkillLevel <= 0f && Object.op_Implicit((Object)(object)((attacker is Player) ? attacker : null)) && (int)m_attackersSkill > 0)
		{
			m_attackersSkillLevel = attacker.GetSkillLevel(m_attackersSkill);
			if (m_enableLogging)
			{
				Debug.Log((object)("Attacker Skill Level = " + m_attackersSkillLevel));
			}
		}
		m_leechLevelAmount = m_lifeGainPerSkillLevelModifier * m_attackersSkillLevel;
		if (m_enableLogging)
		{
			Debug.Log((object)("Leech Level Amount = " + m_leechLevelAmount));
		}
		m_leechAmount = m_healthPerTick + m_leechLevelAmount;
		if (m_enableLogging)
		{
			Debug.Log((object)("Leech Amount = " + m_leechAmount));
		}
	}

	public override void UpdateStatusEffect(float dt)
	{
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0074: Expected O, but got Unknown
		//IL_007b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_0087: Unknown result type (might be due to invalid IL or missing references)
		//IL_008c: Unknown result type (might be due to invalid IL or missing references)
		((StatusEffect)this).UpdateStatusEffect(dt);
		m_hitRoll = Random.Range(1, 100);
		if (m_enableLogging)
		{
			Debug.Log((object)("Hit Roll = " + m_hitRoll));
		}
		m_timer += dt;
		if (!(m_timer > m_tickInterval))
		{
			return;
		}
		m_timer = 0f;
		HitData val = new HitData();
		val.m_point = base.m_character.GetCenterPoint();
		val.m_damage = GetDamage();
		val.SetAttacker(m_attacker);
		base.m_character.ApplyDamage(val, true, true, (DamageModifier)0);
		m_totalDamage = val.GetTotalDamage();
		if (m_enableLogging)
		{
			Debug.Log((object)("Total Tick Damage = " + m_totalDamage));
		}
		if (!m_enableLifeDrain || Object.op_Implicit((Object)(object)m_attacker))
		{
			return;
		}
		if (m_enableLogging)
		{
			Debug.Log((object)"Life Drain Enabled");
		}
		if (m_usePercentOfDamage)
		{
			if (m_enableLogging)
			{
				Debug.Log((object)"Life Drain use Percent Of Damage Enabled");
			}
			if (m_addAditionalLevelsForBoss && m_attacker.IsBoss())
			{
				fBossHealPercent = m_healPercent * (float)m_additionalBossLevels;
				m_leechAmount = m_totalDamage / 100f * fBossHealPercent;
				if (m_enableLogging)
				{
					Debug.Log((object)("Leech amount overidden by: Boss Leech Percent Amount = " + m_leechAmount));
				}
			}
			else
			{
				m_leechAmount = m_totalDamage / 100f * m_healPercent;
				if (m_enableLogging)
				{
					Debug.Log((object)("Leech amount overidden by: Leech Percent Amount = " + m_leechAmount));
				}
			}
		}
		m_attacker.Heal(m_leechAmount, true);
		if (m_enableLogging)
		{
			Debug.Log((object)("Life Drain given to attacker, heal amount: " + m_leechAmount));
		}
	}

	public override void SetLevel(int itemLevel, float skillLevel)
	{
		if (m_useSEManLevelValues)
		{
			if (m_enableLogging)
			{
				Debug.Log((object)"Using SEMan Values:");
			}
			m_damageModifier = (float)itemLevel * skillLevel;
			if (m_enableLogging)
			{
				Debug.Log((object)("Damage Modifier = " + m_damageModifier));
			}
			m_itemLevel = itemLevel;
			if (m_enableLogging)
			{
				Debug.Log((object)("Attacker Level = " + m_itemLevel));
			}
			m_attackersSkillLevel = itemLevel;
			if (m_enableLogging)
			{
				Debug.Log((object)("Attacker Skill Level = " + m_itemLevel));
			}
		}
	}

	public override bool IsDone()
	{
		if (((StatusEffect)this).IsDone())
		{
			return true;
		}
		return false;
	}
}
[BepInPlugin("horemvore.DoDMonsters", "DoOrDieMonsters", "1.2.0")]
[BepInIncompatibility("Azumatt.AzuDevMod")]
[NetworkCompatibility(/*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.*/)]
internal class DodMonsters : BaseUnityPlugin
{
	public const string PluginGUID = "horemvore.DoDMonsters";

	public const string PluginName = "DoOrDieMonsters";

	public const string PluginVersion = "1.2.0";

	public static bool isModded = true;

	public static readonly ManualLogSource DoDLogger = Logger.CreateLogSource("DoOrDieMonsters");

	public static GameObject SkirSandburst;

	public static GameObject Farkas;

	public static GameObject FarkasAlt;

	public static GameObject FarkasClone;

	public static GameObject Bhygshan;

	public static GameObject Bitterstump;

	public static GameObject Rambore;

	public static GameObject GreaterSurtling;

	public static GameObject CharredRemains;

	public static GameObject SkeletonG;

	public static GameObject SkeletonR;

	public static GameObject FrozenBones;

	public static GameObject BlackDeer;

	public static GameObject BlackStag;

	public static GameObject IceGolem;

	public static GameObject LavaGolem;

	public static GameObject ObsidianGolem;

	public static GameObject GhostWhite;

	public static GameObject GhostIce;

	public static GameObject Frostling;

	public static GameObject Stormling;

	public static GameObject Voidling;

	public static GameObject ForestWolf;

	public static GameObject ForestWolfCub;

	public static GameObject DireWolf;

	public static GameObject DireWolfCub;

	public static GameObject Vilefang;

	public static GameObject VilefangCub;

	public static GameObject LivingLava;

	public static GameObject LivingWater;

	public static GameObject IceDrake;

	public static GameObject FlameDrake;

	public static GameObject ArcaneDrake;

	public static GameObject DarkDrake;

	public static GameObject GoldDrake;

	public static GameObject PoisonDrake;

	public static GameObject BlackDrake;

	public static GameObject BhygshanAlt;

	public static GameObject RugDeer;

	public static GameObject RugDire;

	public static GameObject RugForest;

	public static Sprite RugBDeer;

	public static Sprite RugDWolf;

	public static Sprite RugFWolf;

	public static ScriptableObject LesserBleeding;

	public static ScriptableObject Frostbite;

	public static ScriptableObject GreaterHoT;

	public static ScriptableObject HoT;

	public static ScriptableObject Shield;

	public static ScriptableObject Slow;

	public ConfigEntry<bool> BossesEnable;

	public ConfigEntry<bool> MonstersEnable;

	public ConfigEntry<bool> BuildablesEnable;

	public ConfigEntry<bool> SpawnsEnable;

	public ConfigEntry<bool> DisableHuntPlayer;

	public ConfigEntry<bool> LoggingEnable;

	public string[] fxList = new string[6] { "FX_Backstab_DoD", "FX_Bhygshan_Fireball_Expl_DoD", "FX_Bitter_RootSpawn_DoD", "FX_Crit_DoD", "FX_Skir_Nova_DoD", "FX_Skir_Protect_DoD" };

	public string[] vfxList = new string[32]
	{
		"LavaLiquid18_DoD", "LavaLiquid24_DoD", "VFX_ArcaneImpDeath_DoD", "VFX_Berserker_DoD", "VFX_Bhygshan_Attack_DoD", "VFX_Bhygshan_Breath_DoD", "VFX_Bhygshan_Spray_DoD", "VFX_BiiterSpawn_DoD", "VFX_BitterSpawnIn_DoD", "VFX_Blocked_DoD",
		"VFX_Blood_Hit_DoD", "VFX_Enraged_DoD", "VFX_FireBolt_SurtlingHit_DoD", "VFX_Hit_DoD", "VFX_IceImpDeath_DoD", "VFX_IceImpHit_DoD", "VFX_LivingLava_Attack_DoD", "VFX_LivingLava_Death_DoD", "VFX_LivingLava_Hit_DoD", "VFX_LivingWater_Attack_DoD",
		"VFX_LivingWater_Death_DoD", "VFX_LivingWater_Hit_DoD", "VFX_OfferingBowl_DoD", "VFX_Poisonspit_Hit_DoD", "VFX_Skeleton_Hit_DoD", "VFX_Skir_Throw_DoD", "VFX_StormImpDeath_DoD", "VFX_StormImpHit_DoD", "VFX_Summon_DoD", "VFX_VoidImpHit_DoD",
		"VFX_Wolf_Death_DoD", "VFX_Wolf_Hit_DoD"
	};

	public string[] sfxList = new string[24]
	{
		"SFX_AxeSwing_DoD", "SFX_Build_Hammer_Wood_DoD", "SFX_DaggerHit_DoD", "SFX_Frostling_Attack_DoD", "SFX_Frostling_Death_DoD", "SFX_Frostling_Hit_DoD", "SFX_GenericHit_DoD", "SFX_HSwordSwing_DoD", "SFX_ImpactSpecialK_DoD", "SFX_LivingLava_Death_DoD",
		"SFX_LivingLava_Hit_DoD", "SFX_LivingLava_Jump_DoD", "SFX_LivingLava_Land_DoD", "SFX_MaceHit_DoD", "SFX_MaceSwing_DoD", "SFX_Stormling_Attack_DoD", "SFX_Stormling_Death_DoD", "SFX_Stormling_Hit_DoD", "SFX_Voidling_Attack_DoD", "SFX_Voidling_Death_DoD",
		"SFX_Voidling_Hit_DoD", "SFX_WandSwing_DoD", "SFX_Wolf_GetHit_DoD", "SFX_Wolf_Idle_DoD"
	};

	public string[] ragdollList = new string[18]
	{
		"ArcaneDrake_Ragdoll_DoD", "BitterstumpRD_DoD", "BlackDeer_Ragdoll_DoD", "DarknessDrake_Ragdoll_DoD", "DireWolf_Ragdoll_DoD", "Farkas_Alt_RD_DoD", "Farkas_RD_DoD", "FlameDrake_Ragdoll_DoD", "ForestWolf_Ragdoll_DoD", "GoldDrake_Ragdoll_DoD",
		"IceDrake_Ragdoll_DoD", "IceGolem_Ragdoll_DoD", "LavaGolem_Ragdoll_DoD", "ObsidianGolem_Ragdoll_DoD", "PoisonDrake_Ragdoll_DoD", "RamboreRD_DoD", "SkirSandburstRD_DoD", "Vilefang_Ragdoll_DoD"
	};

	public string[] aoeList = new string[10] { "AoE_AuraHealing_DoD", "AoE_BhygshanMace_DoD", "AoE_Bitterstump_Heal_DoD", "AoE_HoT200_DoD", "AoE_Protection500_DoD", "AoE_Skir_Nova_DoD", "AoE_Spray_DoD", "AoE_Farkas_DoD", "Farkas_Spawn_DoD", "Bitter_RootSpawn_DoD" };

	public string[] projectileList = new string[17]
	{
		"Bhygshan_FB_Projectile_DoD", "Bhygshan_Fireball_Projectile_DoD", "Bhygshan_Throw_Projectile_DoD", "drake_poisonspit_projectile_dod", "Imp_Firebolt_Projectile_DoD", "Imp_Icebolt_projectile_dod", "Imp_stormbolt_projectile_dod", "Imp_Voidbolt_projectile_dod", "Skir_Voidbolt_Projectile_DoD", "SkirSandburst_FWThrow_Projectile_DoD",
		"SkirSandburst_VoidThrow_Projectile_DoD", "Wand_Fire_ProjectileL_DoD", "Wand_Fire_ProjectileS_DoD", "Wand_Shadow_ProjectileL_DoD", "Wand_Shadow_ProjectileS_DoD", "Wand_Storm_ProjectileL_DoD", "Wand_Storm_ProjectileS_DoD"
	};

	public string[] attackList = new string[60]
	{
		"obsidiangolem_attack1_spike", "obsidiangolem_attack2_left_groundslam", "obsidiangolem_attack3_spikesweep", "obsidiangolem_attack_doublesmash", "icegolem_attack1_spike", "icegolem_attack2_left_groundslam", "icegolem_attack3_spikesweep", "icegolem_attack_doublesmash", "lavagolem_attack1_spike", "lavagolem_attack2_left_groundslam",
		"lavagolem_attack3_spikesweep", "lavagolem_attack_doublesmash", "drakegold_firespit_attack_dod", "drake_firespit_attack_dod", "drake_arcanespit_attack_dod", "drake_frostspit_attack_dod", "drake_poison_attack_dod", "drake_poisonspit_attack_dod", "drake_voidspit_attack_dod", "ForestWolf_Attack1_DoD",
		"ForestWolf_Attack2_DoD", "ForestWolf_Attack3_DoD", "DireWolf_Attack1_DoD", "DireWolf_Attack2_DoD", "DireWolf_Attack3_DoD", "Vilefang_Attack1_DoD", "Vilefang_Attack2_DoD", "Vilefang_Attack3_DoD", "livinglava_nova_attack_dod", "livingwater_nova_attack_dod",
		"imp_icebolt_attack_dod", "imp_stormbolt_attack_dod", "imp_voidbolt_attack_dod", "Farkas_FrostBite_DoD", "Farkas_Hamper_Attack_DoD", "Farkas_Summon_DoD", "Farkas_Attack1_DoD", "Farkas_Attack2_DoD", "Farkas_Attack3_DoD", "Rambore_Attack_DoD",
		"Rambore_Gore_DoD", "SkirSandBurst_VoidAttack_DoD", "SkirSandburst_VoidSum_DoD", "SkirSandburst_FWSum_DoD", "SkirSandburst_Shield_DoD", "SkirSandburst_Heal_DoD", "SkirSandburst_Nova_DoD", "SkirSandburst_FB_Attack_DoD", "imp_firebolt_attack_dod", "Bhygshan_AoE_DoD",
		"Bhygshan_Fireball_DoD", "Bhygshan_FireBolt_DoD", "Bhygshan_SprayFrost_DoD", "Bhygshan_Throw_DoD", "BhygshanMace_DoD", "Bitterstump_Heal_DoD", "Bitterstump_Melee_DoD", "Bitterstump_Roots_DoD", "Bitterstump_SprayFrost_DoD", "Bitterstump_SprayPoison_DoD"
	};

	public string[] itemList = new string[64]
	{
		"ObsidianGolem_Clubs_DoD", "HelmetBhygshan_DoD", "ObsidianGolem_Spikes_DoD", "ObsidianGolem_Head_DoD", "LavaGolem_Clubs_DoD", "LavaGolem_Spikes_DoD", "LavaGolem_Head_DoD", "IceGolem_Clubs_DoD", "IceGolem_Spikes_DoD", "IceGolem_Head_DoD",
		"SkirSandburst_Staff_DoD", "SkirSandburst_Headdress_DoD", "Sword_FrozenBones_DoD", "Sword_SkelR_DoD", "Bow_SkelR_DoD", "Sword_SkelG_DoD", "Bow_SkelG_DoD", "Shield_Charred_DoD", "Sword_Charred_DoD", "Bow_Charred_DoD",
		"TrophyCharredRemains_DoD", "TrophyFrozenBones_DoD", "TrophyGreatSurtling_DoD", "TrophySkeletonG_DoD", "TrophySkeletonR_DoD", "TrophyFrostling_DoD", "TrophyStormling_DoD", "TrophyVoidling_DoD", "TrophyOGolem_DoD", "TrophyLGolem_DoD",
		"TrophyIceGolem_DoD", "TrophyVilefang_DoD", "TrophyDireWolf_DoD", "TrophyForestWolf_DoD", "TrophyLivingLava_DoD", "TrophyLivingWater_DoD", "TrophyBlackDeer_DoD", "TrophyIceDrake_DoD", "TrophyFlameDrake_DoD", "TrophyArcaneDrake_DoD",
		"TrophyDarknessDrake_DoD", "TrophyGoldDrake_DoD", "TrophyPoisonDrake_DoD", "TrophyDarkDrake_DoD", "InfusedGemstone_DoD", "BoarTusk_DoD", "LargeFang_DoD", "ShamansVessel_DoD", "GreydwarfHeart_DoD", "SkeletonBones_DoD",
		"GreyPearl_DoD", "FrozenBone_DoD", "CharredBone_DoD", "FrostlingCore_DoD", "StormlingCore_DoD", "VoidlingCore_DoD", "ForestWolfPelt_DoD", "DireWolfPelt_DoD", "WaterGlobe_DoD", "SpiderChitin_DoD",
		"BlackDeerHide_DoD", "GhostIce_Attack_DoD", "Ghost_Attack_DoD", "SkullToken_DoD"
	};

	public string[] worldObjectList = new string[15]
	{
		"AltarBhygshan_DoD", "AltarBitterstump_DoD", "AltarFarkas_DoD", "AltarRambone_DoD", "AltarSkirSandburst_DoD", "Spawner_BhygshanAltar_DoD", "Spawner_BitterstumpAltar_DoD", "Spawner_FarkasAltar_DoD", "Spawner_RamboneAltar_DoD", "Spawner_SkirAltar_DoD",
		"VegvisirBhygshan_DoD", "VegvisirBitterstump_DoD", "VegvisirFarkas_DoD", "VegvisirRambone_DoD", "VegvisirSkirSandburst_DoD"
	};

	public string[] dotEffectList = new string[4] { "SE_Bleeding_DoD", "SE_Frostbite_DoD", "SE_Frostnip_DoD", "SE_LesserBleeding_DoD" };

	public AssetBundle DoDAssets;

	private CustomLocalization Localization;

	internal static ManualLogSource Log;

	public void CreateConfigurationValues()
	{
		//IL_002e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_003c: Expected O, but got Unknown
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Expected O, but got Unknown
		//IL_006b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0070: Unknown result type (might be due to invalid IL or missing references)
		//IL_0079: Expected O, but got Unknown
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Expected O, but got Unknown
		//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b6: Expected O, but got Unknown
		//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c0: Expected O, but got Unknown
		//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f3: 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_0122: Unknown result type (might be due to invalid IL or missing references)
		//IL_0127: Unknown result type (might be due to invalid IL or missing references)
		//IL_0130: Expected O, but got Unknown
		//IL_0130: Unknown result type (might be due to invalid IL or missing references)
		//IL_013a: Expected O, but got Unknown
		//IL_015f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0164: Unknown result type (might be due to invalid IL or missing references)
		//IL_016d: Expected O, but got Unknown
		//IL_016d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0177: Expected O, but got Unknown
		((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
		BossesEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Bosses", "Enable", true, new ConfigDescription("Enables Boss Reskins", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
		{
			IsAdminOnly = true
		} }));
		MonstersEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Monster Reskins", "Enable", true, new ConfigDescription("Enables Monster Reskins", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
		{
			IsAdminOnly = true
		} }));
		BuildablesEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Buildables", "Enable", false, new ConfigDescription("Enables Golden Defender", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
		{
			IsAdminOnly = true
		} }));
		SpawnsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Monster Reskin Spawns", "Enable", true, new ConfigDescription("Enables default spawning of the Monster Reskins. Set to false if you want to setup your own spawns via a 3rd party mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
		{
			IsAdminOnly = true
		} }));
		DisableHuntPlayer = ((BaseUnityPlugin)this).Config.Bind<bool>("Disable Hunt Player", "Enable", true, new ConfigDescription("Disables hunting of players by Monster Mash monsters like, Wendigo, Werewolves and Werebears. Set to false to allow Hunting.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
		{
			IsAdminOnly = true
		} }));
		LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Logging", "Enable", false, new ConfigDescription("Enables logging.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
		{
			IsAdminOnly = true
		} }));
		SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr)
		{
			if (attr.InitialSynchronization)
			{
				Logger.LogMessage((object)"Initial Config sync event received for DoD Monsters");
			}
			else
			{
				Logger.LogMessage((object)"Config sync event received for DoD Monsters");
			}
		};
	}

	private void Awake()
	{
		Log = ((BaseUnityPlugin)this).Logger;
		CreateConfigurationValues();
		AddLocalizations();
		LoadBundle();
		LoadDoDAssets();
		AddRagdolls();
		AddFX();
		AddVFX();
		AddSFX();
		SetupStatusEffects();
		AddAoE();
		AddProjectile();
		AddItems();
		AddAttacks();
		CreateDropables();
		AddWorldObjects();
		if (MonstersEnable.Value)
		{
			if (BuildablesEnable.Value)
			{
				AddSpawnerPieces();
			}
			AddNewMonsters();
			CreateRugs();
			CreateUtility();
			PrefabManager.OnPrefabsRegistered += ModMonsterAttackSE;
		}
		if (BossesEnable.Value)
		{
			AddNewBosses();
			ZoneManager.OnVanillaLocationsAvailable += AddLocations;
			CreatureManager.OnVanillaCreaturesAvailable += AddBossItemDrops;
		}
		if (SpawnsEnable.Value)
		{
			SpawnerConfigurationManager.OnConfigure += ConfigureBiomeSpawners;
		}
		if (DisableHuntPlayer.Value)
		{
			CreatureManager.OnCreaturesRegistered += EditMonsterMash;
		}
	}

	public void LoadBundle()
	{
		DoDAssets = AssetUtils.LoadAssetBundleFromResources("dodmonsters", Assembly.GetExecutingAssembly());
	}

	private void LoadDoDAssets()
	{
		try
		{
			LesserBleeding = DoDAssets.LoadAsset<ScriptableObject>("SE_LesserBleeding_DoD");
			Frostbite = DoDAssets.LoadAsset<ScriptableObject>("SE_Frostbite_DoD");
			GreaterHoT = DoDAssets.LoadAsset<ScriptableObject>("SE_GreaterHoT_DoD");
			HoT = DoDAssets.LoadAsset<ScriptableObject>("SE_HoT_DoD");
			Shield = DoDAssets.LoadAsset<ScriptableObject>("SE_Shield_DoD");
			Slow = DoDAssets.LoadAsset<ScriptableObject>("SE_Slow_DoD");
			RugBDeer = DoDAssets.LoadAsset<Sprite>("BlackDeerRug_Icon_DoD");
			RugDWolf = DoDAssets.LoadAsset<Sprite>("DireWolfRug_Icon_DoD");
			RugFWolf = DoDAssets.LoadAsset<Sprite>("ForestWolfRug_Icon_DoD");
			RugDeer = DoDAssets.LoadAsset<GameObject>("Rug_BlackDeer_DoD");
			RugDire = DoDAssets.LoadAsset<GameObject>("Rug_DireWolf_DoD");
			RugForest = DoDAssets.LoadAsset<GameObject>("Rug_ForestWolf_DoD");
			BhygshanAlt = DoDAssets.LoadAsset<GameObject>("BhygshanAlt_DoD");
			SkirSandburst = DoDAssets.LoadAsset<GameObject>("SkirSandburst_DoD");
			Farkas = DoDAssets.LoadAsset<GameObject>("Farkas_DoD");
			FarkasAlt = DoDAssets.LoadAsset<GameObject>("Farkas_Alt_DoD");
			Bhygshan = DoDAssets.LoadAsset<GameObject>("Bhygshan_DoD");
			Bitterstump = DoDAssets.LoadAsset<GameObject>("Bitterstump_DoD");
			Rambore = DoDAssets.LoadAsset<GameObject>("Rambore_DoD");
			FarkasClone = DoDAssets.LoadAsset<GameObject>("Farkas_Clone_DoD");
			GoldDrake = DoDAssets.LoadAsset<GameObject>("GoldDrake_DoD");
			GreaterSurtling = DoDAssets.LoadAsset<GameObject>("GreaterSurtling_DoD");
			CharredRemains = DoDAssets.LoadAsset<GameObject>("CharredRemains_DoD");
			SkeletonG = DoDAssets.LoadAsset<GameObject>("SkeletonG_DoD");
			SkeletonR = DoDAssets.LoadAsset<GameObject>("SkeletonR_DoD");
			FrozenBones = DoDAssets.LoadAsset<GameObject>("FrozenBones_DoD");
			BlackDeer = DoDAssets.LoadAsset<GameObject>("BlackDeer_DoD");
			BlackStag = DoDAssets.LoadAsset<GameObject>("BlackStag_DoD");
			IceGolem = DoDAssets.LoadAsset<GameObject>("IceGolem_DoD");
			LavaGolem = DoDAssets.LoadAsset<GameObject>("LavaGolem_DoD");
			ObsidianGolem = DoDAssets.LoadAsset<GameObject>("ObsidianGolem_DoD");
			GhostWhite = DoDAssets.LoadAsset<GameObject>("Ghost_White_DoD");
			GhostIce = DoDAssets.LoadAsset<GameObject>("Ghost_Ice_DoD");
			Frostling = DoDAssets.LoadAsset<GameObject>("Frostling_DoD");
			Stormling = DoDAssets.LoadAsset<GameObject>("Stormling_DoD");
			Voidling = DoDAssets.LoadAsset<GameObject>("Voidling_DoD");
			ForestWolf = DoDAssets.LoadAsset<GameObject>("ForestWolf_DoD");
			ForestWolfCub = DoDAssets.LoadAsset<GameObject>("ForestWolf_Cub_DoD");
			DireWolf = DoDAssets.LoadAsset<GameObject>("DireWolf_DoD");
			DireWolfCub = DoDAssets.LoadAsset<GameObject>("DireWolf_Cub_DoD");
			Vilefang = DoDAssets.LoadAsset<GameObject>("Vilefang_DoD");
			VilefangCub = DoDAssets.LoadAsset<GameObject>("Vilefang_Cub_DoD");
			LivingLava = DoDAssets.LoadAsset<GameObject>("LivingLava_DoD");
			LivingWater = DoDAssets.LoadAsset<GameObject>("LivingWater_DoD");
			IceDrake = DoDAssets.LoadAsset<GameObject>("IceDrake_DoD");
			FlameDrake = DoDAssets.LoadAsset<GameObject>("FlameDrake_DoD");
			ArcaneDrake = DoDAssets.LoadAsset<GameObject>("ArcaneDrake_DoD");
			DarkDrake = DoDAssets.LoadAsset<GameObject>("DarknessDrake_DoD");
			PoisonDrake = DoDAssets.LoadAsset<GameObject>("PoisonDrake_DoD");
			BlackDrake = DoDAssets.LoadAsset<GameObject>("DarkDrake_DoD");
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while loading assets: {arg}");
		}
	}

	private void AddLocalizations()
	{
		try
		{
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization = Localization;
			string text = "English";
			localization.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "item_bhygshancrown_dod", "Bhygshan's Crown" },
				{ "item_bhygshancrown_desc_dod", "Bhygshan's magical crown" },
				{ "enemy_wizard_dod", "Evil Wizard" },
				{ "enemy_thenasty_dod", "The Nasty" },
				{ "enemy_golem_mm_dod", "Golem" },
				{ "enemy_earthtroll_dod", "Earth Troll" },
				{ "enemy_crazytroll_dod", "Crazy Troll" },
				{ "effect_immunity_bleed_dod", "Immunity to Bleeding" },
				{ "effect_immunity_bleed_tooltip_dod", " " },
				{ "item_circletofwounding_dod", "Protector" },
				{ "item_circletofwounding_desc_dod", "Gives the wearer immunity to <color=aqua>Bleed</color> effects" },
				{ "effect_frostnip_dod", "Frostnip" },
				{ "effect_frostnip_tooltip_dod", "Your limbs are freezing" },
				{ "item_cbait_dod", "Carnivore Bait" },
				{ "item_cbait_description_dod", "Can be used to tame some animals" },
				{ "effect_swift_dod", "Swift" },
				{ "effect_swift_tooltip_dod", "   " },
				{ "effect_enraged_dod", "Enraged" },
				{ "effect_enraged_tooltip_dod", "Damage increased by 10%" },
				{ "effect_beserker_dod", "Berserk" },
				{ "effect_beserker_tooltip_dod", "Damage increased by 20%" },
				{ "effect_poisoned_dod", "Poisoned" },
				{ "effect_poisoned_tooltip_dod", "You dont feel quite right" },
				{ "effect_poisoned_end_dod", "You are feeling better" },
				{ "effect_odinswaters_dod", "Waters of Odin" },
				{ "effect_odinswaters_tooltip_dod", "Will remove one negative effect." },
				{ "effect_waterglobe_remove_dod", "Effect Removed" },
				{ "effect_nocure_dod", "Nothing to Cure" },
				{ "effect_blistered_dod", "Blistered" },
				{ "effect_blistered_tooltip_dod", "Your skin has blistered from the heat" },
				{ "effect_lesserbleeding_dod", "Lesser Bleeding" },
				{ "effect_lesserbleeding_tooltip_dod", "You have a minor injury" },
				{ "effect_bleeding_dod", "Bleeding" },
				{ "effect_bleeding_tooltip_dod", "You have an injury" },
				{ "effect_frostbite_dod", "Frostbite" },
				{ "effect_frostbite_tooltip_dod", "Your limbs are freezing" },
				{ "effect_slowed_dod", "Slowed" },
				{ "effect_slowed_tooltip_dod", "Your limbs feel heavy" },
				{ "effect_hot_dod", "Regeneration" },
				{ "effect_hot_tooltip_dod", "You are gaining health" },
				{ "effect_greaterhot_dod", "Improved Regeneration" },
				{ "effect_greaterhot_tooltip_dod", "You are gaining health" },
				{ "effect_shielded_dod", "Shielded" },
				{ "effect_shielded_tooltip_dod", "You have a shield absorbing damage" },
				{ "effect_weak_dod", "Weak" },
				{ "effect_weak_tooltip_dod", "You feel like the world is crushing you" },
				{ "effect_infected_dod", "Infected" },
				{ "effect_infected_tooltip_dod", "You dont feel so good" },
				{ "effect_diseased_dod", "Diseased" },
				{ "effect_diseased_tooltip_dod", "You dont feel quite right" },
				{ "enemy_ghost_white_dod", "Ghost" },
				{ "enemy_ghost_ice_dod", "Glowing Ghost" },
				{ "item_infusedgemstone_dod", "Infused Gemstone" },
				{ "item_infusedgemstone_desc_dod", "Gemstone infused with some sort of energy" },
				{ "piece_drakespawner_gold_dod", "Golden Defender" },
				{ "piece_drakespawner_gold_desc_dod", "Spawns upto 5 Gold Drakes to defend your base." },
				{ "enemy_pin_skirsandburst_dod", "Skir Sandburst" },
				{ "enemy_pin_bhygshan_dod", "Bhygshan" },
				{ "piece_skirsandburstaltar_dod", "Skir Sandburst Altar" },
				{ "piece_skirsandburstaltar_text_dod", "Requires 5 Ruby Foci" },
				{ "piece_bitterstumpaltar_dod", "Bitterstump Altar" },
				{ "piece_vegvisir_dod", "Location Rune" },
				{ "piece_vegvisir_desc_dod", "Shows the location of a Do or Die boss" },
				{ "prop_altar_bitterstump_dod", "Bitterstump Altar" },
				{ "item_token_skull_dod", "Skull Token" },
				{ "item_token_skull_description_dod", "Knarr the Trader likes these." },
				{ "location_bitterstumpcave_dod", "Bitterstump Altar" },
				{ "location_bitterstumpcave_text_dod", "Requires 5 Greydwarf Hearts" },
				{ "enemy_pin_bitterstump_dod", "Bitterstump" },
				{ "location_bitterstump_dod", "Bitterstump's Cave" },
				{ "lore_bitterstump_dod", "Bitterstump - Unknown" },
				{ "piece_ramborecave_dod", "Ram'Bore Altar" },
				{ "piece_ramborecave_text_dod", "Requires 5 Boar Tusks" },
				{ "enemy_pin_rambore_dod", "Ram'Bore" },
				{ "location_rambore_dod", "Ram'Bore's Cave" },
				{ "lore_rambore_dod", "Ram'Bore - Unknown" },
				{ "piece_lorestone_dod", "Lorestone" },
				{ "piece_bhygshanaltar_dod", "Bhygshan Altar" },
				{ "piece_bhygshanaltar_text_dod", "Requires 5 Skeleton Bones" },
				{ "piece_farkascave_dod", "Farkas Altar" },
				{ "piece_farkascave_text_dod", "Requires 5 Large Fangs" },
				{ "Bhygshan", "Bhygshan" },
				{ "Bitterstump", "Bitterstump" },
				{ "Farkas", "Farkas" },
				{ "RamBore", "Ram'bore" },
				{ "SkirSandburst", "Skir Sandburst" },
				{ "FarkasClone", "Farkas's Shadow" },
				{ "PurpleDrake", "Purple Drake" },
				{ "BlackDeer", "Black Deer" },
				{ "BlackStag", "Black Stag" },
				{ "CharredRemains", "Charred Remains" },
				{ "BlackDrake", "Black Drake" },
				{ "DarkDrake", "Dark Drake" },
				{ "DireWolfCub", "Dire Wolf Cub" },
				{ "DireWolf", "Dire Wolf" },
				{ "FlameDrake", "Flame Drake" },
				{ "ForestWolfCub", "Forest Wolf Cub" },
				{ "ForestWolf", "Forest Wolf" },
				{ "Frostling", "Frostling" },
				{ "FrozenBones", "Frozen Bones" },
				{ "GoldDrake", "Gold Drake" },
				{ "GreaterSurtling", "Greater Surtling" },
				{ "IceDrake", "Ice Drake" },
				{ "IceGolem", "Ice Golem" },
				{ "LavaGolem", "Lava Golem" },
				{ "LivingLava", "Living Lava" },
				{ "LivingWater", "Living Water" },
				{ "ObsidianGolem", "Obsidian Golem" },
				{ "GreenDrake", "Green Drake" },
				{ "Stormling", "Stormling" },
				{ "VilefangCub", "Vilefang Cub" },
				{ "Vilefang", "Vilefang" },
				{ "Voidling", "Voidling" },
				{ "BhygshanAltar", "Bhygshan Altar" },
				{ "BitterstumpAltar", "Bitterstump Altar" },
				{ "FarkasAltar", "Farkas Altar" },
				{ "RamboneAltar", "Ram'Bone Altar" },
				{ "SkirSandburstAltar", "Skir Sandburst Altar" },
				{ "BlackDeerHide", "Black Deer Hide" },
				{ "BlackDeerHide_desc", "Hide from a Black Deer" },
				{ "BoarTusk", "Boar Tusk" },
				{ "BoarTusk_desc", "Boar Tusk's are required to summon Ram'Bore" },
				{ "CharredBoneFragments", "Charred Bone Fragments" },
				{ "CharredBoneFragments_desc", "Fragments of charred bone" },
				{ "DireWolfHide", "Dire Wolf Hide" },
				{ "DireWolfHide_desc", "Hide of a Dire Wolf" },
				{ "ForestWolfHide", "Forest Wolf Hide" },
				{ "ForestWolfHide_desc", "Hide of a Forest Wolf" },
				{ "FrostlingCore", "Frostling Core" },
				{ "FrostlingCore_desc", "Core from a Frostling Demon" },
				{ "FrozenBoneFragment", "Frozen Bone Fragment" },
				{ "FrozenBoneFragment_desc", "Fragments of frozen bone" },
				{ "GreydwarfHeart", "Greydwarf Heart" },
				{ "GreydwarfHeart_desc", "Greydwarf Heart's are required to summon Bitterstump" },
				{ "GreyPearl", "Grey Pearl" },
				{ "GreyPearl_desc", "Not so shinny pearl" },
				{ "InfusedGemstone", "Infused Gemstone" },
				{ "InfusedGemstone_desc", "You feel an energy within" },
				{ "LargeFang", "Large Fang" },
				{ "LargeFang_desc", "Large Fang's are required to summon Farkas" },
				{ "RubyFoci", "Ruby Foci" },
				{ "RubyFoci_desc", "Ruby Foci are required to summon Skir Sandburst" },
				{ "SkeletonBones", "Skeleton Bones" },
				{ "SkeletonBones_desc", "Skeleton Bones are required for summoning Bhygshan" },
				{ "BlackChitin", "Black Chitin" },
				{ "BlackChitin_desc", "Chitin obtained from a spider" },
				{ "StormlingCore", "Stormling Core" },
				{ "StormlingCore_desc", "Core from a Stormling Demon" },
				{ "VoidlingCore", "Voidling Core" },
				{ "VoidlingCore_desc", "Core from a Voidling Demon" },
				{ "GlobeofWater", "Odin's Water" },
				{ "GlobeofWater_desc", "A magical, swirling, globe of Water" },
				{ "item_trophy_icedrake", "Ice Drake Head" },
				{ "item_trophy_icedrake_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_flamedrake", "Flame Drake Head" },
				{ "item_trophy_flamedrake_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_arcanedrake", "Arcane Drake Head" },
				{ "item_trophy_arcanedrake_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_poisondrake", "Poison Drake Head" },
				{ "item_trophy_poisondrake_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_darkdrake", "Dark Drake Head" },
				{ "item_trophy_darkdrake_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_darknessdrake", "Darkness Drake Head" },
				{ "item_trophy_darknessdrake_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_golddrake", "Gold Drake Head" },
				{ "item_trophy_golddrake_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_skeletonchar_dod", "Charred Skull" },
				{ "item_trophy_skeletonchar_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_skeletonr_dod", "Brittle Skull" },
				{ "item_trophy_skeletonr_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_skeletong_dod", "Pale Skull" },
				{ "item_trophy_skeletong_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_frozenbones_dod", "Frozen Skull" },
				{ "item_trophy_frozenbones_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_forestwolf_dod", "Forest Wolf Head" },
				{ "item_trophy_forestwolf_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_direwolf_dod", "Dire Wolf Head" },
				{ "item_trophy_direwolf_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_vilefang_dod", "Vilefang Head" },
				{ "item_trophy_vilefang_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_frostling_dod", "Frostling Head" },
				{ "item_trophy_frostlingdescription", "A Trophy, hang it up on your wall" },
				{ "item_trophy_voidling_dod", "Voidling Head" },
				{ "item_trophy_voidling_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_stormling_dod", "Stormling Head" },
				{ "item_trophy_stormling_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_livinglava_dod", "Living Lava" },
				{ "item_trophy_livinglava_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_blackdeer_dod", "Black Deer Head" },
				{ "item_trophy_blackdeer_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_obgolem_dod", "Obsidian Golem Head" },
				{ "item_trophy_obgolem__description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_lavagolem_dod", "Lava Golem Head" },
				{ "item_trophy_lavagolem_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_icegolem_dod", "Ice Golem Head" },
				{ "item_trophy_icegolem_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_livingwater_dod", "Living Water" },
				{ "item_trophy_livingwater_description", "A Trophy, hang it up on your wall" },
				{ "item_trophy_gsurtling_dod", "Greater Surtling Head" },
				{ "item_trophy_gsurtling_description", "A Trophy, hang it up on your wall" }
			});
			CustomLocalization localization2 = Localization;
			text = "Chinese";
			localization2.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "enemy_thenasty_dod", "The Nasty" },
				{ "enemy_golem_mm_dod", "Golem" },
				{ "enemy_earthtroll_dod", "Earth Troll" },
				{ "enemy_crazytroll_dod", "Crazy Troll" },
				{ "effect_bleeding_dod", "流血" },
				{ "effect_bleedingstart_dod", "你在流血。" },
				{ "effect_bleedingstop_dod", "你已经不再流血了。" },
				{ "effect_bleedingtooltip_dod", "你因受伤流血。" },
				{ "enemy_pin_skirsandburst_dod", "萨满祭司" },
				{ "enemy_pin_bhygshan_dod", "幽冥之灵" },
				{ "piece_skirsandburstaltar_dod", "萨满祭司的祭坛" },
				{ "piece_skirsandburstaltar_text_dod", "需要5个红宝石作为祭品" },
				{ "piece_bitterstumpaltar_dod", "森林萨满的祭坛" },
				{ "piece_vegvisir_dod", "定位符石" },
				{ "piece_vegvisir_desc_dod", "显示Do or Die boss 的位置" },
				{ "prop_altar_bitterstump_dod", "森林萨满的祭坛" },
				{ "item_token_skull_dod", "骷髅头令牌" },
				{ "item_token_skull_description_dod", "商人Knarr喜欢这些." },
				{ "location_bitterstumpcave_dod", "森林萨满的祭坛" },
				{ "location_bitterstumpcave_text_dod", "需要5颗灰矮人之心" },
				{ "enemy_pin_bitterstump_dod", "森林萨满" },
				{ "location_bitterstump_dod", "森林萨满的洞穴" },
				{ "lore_bitterstump_dod", "森林萨满--未知" },
				{ "piece_ramborecave_dod", "野猪之王的祭坛" },
				{ "piece_ramborecave_text_dod", "需要5个野野猪獠牙" },
				{ "enemy_pin_rambore_dod", "野猪之王" },
				{ "location_rambore_dod", "野猪之王的洞穴" },
				{ "lore_rambore_dod", "野猪之王--未知" },
				{ "piece_lorestone_dod", "传说之石" },
				{ "piece_bhygshanaltar_dod", "幽冥之灵的祭坛" },
				{ "piece_bhygshanaltar_text_dod", "需要5个骷髅骨" },
				{ "piece_farkascave_dod", "霜狼之王的祭坛" },
				{ "piece_farkascave_text_dod", "需要5颗大獠牙。" },
				{ "Bhygshan", "幽冥之灵" },
				{ "Bitterstump", "森林萨满" },
				{ "Farkas", "霜狼之王" },
				{ "RamBore", "野猪之王" },
				{ "SkirSandburst", "萨满祭司" },
				{ "FarkasClone", "霜狼之王-孪生" },
				{ "PurpleDrake", "紫龙" },
				{ "BlackDeer", "黑鹿" },
				{ "BlackStag", "黑雄鹿" },
				{ "CharredRemains", "烧焦的遗骸" },
				{ "BlackDrake", "黑亚龙" },
				{ "DarkDrake", "恶龙" },
				{ "DireWolfCub", "幽冥狼幼崽" },
				{ "DireWolf", "幽冥狼" },
				{ "FlameDrake", "火亚龙" },
				{ "ForestWolfCub", "森林狼幼崽" },
				{ "ForestWolf", "森林之狼" },
				{ "Frostling", "冰霜恶魔" },
				{ "FrozenBones", "冰冻的骨头" },
				{ "GoldDrake", "黄金龙" },
				{ "GreaterSurtling", "巨大焰灵" },
				{ "IceDrake", "冰霜亚龙" },
				{ "IceGolem", "寒冰傀儡" },
				{ "LavaGolem", "熔岩傀儡" },
				{ "LivingLava", "活体傀儡" },
				{ "LivingWater", "生命之灵" },
				{ "ObsidianGolem", "黑曜石魔像" },
				{ "GreenDrake", "绿龙" },
				{ "Stormling", "风暴恶魔" },
				{ "VilefangCub", "野兽宠幼崽" },
				{ "Vilefang", "野兽宠" },
				{ "Voidling", "虚空恶魔" },
				{ "BhygshanAltar", "幽冥之灵的祭坛" },
				{ "BitterstumpAltar", "森林萨满的祭坛" },
				{ "FarkasAltar", "霜狼之王的祭坛" },
				{ "RamboneAltar", "野猪只玩的祭坛" },
				{ "SkirSandburstAltar", "萨满祭司的祭坛" },
				{ "BlackDeerHide", "黑鹿皮" },
				{ "BlackDeerHide_desc", "黑鹿的藏身之处" },
				{ "BoarTusk", "野猪獠牙" },
				{ "BoarTusk_desc", "召唤野猪之王需要野猪獠牙。" },
				{ "CharredBoneFragments", "烧焦的骨头碎片" },
				{ "CharredBoneFragments_desc", "烧焦的骨头碎片" },
				{ "DireWolfHide", "幽狼皮" },
				{ "DireWolfHide_desc", "从幽狼身上剥下的皮" },
				{ "ForestWolfHide", "森林狼皮" },
				{ "ForestWolfHide_desc", "从森林狼身上剥下的皮" },
				{ "FrostlingCore", "冰霜核心" },
				{ "FrostlingCore_desc", "冰霜恶魔的核心" },
				{ "FrozenBoneFragment", "冷冻骨碎片" },
				{ "FrozenBoneFragment_desc", "冻骨碎片" },
				{ "GreydwarfHeart", "灰矮人之心" },
				{ "GreydwarfHeart_desc", "召唤森林萨满需要灰矮人之心" },
				{ "GreyPearl", "灰色珍珠" },
				{ "GreyPearl_desc", "不那么闪亮的珍珠" },
				{ "InfusedGemstone", "注入宝石" },
				{ "InfusedGemstone_desc", "你感觉到内在的能量" },
				{ "LargeFang", "大獠牙" },
				{ "LargeFang_desc", "召唤霜狼之王需要大獠牙" },
				{ "RubyFoci", "红宝石精华" },
				{ "RubyFoci_desc", "召唤萨满祭司需要红宝石精华" },
				{ "SkeletonBones", "骷髅骨" },
				{ "SkeletonBones_desc", "召唤幽冥之灵需要骷髅骨" },
				{ "BlackChitin", "黑色甲壳素" },
				{ "BlackChitin_desc", "从蜘蛛中提取的甲壳素" },
				{ "StormlingCore", "风暴核心" },
				{ "StormlingCore_desc", "风暴恶魔的核心" },
				{ "VoidlingCore", "虚空核心" },
				{ "VoidlingCore_desc", "虚空恶魔的核心" },
				{ "GlobeofWater", "水之球" },
				{ "GlobeofWater_desc", "神奇的水球" },
				{ "item_trophy_icedrake", "冰霜亚龙头战利品" },
				{ "item_trophy_icedrake_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_flamedrake", "火亚龙头战利品" },
				{ "item_trophy_flamedrake_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_arcanedrake", "奥术龙头战利品" },
				{ "item_trophy_arcanedrake_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_poisondrake", "毒龙头战利品" },
				{ "item_trophy_poisondrake_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_darkdrake", "黑龙头战利品" },
				{ "item_trophy_darkdrake_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_darknessdrake", "恶龙头战利品" },
				{ "item_trophy_darknessdrake_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_golddrake", "黄金龙头战利品" },
				{ "item_trophy_golddrake_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_skeletonchar_dod", "烧焦的头骨" },
				{ "item_trophy_skeletonchar_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_skeletonr_dod", "脆弱的头骨" },
				{ "item_trophy_skeletonr_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_skeletong_dod", "苍白的头骨" },
				{ "item_trophy_skeletong_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_frozenbones_dod", "冰冻的头骨" },
				{ "item_trophy_frozenbones_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_forestwolf_dod", "森林狼头战利品" },
				{ "item_trophy_forestwolf_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_direwolf_dod", "幽狼头战利品" },
				{ "item_trophy_direwolf_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_vilefang_dod", "野兽宠头战利品" },
				{ "item_trophy_vilefang_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_frostling_dod", "冰霜恶魔头战利品" },
				{ "item_trophy_frostlingdescription", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_voidling_dod", "虚空恶魔头这里战利品" },
				{ "item_trophy_voidling_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_stormling_dod", "风暴恶魔头战利品" },
				{ "item_trophy_stormling_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_livinglava_dod", "活体傀儡头战利品" },
				{ "item_trophy_livinglava_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_blackdeer_dod", "黑鹿头战利品" },
				{ "item_trophy_blackdeer_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_obgolem_dod", "黑曜石魔像头战利品" },
				{ "item_trophy_obgolem__description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_lavagolem_dod", "熔岩傀儡头战利品" },
				{ "item_trophy_lavagolem_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_icegolem_dod", "冰霜傀儡头战利品" },
				{ "item_trophy_icegolem_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_livingwater_dod", "生命之灵战利品" },
				{ "item_trophy_livingwater_description", "一个战利品,你可以把它挂在墙上" },
				{ "item_trophy_gsurtling_dod", "巨型焰灵头战利品" },
				{ "item_trophy_gsurtling_description", "一个战利品,你可以把它挂在墙上。" }
			});
			CustomLocalization localization3 = Localization;
			text = "Turkish";
			localization3.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "enemy_thenasty_dod", "The Nasty" },
				{ "enemy_golem_mm_dod", "Golem" },
				{ "enemy_earthtroll_dod", "Earth Troll" },
				{ "enemy_crazytroll_dod", "Crazy Troll" },
				{ "Bhygshan", "Bhygshan" },
				{ "Bitterstump", "Bitterstump" },
				{ "Farkas", "Farkas" },
				{ "RamBore", "Ram'bore" },
				{ "SkirSandburst", "Skir Sandburst" },
				{ "PurpleDrake", "Mor Ejder" },
				{ "BlackDeer", "Kara Karaca" },
				{ "BlackStag", "Kara Geyik" },
				{ "CharredRemains", "Alev İskelet" },
				{ "BlackDrake", "Kara Ejder" },
				{ "DarkDrake", "Karanlık Ejder" },
				{ "DireWolfCub", "Korkunç Kurt Yavrusu" },
				{ "DireWolf", "Korkunç Kurt" },
				{ "FlameDrake", "Alev Ejderi" },
				{ "ForestWolfCub", "Orman Kurdu Yavrusu" },
				{ "ForestWolf", "Orman Kurdu" },
				{ "Frostling", "Ayaz İfriti" },
				{ "FrozenBones", "Ayaz İskelet" },
				{ "GoldDrake", "Altın Ejder" },
				{ "GreaterSurtling", "Kadim Alaz" },
				{ "IceDrake", "Ayaz Ejder" },
				{ "IceGolem", "Ayaz Golem" },
				{ "LavaGolem", "Lav Golem" },
				{ "LivingLava", "Yaşayan Lav" },
				{ "LivingWater", "Yaşayan Su" },
				{ "ObsidianGolem", "Obsidyen Golem" },
				{ "GreenDrake", "Yeşil Ejder" },
				{ "Stormling", "Fırtına İfriti" },
				{ "VilefangCub", "Aşağılık Diş Yavrusu" },
				{ "Vilefang", "Aşağılık Diş" },
				{ "Voidling", "Boşluk İfriti" },
				{ "BhygshanAltar", "Bhygshan Sunağı" },
				{ "BitterstumpAltar", "Bitterstump Sunağı" },
				{ "FarkasAltar", "Farkas Sunağı" },
				{ "RamboneAltar", "Ram'Bone Sunağı" },
				{ "SkirSandburstAltar", "Skir Sandburst Sunağı" },
				{ "BlackDeerHide", "Siyah Karaca Derisi" },
				{ "BlackDeerHide_desc", "Siyah karacaya ait deri." },
				{ "BoarTusk", "Yaban Domuzu Dişi" },
				{ "BoarTusk_desc", "Yaban Domuzu Dişi, Ram'Bore çağırmak için kullanılır." },
				{ "CharredBoneFragments", "Kömürleşmiş Kemik Parçaları" },
				{ "CharredBoneFragments_desc", "Kül Diyarı'nda bulunan, kömürleşmiş kemik parçası." },
				{ "DireWolfHide", "Korkunç Kurt Derisi" },
				{ "DireWolfHide_desc", "Derin Kuzey bölgesinde bulunan korkunç kurda ait deri." },
				{ "ForestWolfHide", "Orman Kurdu Derisi" },
				{ "ForestWolfHide_desc", "Sisli Topraklar bölgesinde bulunan orman kurduna ait deri." },
				{ "FrostlingCore", "Ayaz İfriti Çekirdeği" },
				{ "FrostlingCore_desc", "Ayaz İfriti'nden elde edilen çekirdek." },
				{ "FrozenBoneFragment", "Donmuş Kemik Parçası" },
				{ "FrozenBoneFragment_desc", "Derin Kuzey bölgesinden elde edilen donmuş kemik parçası." },
				{ "GreydwarfHeart", "Bozcüce Kalbi" },
				{ "GreydwarfHeart_desc", "Bozcüce Kalbi, Bitterstump çağırmak için kullanılır." },
				{ "GreyPearl", "Gri İnci" },
				{ "GreyPearl_desc", "Okyanus bölgesinden elde edilebilen, üretimde kullanılan, çok parlak olmayan bir inci." },
				{ "InfusedGemstone", "Doldurulmuş Değerli Taş" },
				{ "InfusedGemstone_desc", "Bu değerli taşın içerisinde bir enerji hissediyorsun." },
				{ "LargeFang", "Büyük Diş" },
				{ "LargeFang_desc", "Büyük Diş, Farkas çağırmak için kullanılır" },
				{ "RubyFoci", "Yakut Odağı" },
				{ "RubyFoci_desc", "Yakut Odağı, Skir Sandburst çağırmak için kullanılır." },
				{ "SkeletonBones", "İskelet Kemiği" },
				{ "SkeletonBones_desc", "İskelet Kemiği, Bhygshan çağırmak için kullanılır" },
				{ "item_token_skull_dod", "Kurukafa Jetonu" },
				{ "item_token_skull_description_dod", "Kafatasına benzeyen bir nesne." },
				{ "BlackChitin", "Kara Kitin" },
				{ "BlackChitin_desc", "Chitin obtained from a spider" },
				{ "StormlingCore", "Fırtına İfriti Çekirdeği" },
				{ "StormlingCore_desc", "Fırtına İfriti'nden elde edilen çekirdek" },
				{ "VoidlingCore", "Boşluk İfriti Çekirdeği" },
				{ "VoidlingCore_desc", "Boşluk İfriti'nden elde edilen çekirdek" },
				{ "GlobeofWater", "Su Küresi" },
				{ "GlobeofWater_desc", "Büyülü bir nesneye benziyor." },
				{ "item_trophy_icedrake", "Buz Ejderhası Kafası" },
				{ "item_trophy_icedrake_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_flamedrake", "Alev Ejderha Kafası" },
				{ "item_trophy_flamedrake_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_arcanedrake", "Gizemli Ejderha Kafası" },
				{ "item_trophy_arcanedrake_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_poisondrake", "Zehirli Ejderhası Kafası" },
				{ "item_trophy_poisondrake_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_darkdrake", "Kara Ejderha Kafası" },
				{ "item_trophy_darkdrake_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_darknessdrake", "Karanlık Ejderha Kafası" },
				{ "item_trophy_darknessdrake_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_golddrake", "Altın Ejderha Kafası" },
				{ "item_trophy_golddrake_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_skeletonchar_dod", "Alevli Kafatası" },
				{ "item_trophy_skeletonchar_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_skeletonr_dod", "Kırılgan Kafatası" },
				{ "item_trophy_skeletonr_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_skeletong_dod", "Soluk Kafatası" },
				{ "item_trophy_skeletong_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_frozenbones_dod", "Donmuş Kafatası" },
				{ "item_trophy_frozenbones_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_forestwolf_dod", "Orman Kurdu Kafası" },
				{ "item_trophy_forestwolf_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_direwolf_dod", "Korkunç Kurt Kafası" },
				{ "item_trophy_direwolf_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_vilefang_dod", "Aşağalıkdiş Kafası" },
				{ "item_trophy_vilefang_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_frostling_dod", "Buz Şeytanı Kfası" },
				{ "item_trophy_frostlingdescription", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_voidling_dod", "Boşluk Şeytanı Kafası" },
				{ "item_trophy_voidling_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_stormling_dod", "Fırtına Şeytanı Kafası" },
				{ "item_trophy_stormling_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_livinglava_dod", "Yaşayan Lav Ganimeti" },
				{ "item_trophy_livinglava_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_blackdeer_dod", "Kara Geyik Kafası" },
				{ "item_trophy_blackdeer_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_obgolem_dod", "Obsidyen Golem Kafası" },
				{ "item_trophy_obgolem__description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_lavagolem_dod", "Lav Golem Kafası" },
				{ "item_trophy_lavagolem_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_icegolem_dod", "Buz Golem Kafası" },
				{ "item_trophy_icegolem_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_livingwater_dod", "Yaşayan Su Ganimeti" },
				{ "item_trophy_livingwater_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." },
				{ "item_trophy_gsurtling_dod", "Kadim Alaz Kafası" },
				{ "item_trophy_gsurtling_description", "Bu canavarın ganimetini duvarınızda sergileyebilirsiniz." }
			});
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Localication: {arg}");
		}
	}

	public void AddDoTEffects()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = dotEffectList;
			foreach (string text in array)
			{
				SE_DoT_HS val = DoDAssets.LoadAsset<SE_DoT_HS>(text);
				CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true);
				ItemManager.Instance.AddStatusEffect(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Status Effect database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding DoT Effects: {arg}");
		}
	}

	private void AddRagdolls()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = ragdollList;
			foreach (string text in array)
			{
				GameObject val = DoDAssets.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, true);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Ragdolls: {arg}");
		}
	}

	private void AddVFX()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = vfxList;
			foreach (string text in array)
			{
				GameObject val = DoDAssets.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, false);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding vfx prefabs: {arg}");
		}
	}

	private void AddFX()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = fxList;
			foreach (string text in array)
			{
				GameObject val = DoDAssets.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, true);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding fx prefabs: {arg}");
		}
	}

	private void AddSFX()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = sfxList;
			foreach (string text in array)
			{
				GameObject val = DoDAssets.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, false);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding sfx prefabs: {arg}");
		}
	}

	private void AddAoE()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = aoeList;
			foreach (string text in array)
			{
				GameObject val = DoDAssets.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, true);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding aoe prefabs: {arg}");
		}
	}

	private void AddProjectile()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = projectileList;
			foreach (string text in array)
			{
				GameObject val = DoDAssets.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, false);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding projectile prefabs: {arg}");
		}
	}

	private void AddItems()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = itemList;
			foreach (string text in array)
			{
				GameObject val = DoDAssets.LoadAsset<GameObject>(text);
				CustomItem val2 = new CustomItem(val, true);
				ItemManager.Instance.AddItem(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding item prefabs: {arg}");
		}
	}

	private void AddAttacks()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = attackList;
			foreach (string text in array)
			{
				GameObject val = DoDAssets.LoadAsset<GameObject>(text);
				CustomItem val2 = new CustomItem(val, true);
				ItemManager.Instance.AddItem(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding attack prefabs: {arg}");
		}
	}

	private void AddWorldObjects()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = worldObjectList;
			foreach (string text in array)
			{
				GameObject val = DoDAssets.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, true);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding world object prefabs: {arg}");
		}
	}

	private void CreateDropables()
	{
		//IL_0014: Unknown result type (might be due to invalid IL or missing references)
		//IL_001a: Expected O, but got Unknown
		//IL_003f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Expected O, but got Unknown
		//IL_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0067: Expected O, but got Unknown
		GameObject val = DoDAssets.LoadAsset<GameObject>("CarnivorBait_DoD");
		ItemConfig val2 = new ItemConfig();
		val2.Amount = 5;
		val2.CraftingStation = "piece_artisanstation";
		val2.MinStationLevel = 1;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "LoxMeat",
				Amount = 20
			}
		};
		CustomItem val3 = new CustomItem(val, true, val2);
		ItemManager.Instance.AddItem(val3);
		if (LoggingEnable.Value)
		{
			((BaseUnityPlugin)this).Logger.LogMessage((object)"DoDMonsters: CreateDropables");
		}
	}

	private void AddNewMonsters()
	{
		//IL_0008: Unknown result type (might be due to invalid IL or missing references)
		//IL_000f: Expected O, but got Unknown
		//IL_0019: Unknown result type (might be due to invalid IL or missing references)
		//IL_001e: Unknown result type (might be due to invalid IL or missing references)
		//IL_002a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0036: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_004e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0057: Expected O, but got Unknown
		//IL_0059: Unknown result type (might be due to invalid IL or missing references)
		//IL_005e: Unknown result type (might be due to invalid IL or missing references)
		//IL_006a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0086: Unknown result type (might be due to invalid IL or missing references)
		//IL_008e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0097: Expected O, but got Unknown
		//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_00aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00be: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d7: Expected O, but got Unknown
		//IL_00d9: 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_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_0106: Unknown result type (might be due to invalid IL or missing references)
		//IL_010e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0117: Expected O, but got Unknown
		//IL_0119: Unknown result type (might be due to invalid IL or missing references)
		//IL_011e: Unknown result type (might be due to invalid IL or missing references)
		//IL_012a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0136: Unknown result type (might be due to invalid IL or missing references)
		//IL_013e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0147: Unknown result type (might be due to invalid IL or missing references)
		//IL_014f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0158: Expected O, but got Unknown
		//IL_015f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0165: Expected O, but got Unknown
		//IL_0177: Unknown result type (might be due to invalid IL or missing references)
		//IL_017e: Expected O, but got Unknown
		//IL_0188: Unknown result type (might be due to invalid IL or missing references)
		//IL_018d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0199: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a5: 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_01b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c6: Expected O, but got Unknown
		//IL_01c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ee: 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_01ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0208: Expected O, but got Unknown
		//IL_020a: Unknown result type (might be due to invalid IL or missing references)
		//IL_020f: Unknown result type (might be due to invalid IL or missing references)
		//IL_021b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0227: Unknown result type (might be due to invalid IL or missing references)
		//IL_022f: 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_023f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0248: Expected O, but got Unknown
		//IL_024a: Unknown result type (might be due to invalid IL or missing references)
		//IL_024f: Unknown result type (might be due to invalid IL or missing references)
		//IL_025b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0267: Unknown result type (might be due to invalid IL or missing references)
		//IL_026f: 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_027f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0288: Expected O, but got Unknown
		//IL_028a: Unknown result type (might be due to invalid IL or missing references)
		//IL_028f: Unknown result type (might be due to invalid IL or missing references)
		//IL_029b: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_02af: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c8: Expected O, but got Unknown
		//IL_02cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d5: Expected O, but got Unknown
		//IL_02e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ee: Expected O, but got Unknown
		//IL_02f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0309: Unknown result type (might be due to invalid IL or missing references)
		//IL_0315: Unknown result type (might be due to invalid IL or missing references)
		//IL_031d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0325: Unknown result type (might be due to invalid IL or missing references)
		//IL_032d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0336: Expected O, but got Unknown
		//IL_0338: Unknown result type (might be due to invalid IL or missing references)
		//IL_033d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0349: Unknown result type (might be due to invalid IL or missing references)
		//IL_0355: Unknown result type (might be due to invalid IL or missing references)
		//IL_035d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0365: Unknown result type (might be due to invalid IL or missing references)
		//IL_036d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0376: Expected O, but got Unknown
		//IL_0378: Unknown result type (might be due to invalid IL or missing references)
		//IL_037d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0389: 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_039d: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b6: Expected O, but got Unknown
		//IL_03b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c9: 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_03dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f6: Expected O, but got Unknown
		//IL_03f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0409: Unknown result type (might be due to invalid IL or missing references)
		//IL_0415: Unknown result type (might be due to invalid IL or missing references)
		//IL_041d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0425: Unknown result type (might be due to invalid IL or missing references)
		//IL_042d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0436: Expected O, but got Unknown
		//IL_0438: Unknown result type (might be due to invalid IL or missing references)
		//IL_043d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0449: Unknown result type (might be due to invalid IL or missing references)
		//IL_0455: Unknown result type (might be due to invalid IL or missing references)
		//IL_045d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0465: Unknown result type (might be due to invalid IL or missing references)
		//IL_046d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0476: Expected O, but got Unknown
		//IL_047d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0483: Expected O, but got Unknown
		//IL_0495: Unknown result type (might be due to invalid IL or missing references)
		//IL_049c: Expected O, but got Unknown
		//IL_04a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_04cb: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_04db: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e4: Expected O, but got Unknown
		//IL_04e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_04eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0503: Unknown result type (might be due to invalid IL or missing references)
		//IL_050b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0513: Unknown result type (might be due to invalid IL or missing references)
		//IL_051b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0524: Expected O, but got Unknown
		//IL_0526: Unknown result type (might be due to invalid IL or missing references)
		//IL_052b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0537: Unknown result type (might be due to invalid IL or missing references)
		//IL_0543: Unknown result type (might be due to invalid IL or missing references)
		//IL_054b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0553: Unknown result type (might be due to invalid IL or missing references)
		//IL_055b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0564: Expected O, but got Unknown
		//IL_0566: Unknown result type (might be due to invalid IL or missing references)
		//IL_056b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0577: Unknown result type (might be due to invalid IL or missing references)
		//IL_0583: Unknown result type (might be due to invalid IL or missing references)
		//IL_058b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0593: Unknown result type (might be due to invalid IL or missing references)
		//IL_059b: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a4: Expected O, but got Unknown
		//IL_05a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_05cb: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_05db: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e4: Expected O, but got Unknown
		//IL_05eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f1: Expected O, but got Unknown
		//IL_0603: Unknown result type (might be due to invalid IL or missing references)
		//IL_060a: Expected O, but got Unknown
		//IL_0614: 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_0625: Unknown result type (might be due to invalid IL or missing references)
		//IL_0631: Unknown result type (might be due to invalid IL or missing references)
		//IL_0639: Unknown result type (might be due to invalid IL or missing references)
		//IL_0641: 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_0652: Expected O, but got Unknown
		//IL_0654: Unknown result type (might be due to invalid IL or missing references)
		//IL_0659: Unknown result type (might be due to invalid IL or missing references)
		//IL_0665: Unknown result type (might be due to invalid IL or missing references)
		//IL_0671: 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_0681: Unknown result type (might be due to invalid IL or missing references)
		//IL_0689: Unknown result type (might be due to invalid IL or missing references)
		//IL_0692: Expected O, but got Unknown
		//IL_0694: Unknown result type (might be due to invalid IL or missing references)
		//IL_0699: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_06b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_06b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_06c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_06c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_06d2: Expected O, but got Unknown
		//IL_06d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_06e0: Expected O, but got Unknown
		//IL_06f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_06fa: Expected O, but got Unknown
		//IL_0704: Unknown result type (might be due to invalid IL or missing references)
		//IL_0709: 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_0721: Unknown result type (might be due to invalid IL or missing references)
		//IL_0729: Unknown result type (might be due to invalid IL or missing references)
		//IL_0731: Unknown result type (might be due to invalid IL or missing references)
		//IL_0739: Unknown result type (might be due to invalid IL or missing references)
		//IL_0742: Expected O, but got Unknown
		//IL_0744: Unknown result type (might be due to invalid IL or missing references)
		//IL_0749: Unknown result type (might be due to invalid IL or missing references)
		//IL_0755: Unknown result type (might be due to invalid IL or missing references)
		//IL_0761: Unknown result type (might be due to invalid IL or missing references)
		//IL_0769: Unknown result type (might be due to invalid IL or missing references)
		//IL_0771: Unknown result type (might be due to invalid IL or missing references)
		//IL_0779: Unknown result type (might be due to invalid IL or missing references)
		//IL_0782: Expected O, but got Unknown
		//IL_0784: Unknown result type (might be due to invalid IL or missing references)
		//IL_0789: Unknown result type (might be due to invalid IL or missing references)
		//IL_0795: Unknown result type (might be due to invalid IL or missing references)
		//IL_07a1: 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_07b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_07b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_07c2: Expected O, but got Unknown
		//IL_07c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_07d0: Expected O, but got Unknown
		//IL_07e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_07ea: Expected O, but got Unknown
		//IL_07f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_07f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0805: Unknown result type (might be due to invalid IL or missing references)
		//IL_0811: Unknown result type (might be due to invalid IL or missing references)
		//IL_0819: Unknown result type (might be due to invalid IL or missing references)
		//IL_0821: Unknown result type (might be due to invalid IL or missing references)
		//IL_0829: Unknown result type (might be due to invalid IL or missing references)
		//IL_0832: Expected O, but got Unknown
		//IL_0834: Unknown result type (might be due to invalid IL or missing references)
		//IL_0839: Unknown result type (might be due to invalid IL or missing references)
		//IL_0845: Unknown result type (might be due to invalid IL or missing references)
		//IL_0851: Unknown result type (might be due to invalid IL or missing references)
		//IL_0859: Unknown result type (might be due to invalid IL or missing references)
		//IL_0861: Unknown result type (might be due to invalid IL or missing references)
		//IL_0869: Unknown result type (might be due to invalid IL or missing references)
		//IL_0872: Expected O, but got Unknown
		//IL_0874: Unknown result type (might be due to invalid IL or missing references)
		//IL_0879: Unknown result type (might be due to invalid IL or missing references)
		//IL_0885: Unknown result type (might be due to invalid IL or missing references)
		//IL_0891: Unknown result type (might be due to invalid IL or missing references)
		//IL_0899: Unknown result type (might be due to invalid IL or missing references)
		//IL_08a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_08a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_08b2: Expected O, but got Unknown
		//IL_08b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_08b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_08c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_08d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_08d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_08e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_08e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_08f2: Expected O, but got Unknown
		//IL_08f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0900: Expected O, but got Unknown
		//IL_0913: Unknown result type (might be due to invalid IL or missing references)
		//IL_091a: Expected O, but got Unknown
		//IL_0924: Unknown result type (might be due to invalid IL or missing references)
		//IL_0929: Unknown result type (might be due to invalid IL or missing references)
		//IL_0935: Unknown result type (might be due to invalid IL or missing references)
		//IL_0941: Unknown result type (might be due to invalid IL or missing references)
		//IL_0949: Unknown result type (might be due to invalid IL or missing references)
		//IL_0951: Unknown result type (might be due to invalid IL or missing references)
		//IL_0959: Unknown result type (might be due to invalid IL or missing references)
		//IL_0962: Expected O, but got Unknown
		//IL_0964: Unknown result type (might be due to invalid IL or missing references)
		//IL_0969: Unknown result type (might be due to invalid IL or missing references)
		//IL_0975: Unknown result type (might be due to invalid IL or missing references)
		//IL_0981: Unknown result type (might be due to invalid IL or missing references)
		//IL_0989: Unknown result type (might be due to invalid IL or missing references)
		//IL_0991: Unknown result type (might be due to invalid IL or missing references)
		//IL_0999: Unknown result type (might be due to invalid IL or missing references)
		//IL_09a2: Expected O, but got Unknown
		//IL_09a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_09a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_09b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_09c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_09c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_09d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_09d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_09e2: Expected O, but got Unknown
		//IL_09e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_09e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_09f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a01: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a09: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a11: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a19: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a22: Expected O, but got Unknown
		//IL_0a29: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a30: Expected O, but got Unknown
		//IL_0a43: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a4a: Expected O, but got Unknown
		//IL_0a54: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a59: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a65: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a71: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a79: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a81: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a89: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a92: Expected O, but got Unknown
		//IL_0a94: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a99: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aa5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ac1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ac9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ad2: Expected O, but got Unknown
		//IL_0ad4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ad9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ae5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0af1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0af9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b01: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b09: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b12: Expected O, but got Unknown
		//IL_0b14: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b19: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b25: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b31: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b39: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b41: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b49: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b52: Expected O, but got Unknown
		//IL_0b59: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b60: Expected O, but got Unknown
		//IL_0b73: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b7a: Expected O, but got Unknown
		//IL_0b84: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b89: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b95: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ba1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ba9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bb1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bb9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bc2: Expected O, but got Unknown
		//IL_0bc4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bc9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bd5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0be1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0be9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bf1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bf9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c02: Expected O, but got Unknown
		//IL_0c04: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c09: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c15: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c21: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c29: 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_0c39: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c42: Expected O, but got Unknown
		//IL_0c49: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c50: Expected O, but got Unknown
		//IL_0c63: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c6a: Expected O, but got Unknown
		//IL_0c74: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c79: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c85: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c99: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ca1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ca9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cb2: Expected O, but got Unknown
		//IL_0cb4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cb9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cc5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cd1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cd9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ce1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ce9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cf2: Expected O, but got Unknown
		//IL_0cf9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d00: Expected O, but got Unknown
		//IL_0d13: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d1a: Expected O, but got Unknown
		//IL_0d24: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d29: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d35: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d41: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d49: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d51: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d59: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d62: Expected O, but got Unknown
		//IL_0d69: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d70: Expected O, but got Unknown
		//IL_0d83: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d8a: Expected O, but got Unknown
		//IL_0d94: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d99: Unknown result type (might be due to invalid IL or missing references)
		//IL_0da5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0db1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0db9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dc1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dc9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dd2: Expected O, but got Unknown
		//IL_0dd4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dd9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0de5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0df1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0df9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e01: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e09: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e12: Expected O, but got Unknown
		//IL_0e19: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e20: Expected O, but got Unknown
		//IL_0e33: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e3a: Expected O, but got Unknown
		//IL_0e44: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e49: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e55: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e61: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e69: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e71: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e79: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e82: Expected O, but got Unknown
		//IL_0e89: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e90: Expected O, but got Unknown
		//IL_0ea3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0eaa: Expected O, but got Unknown
		//IL_0eb4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0eb9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ec5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ed1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ed9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ee1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ee9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ef2: Expected O, but got Unknown
		//IL_0ef4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ef9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f05: 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_0f19: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f21: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f29: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f32: Expected O, but got Unknown
		//IL_0f34: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f39: 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_0f51: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f59: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f61: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f69: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f72: Expected O, but got Unknown
		//IL_0f74: 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_0f85: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f99: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fa1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fa9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fb2: Expected O, but got Unknown
		//IL_0fb9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fc0: Expected O, but got Unknown
		//IL_0fd3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fda: Expected O, but got Unknown
		//IL_0fe4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fe9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ff5: Unknown result type (might be due to invalid IL or missing references)
		//IL_1001: Unknown result type (might be due to invalid IL or missing references)
		//IL_1009: Unknown result type (might be due to invalid IL or m