Decompiled source of Krumpac Reforge Monster 01 v5.0.0

plugins/Krumpac_Reforge_Monster_01.dll

Decompiled 2 weeks ago
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using CreatureManager;
using HarmonyLib;
using ItemManager;
using JetBrains.Annotations;
using LocalizationManager;
using Microsoft.CodeAnalysis;
using PieceManager;
using StatusEffectManager;
using TMPro;
using UnityEngine;
using YamlDotNet.Core;
using YamlDotNet.Core.Events;
using YamlDotNet.Core.Tokens;
using YamlDotNet.Helpers;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.Converters;
using YamlDotNet.Serialization.EventEmitters;
using YamlDotNet.Serialization.NamingConventions;
using YamlDotNet.Serialization.NodeDeserializers;
using YamlDotNet.Serialization.NodeTypeResolvers;
using YamlDotNet.Serialization.ObjectFactories;
using YamlDotNet.Serialization.ObjectGraphTraversalStrategies;
using YamlDotNet.Serialization.ObjectGraphVisitors;
using YamlDotNet.Serialization.Schemas;
using YamlDotNet.Serialization.TypeInspectors;
using YamlDotNet.Serialization.TypeResolvers;
using YamlDotNet.Serialization.Utilities;
using YamlDotNet.Serialization.ValueDeserializers;

[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: Guid("35f1d538-23ab-49bd-b19a-fb2602b618b9")]
[assembly: ComVisible(false)]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCopyright("2022")]
[assembly: AssemblyProduct("MLReforged")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyTitle("MLReforged")]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: CompilationRelaxations(8)]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[<abd85232-9df8-41cf-bb69-64d1e28fb1f9>Embedded]
	internal sealed class <abd85232-9df8-41cf-bb69-64d1e28fb1f9>EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[<abd85232-9df8-41cf-bb69-64d1e28fb1f9>Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class <0c47249d-8021-4498-ab78-1a5b053f1550>NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public <0c47249d-8021-4498-ab78-1a5b053f1550>NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public <0c47249d-8021-4498-ab78-1a5b053f1550>NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	[<abd85232-9df8-41cf-bb69-64d1e28fb1f9>Embedded]
	[CompilerGenerated]
	internal sealed class <56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public <56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace MLReforged
{
	public static class BuildPieceStone
	{
		public static void init()
		{
			BuildPiece buildPiece = new BuildPiece("krump_monsters", "Piece_RTS_StoneTower");
			buildPiece.Name.English("Tower");
			buildPiece.Description.English("Archer Tower");
			buildPiece.RequiredItems.Add("Stone", 1, recover: false);
			buildPiece.Category.Set(BuildPieceCategory.Misc);
			buildPiece.Crafting.Set(PieceManager.CraftingTable.Workbench);
			buildPiece.Tool.Add("Hammer");
			BuildPiece buildPiece2 = new BuildPiece("krump_monsters", "Piece_RTS_StoneWall");
			buildPiece2.Name.English("Wall");
			buildPiece2.Description.English("Stone Wall");
			buildPiece2.RequiredItems.Add("Stone", 1, recover: false);
			buildPiece2.Category.Set(BuildPieceCategory.Misc);
			buildPiece2.Crafting.Set(PieceManager.CraftingTable.Workbench);
			buildPiece2.Tool.Add("Hammer");
			BuildPiece buildPiece3 = new BuildPiece("krump_monsters", "Piece_RTS_StoneGate");
			buildPiece3.Name.English("Wall");
			buildPiece3.Description.English("Stone Gate");
			buildPiece3.RequiredItems.Add("Stone", 1, recover: false);
			buildPiece3.Category.Set(BuildPieceCategory.Misc);
			buildPiece3.Crafting.Set(PieceManager.CraftingTable.Workbench);
			buildPiece3.Tool.Add("Hammer");
			BuildPiece buildPiece4 = new BuildPiece("krump_monsters", "Piece_RTS_StoneWallCorner1");
			buildPiece4.Name.English("Wall");
			buildPiece4.Description.English("Stone Gate");
			buildPiece4.RequiredItems.Add("Stone", 1, recover: false);
			buildPiece4.Category.Set(BuildPieceCategory.Misc);
			buildPiece4.Crafting.Set(PieceManager.CraftingTable.Workbench);
			buildPiece4.Tool.Add("Hammer");
			BuildPiece buildPiece5 = new BuildPiece("krump_monsters", "Piece_RTS_StoneWallCorner2");
			buildPiece5.Name.English("Wall");
			buildPiece5.Description.English("Stone Gate");
			buildPiece5.RequiredItems.Add("Stone", 1, recover: false);
			buildPiece5.Category.Set(BuildPieceCategory.Misc);
			buildPiece5.Crafting.Set(PieceManager.CraftingTable.Workbench);
			buildPiece5.Tool.Add("Hammer");
		}
	}
	[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(1)]
	[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(0)]
	public class MLConsumeItem : MonoBehaviour
	{
		[Serializable]
		[CompilerGenerated]
		[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(0)]
		private sealed class _003C_003Ec
		{
			public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();

			public static Comparison<BaseAI> _003C_003E9__34_0;
		}

		public float m_fedDuration = 30f;

		public EffectList m_sootheEffect = new EffectList();

		private Character m_character;

		private MonsterAI m_monsterAI;

		private ZNetView m_nview;

		private void Awake()
		{
			m_nview = ((Component)this).GetComponent<ZNetView>();
			m_character = ((Component)this).GetComponent<Character>();
			m_monsterAI = ((Component)this).GetComponent<MonsterAI>();
			Character character = m_character;
			MonsterAI monsterAI = m_monsterAI;
			monsterAI.m_onConsumedItem = (Action<ItemDrop>)Delegate.Combine(monsterAI.m_onConsumedItem, new Action<ItemDrop>(OnConsumedItem));
		}

		public bool IsHungry()
		{
			if ((Object)(object)m_nview == (Object)null)
			{
				return false;
			}
			ZDO zDO = m_nview.GetZDO();
			if (zDO == null)
			{
				return false;
			}
			DateTime dateTime = new DateTime(zDO.GetLong(ZDOVars.s_tameLastFeeding, 0L));
			return (ZNet.instance.GetTime() - dateTime).TotalSeconds > (double)m_fedDuration;
		}

		private void ResetFeedingTimer()
		{
			m_nview.GetZDO().Set(ZDOVars.s_tameLastFeeding, ZNet.instance.GetTime().Ticks);
		}

		private void OnConsumedItem(ItemDrop item)
		{
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			if (IsHungry())
			{
				m_sootheEffect.Create(m_character.GetCenterPoint(), Quaternion.identity, (Transform)null, 1f, -1);
			}
			ResetFeedingTimer();
		}
	}
	[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(1)]
	[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(0)]
	public class DeepSeaCreature : MonoBehaviour, IWaterInteractable
	{
		public float m_height = 0.2f;

		private readonly int[] m_liquids = new int[2];

		private MonsterAI m_avoidLand;

		private Rigidbody m_body;

		private Humanoid m_canSwim;

		private Humanoid m_flying;

		private float m_inWater = 26f;

		private LiquidSurface m_liquidSurface;

		private LODGroup m_lodGroup;

		private bool m_lodVisible = true;

		private ZNetView m_nview;

		private Vector3 m_originalLocalRef;

		private float m_waterDepth;

		private WaterVolume m_waterVolume;

		private void Awake()
		{
			m_nview = ((Component)this).GetComponent<ZNetView>();
			m_body = ((Component)this).GetComponent<Rigidbody>();
			m_flying = ((Component)this).GetComponent<Humanoid>();
			m_canSwim = ((Component)this).GetComponent<Humanoid>();
			m_avoidLand = ((Component)this).GetComponent<MonsterAI>();
			m_waterVolume = WaterVolume.Instances.FirstOrDefault();
		}

		private void Start()
		{
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			m_waterDepth = m_waterVolume.Depth(((Component)this).transform.position);
		}

		public string DebugInformation(WaterVolume waterVolume)
		{
			StringBuilder stringBuilder = new StringBuilder();
			Type type = ((object)waterVolume).GetType();
			float[] array = (float[])type.GetField("m_normalizedDepth", BindingFlags.Instance | BindingFlags.NonPublic)?.GetValue(waterVolume);
			stringBuilder.AppendLine($"m_normalizedDepth: {array?.Length}");
			if (array != null && array.Length != 0)
			{
				stringBuilder.AppendLine("->\tValues: " + string.Join(",", array) + "\n");
			}
			stringBuilder.AppendLine(string.Format("{0}: {1}", "m_heightmap", waterVolume.m_heightmap));
			stringBuilder.AppendLine(string.Format("{0}: {1}", "m_forceDepth", waterVolume.m_forceDepth));
			stringBuilder.AppendLine(string.Format("{0}: {1}", "m_surfaceOffset", waterVolume.m_surfaceOffset));
			stringBuilder.AppendLine(string.Format("{0}: {1}", "m_useGlobalWind", waterVolume.m_useGlobalWind));
			return stringBuilder.ToString();
		}

		private void FixedUpdate()
		{
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			if ((double)m_inWater <= -10000.0 || (double)m_inWater < (double)((Component)this).transform.position.y + (double)m_height)
			{
				m_body.useGravity = true;
				((Character)m_flying).m_flying = false;
				m_avoidLand.m_avoidLand = true;
				((Character)m_canSwim).m_canSwim = true;
				if (CustomIsOutOfWater())
				{
					return;
				}
			}
			else
			{
				m_body.useGravity = false;
			}
			((Character)m_flying).m_flying = true;
			m_avoidLand.m_avoidLand = false;
			((Character)m_canSwim).m_canSwim = false;
			if ((Object)(object)m_waterVolume != (Object)null && !CustomIsOutOfWater())
			{
			}
		}

		public void SetLiquidLevel(float level, LiquidType type, Component liquidObj)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0003: Invalid comparison between Unknown and I4
			if ((int)type == 0)
			{
				m_inWater = level;
			}
			m_liquidSurface = null;
			m_waterVolume = null;
			WaterVolume val = (WaterVolume)(object)((liquidObj is WaterVolume) ? liquidObj : null);
			if (val == null)
			{
				LiquidSurface val2 = (LiquidSurface)(object)((liquidObj is LiquidSurface) ? liquidObj : null);
				if (val2 != null)
				{
					m_liquidSurface = val2;
				}
			}
			else
			{
				m_waterVolume = val;
			}
		}

		public Transform GetTransform()
		{
			return ((Object)(object)this == (Object)null) ? null : ((Component)this).transform;
		}

		public int Increment(LiquidType type)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			return ++m_liquids[type];
		}

		public int Decrement(LiquidType type)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			return --m_liquids[type];
		}

		public bool CustomIsOutOfWater()
		{
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return (double)m_inWater < (double)((Component)this).transform.position.y - (double)m_height;
		}

		protected void SetVisible(bool visible)
		{
			//IL_005b: 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 (!((Object)(object)m_lodGroup == (Object)null) && m_lodVisible != visible)
			{
				m_lodVisible = visible;
				if (m_lodVisible)
				{
					m_lodGroup.localReferencePoint = m_originalLocalRef;
				}
				else
				{
					m_lodGroup.localReferencePoint = new Vector3(999999f, 999999f, 999999f);
				}
			}
		}
	}
	[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(0)]
	[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(1)]
	public class DeepSeaCreatureNew : MonoBehaviour, IWaterInteractable
	{
		public float m_height = 0.2f;

		private readonly int[] m_liquids = new int[2];

		private MonsterAI m_avoidLand;

		private Rigidbody m_body;

		private Humanoid m_canSwim;

		private Humanoid m_flying;

		private float m_inWater = 26f;

		private LiquidSurface m_liquidSurface;

		private LODGroup m_lodGroup;

		private bool m_lodVisible = true;

		private ZNetView m_nview;

		private Vector3 m_originalLocalRef;

		private float m_waterDepth;

		private WaterVolume m_waterVolume;

		private float m_waterWave;

		private int m_waterWaveCount;

		private float m_minDepth = 1f;

		private float m_maxDepth = 40f;

		private static float s_wrappedTimeSeconds;

		private void Awake()
		{
			m_nview = ((Component)this).GetComponent<ZNetView>();
			m_body = ((Component)this).GetComponent<Rigidbody>();
			m_flying = ((Component)this).GetComponent<Humanoid>();
			m_canSwim = ((Component)this).GetComponent<Humanoid>();
			m_avoidLand = ((Component)this).GetComponent<MonsterAI>();
			m_waterVolume = WaterVolume.Instances.FirstOrDefault();
			m_waterWaveCount = Random.Range(0, 1);
		}

		private void Start()
		{
			//IL_000e: 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)
			m_waterDepth = m_waterVolume.Depth(((Component)this).transform.position);
			m_waterWave = m_waterVolume.CalcWave(((Component)this).transform.position, m_waterDepth, s_wrappedTimeSeconds, 1f);
		}

		public string DebugInformation(WaterVolume waterVolume)
		{
			StringBuilder stringBuilder = new StringBuilder();
			Type type = ((object)waterVolume).GetType();
			float[] array = (float[])type.GetField("m_normalizedDepth", BindingFlags.Instance | BindingFlags.NonPublic)?.GetValue(waterVolume);
			stringBuilder.AppendLine($"m_normalizedDepth: {array?.Length}");
			if (array != null && array.Length != 0)
			{
				stringBuilder.AppendLine("->\tValues: " + string.Join(",", array) + "\n");
			}
			stringBuilder.AppendLine(string.Format("{0}: {1}", "m_heightmap", waterVolume.m_heightmap));
			stringBuilder.AppendLine(string.Format("{0}: {1}", "m_forceDepth", waterVolume.m_forceDepth));
			stringBuilder.AppendLine(string.Format("{0}: {1}", "m_surfaceOffset", waterVolume.m_surfaceOffset));
			stringBuilder.AppendLine(string.Format("{0}: {1}", "m_useGlobalWind", waterVolume.m_useGlobalWind));
			return stringBuilder.ToString();
		}

		private void FixedUpdate()
		{
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: 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_0062: Unknown result type (might be due to invalid IL or missing references)
			if (!m_nview.IsValid())
			{
				return;
			}
			Vector3 position = ((Component)this).transform.position;
			bool flag = CustomIsOutOfWater();
			if ((Object)(object)m_waterVolume != (Object)null)
			{
				if ((++m_waterWaveCount & 1) == 1)
				{
					m_waterDepth = m_waterVolume.Depth(position);
				}
				else
				{
					m_waterWave = m_waterVolume.CalcWave(position, m_waterDepth, s_wrappedTimeSeconds, 1f);
				}
			}
			if ((double)m_inWater <= -10000.0 || (double)m_inWater < (double)position.y + (double)m_height)
			{
				m_body.useGravity = true;
				((Character)m_flying).m_flying = false;
				m_avoidLand.m_avoidLand = true;
				((Character)m_canSwim).m_canSwim = true;
				if (!CustomIsOutOfWater())
				{
				}
			}
			else
			{
				m_body.useGravity = false;
				((Character)m_flying).m_flying = true;
				m_avoidLand.m_avoidLand = false;
				((Character)m_canSwim).m_canSwim = false;
				if ((Object)(object)m_waterVolume != (Object)null && !CustomIsOutOfWater())
				{
				}
			}
		}

		public void SetLiquidLevel(float level, LiquidType type, Component liquidObj)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0003: Invalid comparison between Unknown and I4
			if ((int)type == 0)
			{
				m_inWater = level;
			}
			m_liquidSurface = null;
			m_waterVolume = null;
			WaterVolume val = (WaterVolume)(object)((liquidObj is WaterVolume) ? liquidObj : null);
			if (val == null)
			{
				LiquidSurface val2 = (LiquidSurface)(object)((liquidObj is LiquidSurface) ? liquidObj : null);
				if (val2 != null)
				{
					m_liquidSurface = val2;
				}
			}
			else
			{
				m_waterVolume = val;
			}
		}

		public Transform GetTransform()
		{
			return ((Object)(object)this == (Object)null) ? null : ((Component)this).transform;
		}

		public int Increment(LiquidType type)
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			return ++m_liquids[type];
		}

		public int Decrement(LiquidType type)
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			return --m_liquids[type];
		}

		public bool CustomIsOutOfWater()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			return (double)m_inWater < (double)((Component)this).transform.position.y - (double)m_height;
		}

		protected void SetVisible(bool visible)
		{
			//IL_005b: 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 (!((Object)(object)m_lodGroup == (Object)null) && m_lodVisible != visible)
			{
				m_lodVisible = visible;
				if (m_lodVisible)
				{
					m_lodGroup.localReferencePoint = m_originalLocalRef;
				}
				else
				{
					m_lodGroup.localReferencePoint = new Vector3(999999f, 999999f, 999999f);
				}
			}
		}
	}
	[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(1)]
	[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(0)]
	public class HitAreaSFX : MonoBehaviour, IDestructible
	{
		public Action<HitData, HitAreaSFX> m_onHit;

		public float m_health = 100000f;

		[NonSerialized]
		public GameObject m_parentObject;

		public float m_hitNoise;

		public EffectList m_hitEffect = new EffectList();

		public DestructibleType GetDestructibleType()
		{
			return (DestructibleType)1;
		}

		public void Damage(HitData hit)
		{
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			float totalDamage = hit.GetTotalDamage();
			if ((double)totalDamage <= 0.0)
			{
				return;
			}
			m_hitEffect.Create(hit.m_point, Quaternion.identity, ((Component)this).transform, 1f, -1);
			if ((double)m_hitNoise > 0.0)
			{
				Player closestPlayer = Player.GetClosestPlayer(hit.m_point, 10f);
				if (Object.op_Implicit((Object)(object)closestPlayer))
				{
					((Character)closestPlayer).AddNoise(m_hitNoise);
				}
			}
			if (m_onHit != null)
			{
				m_onHit(hit, this);
			}
		}
	}
	[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(1)]
	[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(0)]
	public class InstantiatePrefabBoat : MonoBehaviour
	{
		public List<GameObject> m_spawnPrefab;

		private List<GameObject> m_spawnedMobs = new List<GameObject>();

		public bool m_attach;

		public bool m_moveToTop;

		public void Start()
		{
			//IL_0075: 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)
			ZLog.Log((object)(((object)this).GetType().Name + "." + MethodBase.GetCurrentMethod().Name + "()"));
			foreach (GameObject item in m_spawnPrefab)
			{
				ZLog.Log((object)("[" + ((object)this).GetType().Name + "] Spawning " + ((Object)item).name));
				GameObject val = Object.Instantiate<GameObject>(item, ((Component)((Component)this).transform).transform.position, ((Component)((Component)this).transform).transform.rotation);
				val.transform.SetParent(((Component)this).transform, true);
				m_spawnedMobs.Add(val);
			}
		}

		public void OnDestroy()
		{
			ZLog.Log((object)(((object)this).GetType().Name + "." + MethodBase.GetCurrentMethod().Name + "()"));
			foreach (GameObject spawnedMob in m_spawnedMobs)
			{
				if ((Object)(object)spawnedMob != (Object)null)
				{
					ZLog.Log((object)("[" + ((object)this).GetType().Name + "] Reparent " + ((Object)spawnedMob).name));
					spawnedMob.transform.parent = null;
				}
			}
		}
	}
	[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(1)]
	[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(0)]
	public class InstantiatePrefabBoatKinematic : MonoBehaviour
	{
		public List<GameObject> m_spawnPrefab;

		private List<GameObject> m_spawnedMobs = new List<GameObject>();

		public bool m_attach;

		public bool m_moveToTop;

		public void Start()
		{
			//IL_0025: 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)
			foreach (GameObject item in m_spawnPrefab)
			{
				GameObject val = Object.Instantiate<GameObject>(item, ((Component)((Component)this).transform).transform.position, ((Component)((Component)this).transform).transform.rotation);
				val.transform.SetParent(((Component)this).transform, true);
				m_spawnedMobs.Add(val);
			}
		}

		public void OnDestroy()
		{
			foreach (GameObject spawnedMob in m_spawnedMobs)
			{
				if ((Object)(object)spawnedMob != (Object)null)
				{
					spawnedMob.transform.parent = null;
					spawnedMob.GetComponent<Rigidbody>().isKinematic = false;
				}
			}
		}
	}
	[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(1)]
	[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(0)]
	public class NPC_Randomizer : MonoBehaviour
	{
		[Serializable]
		[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(0)]
		public class GrownEntry
		{
			[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(1)]
			public GameObject m_prefab;

			public float m_weight = 1f;
		}

		public float m_growTime = 60f;

		public bool m_inheritTame = true;

		public GameObject m_grownPrefab;

		public List<GrownEntry> m_altGrownPrefabs;

		private BaseAI m_baseAI;

		private ZNetView m_nview;

		private void Start()
		{
			m_baseAI = ((Component)this).GetComponent<BaseAI>();
			m_nview = ((Component)this).GetComponent<ZNetView>();
			((MonoBehaviour)this).InvokeRepeating("GrowUpdate", Random.Range(1f, 2f), 1f);
		}

		private void GrowUpdate()
		{
			//IL_0056: 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)
			if (!m_nview.IsValid() || !m_nview.IsOwner() || m_baseAI.GetTimeSinceSpawned().TotalSeconds <= (double)m_growTime)
			{
				return;
			}
			Character component = ((Component)this).GetComponent<Character>();
			Character component2 = Object.Instantiate<GameObject>(GetPrefab(), ((Component)this).transform.position, ((Component)this).transform.rotation).GetComponent<Character>();
			if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component2))
			{
				if (m_inheritTame)
				{
					component2.SetTamed(component.IsTamed());
				}
				component2.SetLevel(component.GetLevel());
			}
			m_nview.Destroy();
		}

		private GameObject GetPrefab()
		{
			if (m_altGrownPrefabs == null || m_altGrownPrefabs.Count == 0)
			{
				return m_grownPrefab;
			}
			float num = 0f;
			foreach (GrownEntry altGrownPrefab in m_altGrownPrefabs)
			{
				num += altGrownPrefab.m_weight;
			}
			float num2 = Random.Range(0f, num);
			float num3 = 0f;
			for (int i = 0; i < m_altGrownPrefabs.Count; i++)
			{
				num3 += m_altGrownPrefabs[i].m_weight;
				if ((double)num2 <= (double)num3)
				{
					return m_altGrownPrefabs[i].m_prefab;
				}
			}
			return m_altGrownPrefabs[0].m_prefab;
		}
	}
	public class ProjectilePrefabSpawner : MonoBehaviour
	{
		private const float m_minPlayerDistance = 64f;

		private const int m_maxGlobalSmoke = 100;

		private const float m_blockedMinTime = 4f;

		[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(1)]
		public GameObject[] m_spawnPrefab;

		public float m_interval = 0.5f;

		public LayerMask m_testMask;

		public float m_testRadius = 0.5f;

		private float m_lastSpawnTime;

		private float m_time;

		public bool m_snapToTerrain = true;

		public float m_spawnGroundOffset;

		public int m_getSolidHeightMargin = 1000;

		private void Start()
		{
			m_time = Random.Range(0f, m_interval);
		}

		private void Update()
		{
			m_time += Time.deltaTime;
			if (m_time > m_interval)
			{
				m_time = 0f;
				Spawn();
			}
		}

		private void Spawn()
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: 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)
			GameObject val = m_spawnPrefab[Random.Range(0, m_spawnPrefab.Length)];
			Vector3 position = ((Component)this).transform.position;
			Vector3 position2 = ((Component)this).transform.position;
			position2 = position;
			if (m_snapToTerrain)
			{
				float y = default(float);
				ZoneSystem.instance.GetSolidHeight(position2, ref y, m_getSolidHeightMargin);
				position2.y = y;
			}
			position2.y += m_spawnGroundOffset;
			m_lastSpawnTime = Time.time;
			GameObject val2 = Object.Instantiate<GameObject>(val, position2, Quaternion.Euler(0f, (float)((double)Random.value * 3.1415927410125732 * 2.0), 0f));
			m_lastSpawnTime = Time.time;
		}
	}
	[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(1)]
	[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(0)]
	public class MLRevive : MonoBehaviour
	{
		public float m_velMultiplier = 1f;

		public float m_ttl;

		public Renderer m_mainModel;

		public EffectList m_removeEffect = new EffectList();

		public Action<Vector3> m_onDestroyed;

		public bool m_float;

		public float m_floatOffset = -0.1f;

		public bool m_dropItems = true;

		private const float m_floatForce = 20f;

		private const float m_damping = 0.05f;

		private ZNetView m_nview;

		private Rigidbody[] m_bodies;

		private const float m_dropOffset = 0.75f;

		private const float m_dropArea = 0.5f;

		private void Awake()
		{
			m_nview = ((Component)this).GetComponent<ZNetView>();
			m_bodies = ((Component)this).GetComponentsInChildren<Rigidbody>();
			((MonoBehaviour)this).Invoke("RemoveInitVel", 2f);
			if (Object.op_Implicit((Object)(object)m_mainModel))
			{
				float @float = m_nview.GetZDO().GetFloat(ZDOVars.s_hue, 0f);
				float float2 = m_nview.GetZDO().GetFloat(ZDOVars.s_saturation, 0f);
				float float3 = m_nview.GetZDO().GetFloat(ZDOVars.s_value, 0f);
				m_mainModel.material.SetFloat("_Hue", @float);
				m_mainModel.material.SetFloat("_Saturation", float2);
				m_mainModel.material.SetFloat("_Value", float3);
			}
			((MonoBehaviour)this).InvokeRepeating("DestroyNow", m_ttl, 1f);
		}

		public Vector3 GetAverageBodyPosition()
		{
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: 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)
			//IL_003e: 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_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			if (m_bodies.Length == 0)
			{
				return ((Component)this).transform.position;
			}
			Vector3 val = Vector3.zero;
			Rigidbody[] bodies = m_bodies;
			foreach (Rigidbody val2 in bodies)
			{
				val += val2.position;
			}
			return val / (float)m_bodies.Length;
		}

		private void DestroyNow()
		{
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			if (m_nview.IsValid() && m_nview.IsOwner())
			{
				Vector3 averageBodyPosition = GetAverageBodyPosition();
				m_removeEffect.Create(((Component)((Component)this).transform).transform.position, ((Component)((Component)this).transform).transform.rotation, (Transform)null, 1f, -1);
				SpawnLoot(averageBodyPosition);
				ZNetScene.instance.Destroy(((Component)this).gameObject);
			}
		}

		private void RemoveInitVel()
		{
			//IL_0025: Unknown result type (might be due to invalid IL or missing references)
			if (m_nview.IsOwner())
			{
				m_nview.GetZDO().Set(ZDOVars.s_initVel, Vector3.zero);
			}
		}

		private void Start()
		{
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: 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_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			Vector3 vec = m_nview.GetZDO().GetVec3(ZDOVars.s_initVel, Vector3.zero);
			if (vec != Vector3.zero)
			{
				vec.y = Mathf.Min(vec.y, 4f);
				Rigidbody[] bodies = m_bodies;
				foreach (Rigidbody val in bodies)
				{
					val.velocity = vec * Random.value;
				}
			}
		}

		public void Setup(Vector3 velocity, float hue, float saturation, float value, CharacterDrop characterDrop)
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			velocity.x *= m_velMultiplier;
			velocity.z *= m_velMultiplier;
			m_nview.GetZDO().Set(ZDOVars.s_initVel, velocity);
			m_nview.GetZDO().Set(ZDOVars.s_hue, hue);
			m_nview.GetZDO().Set(ZDOVars.s_saturation, saturation);
			m_nview.GetZDO().Set(ZDOVars.s_value, value);
			if (Object.op_Implicit((Object)(object)m_mainModel))
			{
				m_mainModel.material.SetFloat("_Hue", hue);
				m_mainModel.material.SetFloat("_Saturation", saturation);
				m_mainModel.material.SetFloat("_Value", value);
			}
			if (Object.op_Implicit((Object)(object)characterDrop) && m_dropItems)
			{
				SaveLootList(characterDrop);
			}
		}

		private void SaveLootList(CharacterDrop characterDrop)
		{
			List<KeyValuePair<GameObject, int>> list = characterDrop.GenerateDropList();
			if (list.Count > 0)
			{
				ZDO zDO = m_nview.GetZDO();
				zDO.Set(ZDOVars.s_drops, list.Count, false);
				for (int i = 0; i < list.Count; i++)
				{
					KeyValuePair<GameObject, int> keyValuePair = list[i];
					int prefabHash = ZNetScene.instance.GetPrefabHash(keyValuePair.Key);
					zDO.Set("drop_hash" + i, prefabHash);
					zDO.Set("drop_amount" + i, keyValuePair.Value);
				}
			}
		}

		private void SpawnLoot(Vector3 center)
		{
			//IL_00cd: 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_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			ZDO zDO = m_nview.GetZDO();
			int @int = zDO.GetInt(ZDOVars.s_drops, 0);
			if (@int <= 0)
			{
				return;
			}
			List<KeyValuePair<GameObject, int>> list = new List<KeyValuePair<GameObject, int>>();
			for (int i = 0; i < @int; i++)
			{
				int int2 = zDO.GetInt("drop_hash" + i, 0);
				int int3 = zDO.GetInt("drop_amount" + i, 0);
				GameObject prefab = ZNetScene.instance.GetPrefab(int2);
				if ((Object)(object)prefab == (Object)null)
				{
					ZLog.LogWarning((object)("Ragdoll: Missing prefab:" + int2 + " when dropping loot"));
				}
				else
				{
					list.Add(new KeyValuePair<GameObject, int>(prefab, int3));
				}
			}
			CharacterDrop.DropItems(list, center + Vector3.up * 0.75f, 0.5f);
		}

		private void FixedUpdate()
		{
			if (m_float)
			{
				UpdateFloating(Time.fixedDeltaTime);
			}
		}

		private void UpdateFloating(float dt)
		{
			//IL_0016: 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_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: 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_0078: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: 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_0083: 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_0097: 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_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)
			Rigidbody[] bodies = m_bodies;
			foreach (Rigidbody val in bodies)
			{
				Vector3 worldCenterOfMass = val.worldCenterOfMass;
				worldCenterOfMass.y += m_floatOffset;
				float liquidLevel = Floating.GetLiquidLevel(worldCenterOfMass, 1f, (LiquidType)10);
				if ((double)worldCenterOfMass.y < (double)liquidLevel)
				{
					float num = (float)(((double)liquidLevel - (double)worldCenterOfMass.y) / 0.5);
					Vector3 val2 = Vector3.up * 20f * num;
					val.AddForce(val2 * dt, (ForceMode)2);
					val.velocity -= val.velocity * 0.05f * num;
				}
			}
		}
	}
	[<0c47249d-8021-4498-ab78-1a5b053f1550>Nullable(0)]
	[BepInPlugin("Krump_Monsters_Pack_1", "Krump_Monsters_Pack_1", "5.0.0")]
	[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(1)]
	public class MLReforged : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(ZNetScene), "Awake")]
		[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(0)]
		private static class ZNetScene_Awake_PostPatch
		{
			[<56272771-f7b1-4bf9-aa10-1aa44756e78b>NullableContext(1)]
			public static void Postfix(ZNetScene __instance)
			{
				if (!((Object)(object)__instance == (Object)null) && !fixedReferences)
				{
					fixedReferences = true;
				}
			}
		}

		private const string ModName = "Krump_Monsters_Pack_1";

		private const string ModVersion = "5.0.0";

		private const string ModGUID = "Krump_Monsters_Pack_1";

		public static ManualLogSource Log;

		private static bool fixedReferences;

		public void Awake()
		{
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Expected O, but got Unknown
			LoadAsm("Assembly_DYBScripts");
			LoadAsm("Assembly_DynamicBone");
			Localizer.Load();
			ML_SE_Scripts.SEAwake();
			CommonPrefabs.init();
			Krump_WearRat.init();
			Rats.init();
			Krump_Troll.init();
			Draugr.init();
			DraugrElite.init();
			Krump_Boar.init();
			Krump_Meadows_NPC.init();
			Worm.init();
			Sheep.init();
			Pig.init();
			Deer.init();
			KrumpGreylings.init();
			KrumpGreydwarf.init();
			KrumpGreydwarfBrute.init();
			KrumpGreydwarfShaman.init();
			KrumpSkeletonsT1.init();
			KrumpSkeletonsT2.init();
			KrumpGhost.init();
			KrumpNeck.init();
			KrumpSlime.init();
			KrumpSerpent.init();
			KrumpOctopus.init();
			KrumpGreatWhite.init();
			KrumpKraken.init();
			KrumpMountainOgre.init();
			KrumpHatchling.init();
			KrumpEikthyr.init();
			KrumpMosquito.init();
			KrumpElder.init();
			KrumpEvilMonk.init();
			KrumpFatherElias.init();
			Krump_Wraith.init();
			KrumpSpiders.init();
			KrumpCrawler.init();
			KrumpButcher.init();
			Assembly executingAssembly = Assembly.GetExecutingAssembly();
			Harmony val = new Harmony("Krump_Monsters_Pack_1");
			val.PatchAll(executingAssembly);
		}

		private static void LoadAsm(string name)
		{
			Stream manifestResourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MLReforged.Libs." + name + ".dll");
			byte[] array = new byte[manifestResourceStream.Length];
			manifestResourceStream.Read(array, 0, array.Length);
			try
			{
				Assembly.Load(array);
				manifestResourceStream.Dispose();
			}
			catch (Exception)
			{
			}
		}
	}
	public static class Krump_Boar
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_BlackForest_WarBoar_Boss");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_BlackForest_Boar_Male");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_BlackForest_Boar_Female");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_BlackForest_Boarlet");
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_BlackForest_WarBoar_Boss_Ragdoll");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_BlackForest_Boar_Male_Ragdoll");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_BlackForest_Boar_Female_Ragdoll");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_BlackForest_Boarlet_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Saddle_WarBoar");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Attack_BlackForest_WarBoar_Attack0");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Attack_BlackForest_WarBoar_Jump");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_Attack_BlackForest_WarBoar_Charge");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_Attack_BlackForest_WarBoarBoss_AttackCombo");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Krump_Attack_BlackForest_WarBoarBoss_Stomp");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "Krump_Attack_BlackForest_WarBoarBoss_Charge");
			item7.Configurable = Configurability.Disabled;
			Item item8 = new Item("krump_monsters", "Krump_Attack_BlackForest_WarBoarBoss_SuperSnort");
			item8.Configurable = Configurability.Disabled;
			Item item9 = new Item("krump_monsters", "Krump_Attack_BlackForest_WildBoar_Base_Attack");
			item9.Configurable = Configurability.Disabled;
			Item item10 = new Item("krump_monsters", "Krump_Attack_BlackForest_WildBoar_Run_Attack");
			item10.Configurable = Configurability.Disabled;
			GameObject val9 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_WarBoarBoss_attack");
			GameObject val10 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_WarBoarBoss_Super_Hit");
			GameObject val11 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_WarBoarBoss_Super_Snorting");
			GameObject val12 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_WarBoarBoss_Run");
			GameObject val13 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_WarBoarBoss_Walk");
			GameObject val14 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_warboar_boss_supersnort_hit");
			GameObject val15 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_warboar_boss_supersnort_start");
			GameObject val16 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__VFX_Krump_Boar_Death");
			GameObject val17 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_WarBoarBoss_SuperAOE");
		}
	}
	public static class CommonPrefabs
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "SpawnList_Dungeon_Swamp");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "SpawnList_Dungeon_Swamp_Ceiling");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_metal_shield_block");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_blood_hit_green");
		}
	}
	public static class Deer
	{
		public static void init()
		{
			//IL_0017: 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_026f: Unknown result type (might be due to invalid IL or missing references)
			Creature creature = new Creature("krump_monsters", "Krump_Monsters_Meadows_Deer_Stag")
			{
				Biome = (Biome)0
			};
			creature.ConfigurationEnabled = false;
			creature.Drops["Krump_Mat_Hide_Deer"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Krump_Mat_Hide_Deer"].DropChance = 100f;
			creature.Drops["Krump_Mat_Hide_Deer"].DropOnePerPlayer = false;
			creature.Drops["Krump_Mat_Hide_Deer"].MultiplyDropByLevel = false;
			creature.Drops["D_Deer_Carcass"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["D_Deer_Carcass"].DropChance = 100f;
			creature.Drops["D_Deer_Carcass"].DropOnePerPlayer = false;
			creature.Drops["D_Deer_Carcass"].MultiplyDropByLevel = false;
			creature.Drops["TrophyDeer"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["TrophyDeer"].DropChance = 50f;
			creature.Drops["TrophyDeer"].DropOnePerPlayer = false;
			creature.Drops["TrophyDeer"].MultiplyDropByLevel = false;
			Creature creature2 = new Creature("krump_monsters", "Krump_Monsters_Meadows_Deer_Doe")
			{
				Biome = (Biome)0
			};
			creature2.ConfigurationEnabled = false;
			creature2.Drops["Krump_Mat_Hide_Deer"].Amount = new CreatureManager.Range(1f, 1f);
			creature2.Drops["Krump_Mat_Hide_Deer"].DropChance = 100f;
			creature2.Drops["Krump_Mat_Hide_Deer"].DropOnePerPlayer = false;
			creature2.Drops["Krump_Mat_Hide_Deer"].MultiplyDropByLevel = false;
			creature2.Drops["D_Deer_Carcass"].Amount = new CreatureManager.Range(1f, 1f);
			creature2.Drops["D_Deer_Carcass"].DropChance = 100f;
			creature2.Drops["D_Deer_Carcass"].DropOnePerPlayer = false;
			creature2.Drops["D_Deer_Carcass"].MultiplyDropByLevel = false;
			Creature creature3 = new Creature("krump_monsters", "Krump_Monsters_Meadows_Deer_Fawn")
			{
				Biome = (Biome)0
			};
			creature3.ConfigurationEnabled = false;
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Deer_StagAngry");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Deer_Stag_Ragdoll");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Deer_Doe_Ragdoll");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Deer_Fawn_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Attack_Deer_HeadButt");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Attack_Deer_HeadButt_Moving");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Attack_Animal_Deer_Run");
			item3.Configurable = Configurability.Disabled;
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_deer_stag_alerted");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_deer_stag_attack");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_deer_stag_idle");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_deer_birth");
			GameObject val9 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_deer_stag_death");
		}
	}
	public static class Draugr
	{
		public static void init()
		{
			//IL_0017: 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)
			Creature creature = new Creature("krump_monsters", "Krump_Monsters_Swamp_Draugr0")
			{
				Biome = (Biome)0
			};
			creature.ConfigurationEnabled = false;
			creature.Drops["Entrails"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Entrails"].DropChance = 100f;
			creature.Drops["Entrails"].DropOnePerPlayer = false;
			creature.Drops["Entrails"].MultiplyDropByLevel = true;
			creature.Drops["TrophyDraugr"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["TrophyDraugr"].DropChance = 10f;
			creature.Drops["TrophyDraugr"].DropOnePerPlayer = false;
			creature.Drops["TrophyDraugr"].MultiplyDropByLevel = false;
			creature.Drops["Krump_Mat_Worms"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Krump_Mat_Worms"].DropChance = 50f;
			creature.Drops["Krump_Mat_Worms"].DropOnePerPlayer = false;
			creature.Drops["Krump_Mat_Worms"].MultiplyDropByLevel = false;
			Creature creature2 = new Creature("krump_monsters", "Krump_Monsters_Swamp_Draugr1")
			{
				Biome = (Biome)0
			};
			creature2.ConfigurationEnabled = false;
			creature2.Drops["Entrails"].Amount = new CreatureManager.Range(1f, 1f);
			creature2.Drops["Entrails"].DropChance = 100f;
			creature2.Drops["Entrails"].DropOnePerPlayer = false;
			creature2.Drops["Entrails"].MultiplyDropByLevel = true;
			creature2.Drops["TrophyDraugr"].Amount = new CreatureManager.Range(1f, 1f);
			creature2.Drops["TrophyDraugr"].DropChance = 10f;
			creature2.Drops["TrophyDraugr"].DropOnePerPlayer = false;
			creature2.Drops["TrophyDraugr"].MultiplyDropByLevel = false;
			creature2.Drops["Krump_Mat_Worms"].Amount = new CreatureManager.Range(1f, 1f);
			creature2.Drops["Krump_Mat_Worms"].DropChance = 50f;
			creature2.Drops["Krump_Mat_Worms"].DropOnePerPlayer = false;
			creature2.Drops["Krump_Mat_Worms"].MultiplyDropByLevel = false;
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Swamp_Draugr0_Ragdoll");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Swamp_Draugr1_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Draugr_AxeIron_Left");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Draugr_AxeIron_Right");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Draugr_MaceIron_Left");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_Draugr_MaceIron_Right");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_Draugr_SwordIron_Left");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Krump_Draugr_SwordIron_Right");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "HelmetDraugr0");
			item7.Configurable = Configurability.Disabled;
			Item item8 = new Item("krump_monsters", "HelmetDraugr1");
			item8.Configurable = Configurability.Disabled;
			Item item9 = new Item("krump_monsters", "HelmetDraugr2");
			item9.Configurable = Configurability.Disabled;
			Item item10 = new Item("krump_monsters", "HelmetDraugr3");
			item10.Configurable = Configurability.Disabled;
			Item item11 = new Item("krump_monsters", "Krump_Draugr_Rusted_ShieldIron");
			item11.Configurable = Configurability.Disabled;
			Item item12 = new Item("krump_monsters", "Krump_Draugr_DraugrBow");
			item12.Configurable = Configurability.Disabled;
			Item item13 = new Item("krump_monsters", "krump_attack_draugr_bow_dungeon");
			item13.Configurable = Configurability.Disabled;
			Item item14 = new Item("krump_monsters", "krump_attack_draugr_axe_left180");
			item14.Configurable = Configurability.Disabled;
			Item item15 = new Item("krump_monsters", "krump_attack_draugr_axe_leftlong");
			item15.Configurable = Configurability.Disabled;
			Item item16 = new Item("krump_monsters", "krump_attack_draugr_axe_right180");
			item16.Configurable = Configurability.Disabled;
			Item item17 = new Item("krump_monsters", "krump_attack_draugr_axe_rightlong");
			item17.Configurable = Configurability.Disabled;
			Item item18 = new Item("krump_monsters", "krump_attack_draugr_axe_slash");
			item18.Configurable = Configurability.Disabled;
			Item item19 = new Item("krump_monsters", "krump_attack_draugr_bow");
			item19.Configurable = Configurability.Disabled;
			Item item20 = new Item("krump_monsters", "krump_attack_draugr_mace_right180");
			item20.Configurable = Configurability.Disabled;
			Item item21 = new Item("krump_monsters", "krump_attack_draugr_mace_slash");
			item21.Configurable = Configurability.Disabled;
			Item item22 = new Item("krump_monsters", "krump_attack_draugr_shield");
			item22.Configurable = Configurability.Disabled;
			Item item23 = new Item("krump_monsters", "krump_attack_draugr_shield_block");
			item23.Configurable = Configurability.Disabled;
			Item item24 = new Item("krump_monsters", "krump_attack_draugr_sword_dualcombo");
			item24.Configurable = Configurability.Disabled;
			Item item25 = new Item("krump_monsters", "krump_attack_draugr_sword_left180");
			item25.Configurable = Configurability.Disabled;
			Item item26 = new Item("krump_monsters", "krump_attack_draugr_sword_leftlong");
			item26.Configurable = Configurability.Disabled;
			Item item27 = new Item("krump_monsters", "krump_attack_draugr_sword_right180");
			item27.Configurable = Configurability.Disabled;
			Item item28 = new Item("krump_monsters", "krump_attack_draugr_sword_rightlong");
			item28.Configurable = Configurability.Disabled;
			Item item29 = new Item("krump_monsters", "krump_attack_draugr_sword_slash");
			item29.Configurable = Configurability.Disabled;
			Item item30 = new Item("krump_monsters", "krump_attack_draugr_taunt");
			item30.Configurable = Configurability.Disabled;
			Item item31 = new Item("krump_monsters", "krump_attack_draugr_unarmed_bite");
			item31.Configurable = Configurability.Disabled;
			Item item32 = new Item("krump_monsters", "krump_attack_draugr_unarmed_double");
			item32.Configurable = Configurability.Disabled;
			Item item33 = new Item("krump_monsters", "krump_attack_draugr_unarmed_right");
			item33.Configurable = Configurability.Disabled;
		}
	}
	public static class DraugrElite
	{
		public static void init()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			Creature creature = new Creature("krump_monsters", "Krump_Monsters_Swamp_DraugrElite_01")
			{
				Biome = (Biome)0
			};
			creature.ConfigurationEnabled = false;
			creature.Drops["Entrails"].Amount = new CreatureManager.Range(2f, 3f);
			creature.Drops["Entrails"].DropChance = 100f;
			creature.Drops["Entrails"].DropOnePerPlayer = false;
			creature.Drops["Entrails"].MultiplyDropByLevel = true;
			creature.Drops["TrophyDraugrElite"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["TrophyDraugrElite"].DropChance = 10f;
			creature.Drops["TrophyDraugrElite"].DropOnePerPlayer = false;
			creature.Drops["TrophyDraugrElite"].MultiplyDropByLevel = false;
			creature.Drops["Krump_Mat_Worms"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Krump_Mat_Worms"].DropChance = 50f;
			creature.Drops["Krump_Mat_Worms"].DropOnePerPlayer = false;
			creature.Drops["Krump_Mat_Worms"].MultiplyDropByLevel = false;
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Swamp_DraugrKing");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Swamp_DraugrElite_Ragdoll");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Swamp_DraugrKing_Ragdoll");
			Item item = new Item("krump_monsters", "DraugrKing_Mace_2Hand");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Attack_DraugrKing_Attack0");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Attack_DraugrKing_Block0");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "krump_attack_draugrelite_whirlwind");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "krump_attack_draugrking_spawn");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "krump_attack_draugrelite_axe_dualcombo");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "krump_attack_draugrelite_axe_slash_combo");
			item7.Configurable = Configurability.Disabled;
			Item item8 = new Item("krump_monsters", "krump_attack_draugrelite_kick");
			item8.Configurable = Configurability.Disabled;
			Item item9 = new Item("krump_monsters", "krump_attack_draugrelite_sword_dualcombo");
			item9.Configurable = Configurability.Disabled;
			Item item10 = new Item("krump_monsters", "krump_attack_draugrelite_sword_slash_combo");
			item10.Configurable = Configurability.Disabled;
			Item item11 = new Item("krump_monsters", "krump_attack_draugrelite_taunt");
			item11.Configurable = Configurability.Disabled;
			Item item12 = new Item("krump_monsters", "krump_attack_draugrking_trigger_spawn");
			item12.Configurable = Configurability.Disabled;
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_DraugrKing_Shield_Hit");
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_draugrelite_taunt");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Block_2Hand");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Block_Shield");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_DraugrKing_Block_Hit");
			GameObject val9 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "krump_attack_draugrking_spawn_projectile");
			GameObject val10 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "krump_attack_draugrking_spawner");
			GameObject val11 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "krump_attack_draugrking_trigger_spawn_projectile");
		}
	}
	public static class DraugrKingSkeletons
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_DraugrKing_Skeleton_Spawn");
			Item item = new Item("krump_monsters", "Krump_ItemDrop_TrophySkeletonConversion");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "krump_attack_draugrking_skeleton_sword");
			item2.Configurable = Configurability.Disabled;
		}
	}
	public static class KrumpGreydwarfShaman
	{
		public static void init()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			Creature creature = new Creature("krump_monsters", "Krump_Monsters_Meadows_Greydwarf_Shaman")
			{
				Biome = (Biome)0
			};
			creature.ConfigurationEnabled = false;
			creature.Drops["Wood"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Wood"].DropChance = 100f;
			creature.Drops["Wood"].DropOnePerPlayer = false;
			creature.Drops["Wood"].MultiplyDropByLevel = true;
			creature.Drops["Pukeberries"].Amount = new CreatureManager.Range(1f, 2f);
			creature.Drops["Pukeberries"].DropChance = 100f;
			creature.Drops["Pukeberries"].DropOnePerPlayer = false;
			creature.Drops["Pukeberries"].MultiplyDropByLevel = true;
			creature.Drops["GreydwarfEye"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["GreydwarfEye"].DropChance = 50f;
			creature.Drops["GreydwarfEye"].DropOnePerPlayer = false;
			creature.Drops["GreydwarfEye"].MultiplyDropByLevel = false;
			creature.Drops["TrophyGreydwarfShaman"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["TrophyGreydwarfShaman"].DropChance = 10f;
			creature.Drops["TrophyGreydwarfShaman"].DropOnePerPlayer = false;
			creature.Drops["TrophyGreydwarfShaman"].MultiplyDropByLevel = false;
			creature.Drops["Resin"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Resin"].DropChance = 100f;
			creature.Drops["Resin"].DropOnePerPlayer = false;
			creature.Drops["Resin"].MultiplyDropByLevel = true;
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_TentaRoot");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Spawner_GreydwarfNest");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Greydwarf_Shaman_Ragdoll");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_TentaRoot_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_GreydwarfShaman_Heal");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_GreydwarfShaman_Roots");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_GreydwarfShaman_Spray");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_GreydwarfShaman_Combo");
			item4.Configurable = Configurability.Disabled;
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_tentaroot_death");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_GreydwarfShaman_Root_Spawn");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_GreydwarfShaman_Spray_Projectile");
		}
	}
	public static class KrumpGreydwarfBrute
	{
		public static void init()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			Creature creature = new Creature("krump_monsters", "Krump_Monsters_Meadows_Greydwarf_Brute")
			{
				Biome = (Biome)0
			};
			creature.ConfigurationEnabled = false;
			creature.Drops["Stone"].Amount = new CreatureManager.Range(2f, 2f);
			creature.Drops["Stone"].DropChance = 100f;
			creature.Drops["Stone"].DropOnePerPlayer = false;
			creature.Drops["Stone"].MultiplyDropByLevel = true;
			creature.Drops["GreydwarfEye"].Amount = new CreatureManager.Range(2f, 2f);
			creature.Drops["GreydwarfEye"].DropChance = 50f;
			creature.Drops["GreydwarfEye"].DropOnePerPlayer = false;
			creature.Drops["GreydwarfEye"].MultiplyDropByLevel = false;
			creature.Drops["TrophyGreydwarfBrute"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["TrophyGreydwarfBrute"].DropChance = 10f;
			creature.Drops["TrophyGreydwarfBrute"].DropOnePerPlayer = false;
			creature.Drops["TrophyGreydwarfBrute"].MultiplyDropByLevel = false;
			creature.Drops["Wood"].Amount = new CreatureManager.Range(3f, 5f);
			creature.Drops["Wood"].DropChance = 100f;
			creature.Drops["Wood"].DropOnePerPlayer = false;
			creature.Drops["Wood"].MultiplyDropByLevel = true;
			creature.Drops["AncientSeed"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["AncientSeed"].DropChance = 33f;
			creature.Drops["AncientSeed"].DropOnePerPlayer = false;
			creature.Drops["AncientSeed"].MultiplyDropByLevel = true;
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Greydwarf_Brute_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_GreydwarfBrute_Attack_Left");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_GreydwarfBrute_Attack_Right");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_GreydwarfBrute_Slam");
			item3.Configurable = Configurability.Disabled;
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_krump_greydwarf_elite_death");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_GreydwarfBrute_SlamAOE");
		}
	}
	public static class KrumpGreydwarf
	{
		public static void init()
		{
			//IL_0017: 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)
			Creature creature = new Creature("krump_monsters", "Krump_Monsters_Meadows_Greydwarf_F")
			{
				Biome = (Biome)0
			};
			creature.ConfigurationEnabled = false;
			creature.Drops["Wood"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Wood"].DropChance = 100f;
			creature.Drops["Wood"].DropOnePerPlayer = false;
			creature.Drops["Wood"].MultiplyDropByLevel = true;
			creature.Drops["GreydwarfEye"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["GreydwarfEye"].DropChance = 50f;
			creature.Drops["GreydwarfEye"].DropOnePerPlayer = false;
			creature.Drops["GreydwarfEye"].MultiplyDropByLevel = false;
			creature.Drops["Resin"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Resin"].DropChance = 100f;
			creature.Drops["Resin"].DropOnePerPlayer = false;
			creature.Drops["Resin"].MultiplyDropByLevel = true;
			Creature creature2 = new Creature("krump_monsters", "Krump_Monsters_Meadows_Greydwarf_M")
			{
				Biome = (Biome)0
			};
			creature2.ConfigurationEnabled = false;
			creature2.Drops["Stone"].Amount = new CreatureManager.Range(1f, 1f);
			creature2.Drops["Stone"].DropChance = 100f;
			creature2.Drops["Stone"].DropOnePerPlayer = false;
			creature2.Drops["Stone"].MultiplyDropByLevel = true;
			creature2.Drops["GreydwarfEye"].Amount = new CreatureManager.Range(1f, 1f);
			creature2.Drops["GreydwarfEye"].DropChance = 50f;
			creature2.Drops["GreydwarfEye"].DropOnePerPlayer = false;
			creature2.Drops["GreydwarfEye"].MultiplyDropByLevel = false;
			creature2.Drops["Wood"].Amount = new CreatureManager.Range(1f, 1f);
			creature2.Drops["Wood"].DropChance = 100f;
			creature2.Drops["Wood"].DropOnePerPlayer = false;
			creature2.Drops["Wood"].MultiplyDropByLevel = true;
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Greydwarf_F_Ragdoll");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Greydwarf_M_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Greydwarf_Attack_Combo0");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Left0");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Left_Move0");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Right0");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Right_Move0");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Jump0");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Combo1");
			item7.Configurable = Configurability.Disabled;
			Item item8 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Left1");
			item8.Configurable = Configurability.Disabled;
			Item item9 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Left_Move1");
			item9.Configurable = Configurability.Disabled;
			Item item10 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Right1");
			item10.Configurable = Configurability.Disabled;
			Item item11 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Right_Move1");
			item11.Configurable = Configurability.Disabled;
			Item item12 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Combo2");
			item12.Configurable = Configurability.Disabled;
			Item item13 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Left2");
			item13.Configurable = Configurability.Disabled;
			Item item14 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Left_Move2");
			item14.Configurable = Configurability.Disabled;
			Item item15 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Right2");
			item15.Configurable = Configurability.Disabled;
			Item item16 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Right_Move2");
			item16.Configurable = Configurability.Disabled;
			Item item17 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Zerker_Combo0");
			item17.Configurable = Configurability.Disabled;
			Item item18 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Zerker_Left0");
			item18.Configurable = Configurability.Disabled;
			Item item19 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Zerker_Right0");
			item19.Configurable = Configurability.Disabled;
			Item item20 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Zerker_Dodge0");
			item20.Configurable = Configurability.Disabled;
			Item item21 = new Item("krump_monsters", "Krump_Greydwarf_Attack_Zerker_Jump0");
			item21.Configurable = Configurability.Disabled;
		}
	}
	public static class KrumpGreylings
	{
		public static void init()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			Creature creature = new Creature("krump_monsters", "Krump_Monsters_Meadows_Greyling_F")
			{
				Biome = (Biome)0
			};
			creature.ConfigurationEnabled = false;
			creature.Drops["Resin"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Resin"].DropChance = 100f;
			creature.Drops["Resin"].DropOnePerPlayer = false;
			creature.Drops["Resin"].MultiplyDropByLevel = true;
			Creature creature2 = new Creature("krump_monsters", "Krump_Monsters_Meadows_Greyling_M")
			{
				Biome = (Biome)0
			};
			creature2.ConfigurationEnabled = false;
			creature2.Drops["Resin"].Amount = new CreatureManager.Range(1f, 1f);
			creature2.Drops["Resin"].DropChance = 100f;
			creature2.Drops["Resin"].DropOnePerPlayer = false;
			creature2.Drops["Resin"].MultiplyDropByLevel = true;
			creature2.Drops["Stone"].Amount = new CreatureManager.Range(1f, 1f);
			creature2.Drops["Stone"].DropChance = 100f;
			creature2.Drops["Stone"].DropOnePerPlayer = false;
			creature2.Drops["Stone"].MultiplyDropByLevel = true;
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Greyling_F_Ragdoll");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Greyling_M_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Greyling_Attack_Combo0");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Greyling_Attack_Left0");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Greyling_Attack_Left_Move0");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_Greyling_Attack_Right0");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_Greyling_Attack_Right_Move0");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Krump_Greyling_Attack_Jump0");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "Krump_Greyling_Attack_Combo1");
			item7.Configurable = Configurability.Disabled;
			Item item8 = new Item("krump_monsters", "Krump_Greyling_Attack_Left1");
			item8.Configurable = Configurability.Disabled;
			Item item9 = new Item("krump_monsters", "Krump_Greyling_Attack_Left_Move1");
			item9.Configurable = Configurability.Disabled;
			Item item10 = new Item("krump_monsters", "Krump_Greyling_Attack_Right1");
			item10.Configurable = Configurability.Disabled;
			Item item11 = new Item("krump_monsters", "Krump_Greyling_Attack_Right_Move1");
			item11.Configurable = Configurability.Disabled;
			Item item12 = new Item("krump_monsters", "Krump_Greyling_Attack_Combo2");
			item12.Configurable = Configurability.Disabled;
			Item item13 = new Item("krump_monsters", "Krump_Greyling_Attack_Left2");
			item13.Configurable = Configurability.Disabled;
			Item item14 = new Item("krump_monsters", "Krump_Greyling_Attack_Left_Move2");
			item14.Configurable = Configurability.Disabled;
			Item item15 = new Item("krump_monsters", "Krump_Greyling_Attack_Right2");
			item15.Configurable = Configurability.Disabled;
			Item item16 = new Item("krump_monsters", "Krump_Greyling_Attack_Right_Move2");
			item16.Configurable = Configurability.Disabled;
			Item item17 = new Item("krump_monsters", "Krump_Greyling_Attack_Zerker_Combo0");
			item17.Configurable = Configurability.Disabled;
			Item item18 = new Item("krump_monsters", "Krump_Greyling_Attack_Zerker_Left0");
			item18.Configurable = Configurability.Disabled;
			Item item19 = new Item("krump_monsters", "Krump_Greyling_Attack_Zerker_Right0");
			item19.Configurable = Configurability.Disabled;
			Item item20 = new Item("krump_monsters", "Krump_Greyling_Attack_Zerker_Dodge");
			item20.Configurable = Configurability.Disabled;
			Item item21 = new Item("krump_monsters", "Krump_Greyling_Attack_Zerker_Jump");
			item21.Configurable = Configurability.Disabled;
			Item item22 = new Item("krump_monsters", "Krump_Greyling_F_Attack_Combo0");
			item22.Configurable = Configurability.Disabled;
			Item item23 = new Item("krump_monsters", "Krump_Greyling_F_Attack_Left0");
			item23.Configurable = Configurability.Disabled;
			Item item24 = new Item("krump_monsters", "Krump_Greyling_F_Attack_Right0");
			item24.Configurable = Configurability.Disabled;
			Item item25 = new Item("krump_monsters", "Krump_Greyling_F_Attack_Dodge0");
			item25.Configurable = Configurability.Disabled;
			Item item26 = new Item("krump_monsters", "Krump_Greyling_F_Attack_Combo1");
			item26.Configurable = Configurability.Disabled;
			Item item27 = new Item("krump_monsters", "Krump_Greyling_F_Attack_Left1");
			item27.Configurable = Configurability.Disabled;
			Item item28 = new Item("krump_monsters", "Krump_Greyling_F_Attack_Right1");
			item28.Configurable = Configurability.Disabled;
			Item item29 = new Item("krump_monsters", "Krump_Greyling_F_Attack_Jump1");
			item29.Configurable = Configurability.Disabled;
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_krump_greydwarf_death");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_krump_greydwarf_hit");
		}
	}
	public static class ForestDwellers
	{
		public static void init()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			Creature creature = new Creature("krump_monsters", "Krump_Monsters_Meadows_Greydwarf_Shaman")
			{
				Biome = (Biome)0
			};
			creature.ConfigurationEnabled = false;
			creature.Drops["Wood"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Wood"].DropChance = 100f;
			creature.Drops["Wood"].DropOnePerPlayer = false;
			creature.Drops["Wood"].MultiplyDropByLevel = true;
			creature.Drops["Pukeberries"].Amount = new CreatureManager.Range(1f, 2f);
			creature.Drops["Pukeberries"].DropChance = 100f;
			creature.Drops["Pukeberries"].DropOnePerPlayer = false;
			creature.Drops["Pukeberries"].MultiplyDropByLevel = true;
			creature.Drops["GreydwarfEye"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["GreydwarfEye"].DropChance = 50f;
			creature.Drops["GreydwarfEye"].DropOnePerPlayer = false;
			creature.Drops["GreydwarfEye"].MultiplyDropByLevel = false;
			creature.Drops["TrophyGreydwarfShaman"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["TrophyGreydwarfShaman"].DropChance = 10f;
			creature.Drops["TrophyGreydwarfShaman"].DropOnePerPlayer = false;
			creature.Drops["TrophyGreydwarfShaman"].MultiplyDropByLevel = false;
			creature.Drops["Resin"].Amount = new CreatureManager.Range(1f, 1f);
			creature.Drops["Resin"].DropChance = 100f;
			creature.Drops["Resin"].DropOnePerPlayer = false;
			creature.Drops["Resin"].MultiplyDropByLevel = true;
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Spawner_GreydwarfNest");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_TentaRoot");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Greydwarf_Shaman_Ragdoll");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_TentaRoot_Ragdoll");
			Item item = new Item("krump_monsters", "Greydwarf_elite_attack1");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Greydwarf_elite_attack2");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Greydwarf_shaman_rootspawn");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_Greydwarf_attack1");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_Greydwarf_attack2");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Krump_Greydwarf_attack3");
			item6.Configurable = Configurability.Disabled;
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_tentaroot_death");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_krump_greydwarf_death");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_krump_greydwarf_hit");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "shaman_spawn_roots");
		}
	}
	public static class KrumpEikthyr
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Boss_Eikthyr");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Boss_Eikthyr_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Attack_Eikthyr_Antler_Charge");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Attack_Eikthyr_ElectricBall");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Attack_Eikthyr_Kamehameha");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_Attack_Eikthyr_Antler_Attack");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_Attack_Eikthyr_Stomp");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Krump_Attack_Eikthyr_Antler_Attack_Hard");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "Krump_Attack_Eikthyr_Taunt");
			item7.Configurable = Configurability.Disabled;
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Eikthyr_Charge_Up");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Eikthyr_ElectricBall_Hit");
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_EikthyrCharge");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_EikthyrChargeBall");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Eikthyr_Charge_Up_Kamehameha");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Eikthyr_Kamehameha_Hit");
			GameObject val9 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Eikthyr_ElectricBall_Projectile");
			GameObject val10 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Eikthyr_Kamehameha_Projectile");
			GameObject val11 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Eikthyr_Summon_Deer");
		}
	}
	public static class KrumpElder
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Boss_Elder");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_ElderGreyling_F");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_ElderGreyling_M");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Boss_Elder_Ragdoll");
			Item item = new Item("krump_monsters", "Elder_TentaRoot_Projectile_Launch");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Elder_Rock_Throw");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Elder_Summon_HeartT1");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Elder_Slam_Forward");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Elder_Stomp");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Elder_Stomp_Combo");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "Elder_Claw_Right");
			item7.Configurable = Configurability.Disabled;
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_TentaRoot_AOE0");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_TentaRoot_AOE1");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_TentaRoot_AOE2");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Elder_Rock");
			GameObject val9 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Elder_Rock_Destroyed");
			GameObject val10 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Elder_Slam_AOE");
			GameObject val11 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Blood_Splat");
			GameObject val12 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Elder_Pull_Rock");
			GameObject val13 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Elder_TentaRoot_Projectile");
			GameObject val14 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Elder_Rock_Projectile");
			GameObject val15 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Elder_Trigger_Spawn_ProjectileT1");
		}
	}
	public static class KrumpEvilMonk
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_EvilMonk");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_EvilMonk_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_EvilMonk_Cross");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_EvilMonk_Cross_Burning");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_EvilMonk_Attack");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_EvilMonk_Attack_Fire");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_EvilMonk_Attack_Left_F");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Krump_EvilMonk_Attack_Right_F");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "Krump_EvilMonk_Attack_Right_F_Fire");
			item7.Configurable = Configurability.Disabled;
			Item item8 = new Item("krump_monsters", "Krump_EvilMonk_Attack_Cross_Projectile");
			item8.Configurable = Configurability.Disabled;
			Item item9 = new Item("krump_monsters", "Krump_EvilMonk_Attack_Cross_Projectile_Heal");
			item9.Configurable = Configurability.Disabled;
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_evilmonk_attack");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_evilmonk_death");
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_evilmonk_hit");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_evilmonk_idle");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Hit_EvilMonk_PoisonFire");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Muzzle_EvilMonk_PoisonFire");
			GameObject val9 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_Krump_EvilMonk_Heal_AOE");
			GameObject val10 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_EvilMonk_PoisonFire_Projectile");
			GameObject val11 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Attack_EvilMonk_Heal_AOE");
		}
	}
	public static class KrumpFatherElias
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Boss_FatherElias");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Boss_FatherElias_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Attack_FatherElias_Whirlwind");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Attack_FatherElias_Base_Attack");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Attack_FatherElias_Slam");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_Attack_FatherElias_Combo_Slash");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_Attack_FatherElias_Combo_Three");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Krump_Attack_FatherElias_Power_Slash");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "Krump_Attack_FatherElias_Taunt");
			item7.Configurable = Configurability.Disabled;
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_wraith_scythe_woosh");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_wraith_whirlwind_hit");
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_wraithboss_attack");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_wraithboss_death");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_wraithboss_hit");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_wraithboss_idle");
			GameObject val9 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_wraithboss_taunt");
			GameObject val10 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_FatherElias_Slam_AOE");
			GameObject val11 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_WraithBoss_Trigger_Projectile");
		}
	}
	public static class KrumpGhost
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_BlackForest_Shadow");
			Item item = new Item("krump_monsters", "Krump_attack_evilshadow_attack");
			item.Configurable = Configurability.Disabled;
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_evilspirit_attack");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_evilshadow_attack");
		}
	}
	public static class KrumpGreatWhite
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Ocean_GreatWhite");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Ocean_GreatWhite_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Attack_GreatWhite_Bite");
			item.Configurable = Configurability.Disabled;
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_shark_attack");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_vfx_shark_corpse_destruction");
		}
	}
	public static class KrumpHatchling
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Mountain_Hatchling");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Mountain_Hatchling_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Hatchling_Spit");
			item.Configurable = Configurability.Disabled;
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_hatchling_projectile_hit");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_hatchling_cold_projectile");
		}
	}
	public static class KrumpKraken
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Ocean_Kraken");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Ocean_KrakenBlob");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Ocean_Kraken_Ragdoll");
			Item item = new Item("krump_monsters", "krump_attack_kraken_attack1");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "krump_attack_kraken_attack2");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "krump_attack_kraken_attack3");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "krump_attack_kraken_attack4");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "krump_attack_kraken_attacklightning");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "krump_attack_kraken_poisonball");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "krump_attack_kraken_taunt");
			item7.Configurable = Configurability.Disabled;
			Item item8 = new Item("krump_monsters", "krump_attack_krakenblob_attack");
			item8.Configurable = Configurability.Disabled;
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_kraken_alert");
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_kraken_attack");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_kraken_death");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_kraken_hit");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_kraken_idle");
			GameObject val9 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_kraken_taunt");
			GameObject val10 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_krakenpoison_launch");
			GameObject val11 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_kraken_attack");
			GameObject val12 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_kraken_attacklightning");
			GameObject val13 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_kraken_hit");
			GameObject val14 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_kraken_lightning_hit");
			GameObject val15 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_kraken_spit");
			GameObject val16 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_kraken_watersurface");
			GameObject val17 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_krakenpoison_hit");
			GameObject val18 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_krakenpoison_hitground");
			GameObject val19 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_watersplash_kraken");
			GameObject val20 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_krakenblob_attack");
			GameObject val21 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Kraken_Blob_Projectile");
			GameObject val22 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Kraken_Blob_Spawn");
		}
	}
	public static class KrumpMosquito
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Plains_Mosquito");
			Item item = new Item("krump_monsters", "Krump_Attack_Mosquito_Bite");
			item.Configurable = Configurability.Disabled;
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_mosquito_death");
		}
	}
	public static class KrumpMountainOgre
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Mountain_Ogre_01");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Mountain_Ogre_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Ogre_Club");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Attack_MountainOgre_club_slam");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Attack_MountainOgre_club_slam_forward");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_Attack_MountainOgre_club_slash");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_Attack_MountainOgre_club_slash_combo");
			item5.Configurable = Configurability.Disabled;
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_mountainogre_alerted");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_mountainogre_attack");
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_mountainogre_death");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_mountainogre_hit");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_mountainogre_idle");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_mountainogre_slam");
		}
	}
	public static class KrumpNeck
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_GiantNeck");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_AngryNeck");
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_GiantNeck_Ragdoll");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_AngryNeck_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Attack_GiantNeck_Spin");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Attack_GiantNeck_Jump");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Attack_GiantNeck_Bite");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_Attack_GiantNeck_Claw");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_Attack_AngryNeck_Bite");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Krump_Attack_AngryNeck_Claw");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "Krump_Attack_AngryNeck_Throw_Rock");
			item7.Configurable = Configurability.Disabled;
		}
	}
	public static class KrumpOctopus
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Ocean_Rocktopus");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Ocean_Rocktopus_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Attack_Rocktopus_Tarball");
			item.Configurable = Configurability.Disabled;
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_rocktopus_alerted");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_rocktopus_attack");
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_rocktopus_death");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_rocktopus_hit");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_rocktopus_idle");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_rocktopus_attack_hit");
			GameObject val9 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "__vfx_tarball_hit");
			GameObject val10 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Rocktopus_Projectile");
		}
	}
	public static class KrumpSerpent
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Ocean_Serpent");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Ocean_Serpent_Ragdoll");
			Item item = new Item("krump_monsters", "Krump_Serpent_Bite_Land");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Serpent_Bite_Water");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Serpent_FlameThrower");
			item3.Configurable = Configurability.Disabled;
			GameObject val3 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_serpent_firebreath");
			GameObject val4 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_serpent_alert");
			GameObject val5 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_serpent_bite");
			GameObject val6 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_serpent_death");
			GameObject val7 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_serpent_idle");
			GameObject val8 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "_sfx_serpent_taunt");
			GameObject val9 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Serpent_FlameThrower_Projectile");
		}
	}
	public static class KrumpSkeletonsT1
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_BlackForest_Skeleton");
			GameObject val2 = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Meadows_Skeleton");
			Item item = new Item("krump_monsters", "Krump_Skeleton_Axe1_Right");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Skeleton_Club1_Right");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Skeleton_Gladius_Right");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "Krump_Skeleton_Spear_Right");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "Krump_Skeleton_Shield1");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "Krump_Skeleton_Shield2");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "Krump_Skeleton_Bow1");
			item7.Configurable = Configurability.Disabled;
			Item item8 = new Item("krump_monsters", "Krump_Skeleton_Dagger_Right");
			item8.Configurable = Configurability.Disabled;
			Item item9 = new Item("krump_monsters", "krump_skeleton_blackforest_axe_right180");
			item9.Configurable = Configurability.Disabled;
			Item item10 = new Item("krump_monsters", "krump_skeleton_blackforest_axe_rightlong");
			item10.Configurable = Configurability.Disabled;
			Item item11 = new Item("krump_monsters", "krump_skeleton_blackforest_axe_slash");
			item11.Configurable = Configurability.Disabled;
			Item item12 = new Item("krump_monsters", "krump_skeleton_blackforest_bow");
			item12.Configurable = Configurability.Disabled;
			Item item13 = new Item("krump_monsters", "krump_skeleton_blackforest_club_right180");
			item13.Configurable = Configurability.Disabled;
			Item item14 = new Item("krump_monsters", "krump_skeleton_blackforest_club_rightlong");
			item14.Configurable = Configurability.Disabled;
			Item item15 = new Item("krump_monsters", "krump_skeleton_blackforest_club_slash");
			item15.Configurable = Configurability.Disabled;
			Item item16 = new Item("krump_monsters", "krump_skeleton_blackforest_shield");
			item16.Configurable = Configurability.Disabled;
			Item item17 = new Item("krump_monsters", "krump_skeleton_blackforest_shield_block");
			item17.Configurable = Configurability.Disabled;
			Item item18 = new Item("krump_monsters", "krump_skeleton_blackforest_sword_right180");
			item18.Configurable = Configurability.Disabled;
			Item item19 = new Item("krump_monsters", "krump_skeleton_blackforest_sword_rightlong");
			item19.Configurable = Configurability.Disabled;
			Item item20 = new Item("krump_monsters", "krump_skeleton_blackforest_sword_slash");
			item20.Configurable = Configurability.Disabled;
			Item item21 = new Item("krump_monsters", "krump_skeleton_blackforest_unarmed_claw");
			item21.Configurable = Configurability.Disabled;
			Item item22 = new Item("krump_monsters", "krump_skeleton_blackforest_knife_right180");
			item22.Configurable = Configurability.Disabled;
			Item item23 = new Item("krump_monsters", "krump_skeleton_blackforest_knife_rightlong");
			item23.Configurable = Configurability.Disabled;
			Item item24 = new Item("krump_monsters", "krump_skeleton_blackforest_knife_slash");
			item24.Configurable = Configurability.Disabled;
		}
	}
	public static class KrumpSkeletonsT2
	{
		public static void init()
		{
			GameObject val = ItemManager.PrefabManager.RegisterPrefab("krump_monsters", "Krump_Monsters_Swamp_Skeleton");
			Item item = new Item("krump_monsters", "Krump_Skeleton_PoisonAxe1_Right");
			item.Configurable = Configurability.Disabled;
			Item item2 = new Item("krump_monsters", "Krump_Skeleton_PoisonMace1_Right");
			item2.Configurable = Configurability.Disabled;
			Item item3 = new Item("krump_monsters", "Krump_Skeleton_PoisonSword1_Right");
			item3.Configurable = Configurability.Disabled;
			Item item4 = new Item("krump_monsters", "krump_skeleton_swamp_axe_right180");
			item4.Configurable = Configurability.Disabled;
			Item item5 = new Item("krump_monsters", "krump_skeleton_swamp_axe_rightlong");
			item5.Configurable = Configurability.Disabled;
			Item item6 = new Item("krump_monsters", "krump_skeleton_swamp_axe_slash");
			item6.Configurable = Configurability.Disabled;
			Item item7 = new Item("krump_monsters", "krump_skeleton_swamp_bow");
			item7.Configurable = Configurability.Disabled;
			Item item8 = new Item("krump_monsters", "krump_skeleton_swamp_club_right180");
			item8.Configurable = Configurability.Disabled;
			Item item9 = new Item("krump_monsters", "krump_skeleton_swamp_club_rightlong");
			item9.Configurable = Configurability.Disabled;
			Item item10 = ne