Decompiled source of PEAK Luggage Items v2.1.1

tony4twentys-PEAK Luggage Items.dll

Decompiled 2 weeks ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Text;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("PEAK Luggage Items")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("PEAK Luggage Items")]
[assembly: AssemblyCopyright("Copyright ©  2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("2ee823ee-81d0-43ba-91f7-a88355d316cf")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace PEAKLuggageItems;

public class CustomItem
{
	public ushort itemID { get; set; }

	public int itemWeight { get; set; }

	public string spawnPools { get; set; }
}
public class CustomItemsConfig
{
	public List<CustomItem> customItems { get; set; } = new List<CustomItem>();

}
[BepInPlugin("tony4twentys.PEAK_Luggage_Items", "PEAK Luggage Items", "2.1.0")]
public class PEAKLuggageItemsPlugin : BaseUnityPlugin
{
	[HarmonyPatch(typeof(LootData), "PopulateLootData")]
	public static class LootData_PopulateLootData_Patch
	{
		public static void Postfix()
		{
			try
			{
				OverrideItemWeights();
			}
			catch (Exception arg)
			{
				Debug.LogError((object)$"[PEAK Luggage Items] Error in PopulateLootData patch: {arg}");
			}
		}
	}

	private static ConfigFile config;

	private static Dictionary<ushort, ConfigEntry<int>> itemWeights = new Dictionary<ushort, ConfigEntry<int>>();

	private static Dictionary<ushort, ConfigEntry<string>> itemPools = new Dictionary<ushort, ConfigEntry<string>>();

	private static readonly Dictionary<ushort, string> ItemNames = new Dictionary<ushort, string>
	{
		{ 0, "Airplane Food" },
		{ 1, "Anti-Rope Spool" },
		{ 2, "Antidote" },
		{ 3, "Green Crispberry" },
		{ 4, "Red Crispberry" },
		{ 5, "Yellow Crispberry" },
		{ 6, "Backpack" },
		{ 7, "Bandages" },
		{ 8, "Beehive" },
		{ 9, "Blue Berrynana" },
		{ 10, "Brown Berrynana" },
		{ 11, "Pink Berrynana" },
		{ 12, "Yellow Berrynana" },
		{ 13, "Bing Bong" },
		{ 14, "Binoculars" },
		{ 15, "Bugle" },
		{ 16, "Bugle of Friendship" },
		{ 17, "Chain Launcher" },
		{ 18, "Piton" },
		{ 19, "Black Clusterberry" },
		{ 20, "Red Clusterberry" },
		{ 21, "Yellow Clusterberry" },
		{ 22, "Green Clusterberry" },
		{ 23, "Compass" },
		{ 24, "Cure-All" },
		{ 25, "Cursed Skull" },
		{ 26, "Egg" },
		{ 27, "Energy Drink" },
		{ 28, "Stick" },
		{ 29, "First Aid Kit" },
		{ 30, "Seagull Flag" },
		{ 31, "Turtle Flag" },
		{ 32, "Flare" },
		{ 33, "Granola Bar" },
		{ 34, "Guidebook" },
		{ 35, "Heat Pack" },
		{ 36, "Coconut" },
		{ 37, "Balloon Bunch" },
		{ 38, "Honeycomb" },
		{ 39, "Pink Berrynana Peel" },
		{ 40, "Purple Kingberry" },
		{ 41, "Yellow Kingberry" },
		{ 42, "Lantern" },
		{ 43, "Faerie Lantern" },
		{ 44, "Lollipop" },
		{ 45, "Magic Bean" },
		{ 46, "Marshmallow" },
		{ 47, "Ancient Idol" },
		{ 48, "Cactus Ball" },
		{ 49, "Scroll" },
		{ 50, "Torn Page 1" },
		{ 51, "Glowshroom" },
		{ 52, "Torn Page 3" },
		{ 53, "Torn Page 4" },
		{ 54, "Torn Page 8" },
		{ 55, "Coconut Half" },
		{ 56, "Green Kingberry" },
		{ 57, "Big Egg" },
		{ 58, "Pandoras Lunchbox" },
		{ 59, "Passport" },
		{ 60, "Scorchberry" },
		{ 61, "Pirates Compass" },
		{ 62, "Portable Stove" },
		{ 63, "Rope Cannon" },
		{ 64, "Anti-Rope Cannon" },
		{ 65, "Rope Spool" },
		{ 66, "Scout Cookies" },
		{ 67, "Scout Effigy" },
		{ 68, "Shelf Fungus" },
		{ 69, "Conch" },
		{ 70, "Blowgun" },
		{ 71, "Sports Drink" },
		{ 72, "Stone" },
		{ 73, "Trail Mix" },
		{ 74, "Warp Compass" },
		{ 75, "Orange Winterberry" },
		{ 76, "Yellow Winterberry" },
		{ 77, "Scoutmasters Bugle" },
		{ 78, "Megaphone" },
		{ 79, "Bounce Fungus" },
		{ 80, "Torn Page Blank" },
		{ 81, "Medicinal Root" },
		{ 82, "Torn Page 2" },
		{ 83, "Chubby Mushroom" },
		{ 84, "Poisonous Clustershroom" },
		{ 85, "Torn Page 5" },
		{ 86, "Torn Page 6" },
		{ 87, "Torn Page 7" },
		{ 88, "Clustershroom" },
		{ 89, "Poisonous Bugleshroom" },
		{ 90, "Remedy Fungus" },
		{ 91, "Blue Berrynana Peel" },
		{ 92, "Brown Berrynana Peel" },
		{ 93, "Bugleshroom" },
		{ 94, "Yellow Berrynana Peel" },
		{ 95, "Tick" },
		{ 96, "Torn Page 9" },
		{ 97, "Poisonous Buttonshroom" },
		{ 98, "Parasol" },
		{ 99, "Frisbee" },
		{ 100, "Rescue Hook" },
		{ 101, "Aloe Vera" },
		{ 102, "Buttonshroom" },
		{ 103, "Gold Prickleberry" },
		{ 104, "Sunscreen" },
		{ 105, "Balloon" },
		{ 106, "Dynamite" },
		{ 107, "Scout Cannon" },
		{ 108, "Red Prickleberry" },
		{ 109, "Torch" },
		{ 110, "Napberry" },
		{ 111, "Scorpion" },
		{ 112, "Strange Gem" },
		{ 114, "Roasted Chicken" }
	};

	private static readonly Dictionary<ushort, int> DefaultWeights = new Dictionary<ushort, int>
	{
		{ 0, 15 },
		{ 1, 15 },
		{ 2, 30 },
		{ 3, 0 },
		{ 4, 0 },
		{ 5, 0 },
		{ 6, 30 },
		{ 7, 50 },
		{ 8, 0 },
		{ 9, 0 },
		{ 10, 0 },
		{ 11, 0 },
		{ 12, 0 },
		{ 13, 0 },
		{ 14, 0 },
		{ 15, 0 },
		{ 16, 15 },
		{ 17, 15 },
		{ 18, 20 },
		{ 19, 0 },
		{ 20, 0 },
		{ 21, 0 },
		{ 22, 0 },
		{ 23, 0 },
		{ 24, 15 },
		{ 25, 15 },
		{ 26, 0 },
		{ 27, 30 },
		{ 28, 0 },
		{ 29, 20 },
		{ 30, 0 },
		{ 31, 0 },
		{ 32, 15 },
		{ 33, 30 },
		{ 34, 0 },
		{ 35, 100 },
		{ 36, 0 },
		{ 37, 5 },
		{ 38, 0 },
		{ 39, 0 },
		{ 40, 0 },
		{ 41, 0 },
		{ 42, 20 },
		{ 43, 15 },
		{ 44, 15 },
		{ 45, 0 },
		{ 46, 0 },
		{ 47, 1 },
		{ 48, 0 },
		{ 49, 0 },
		{ 50, 0 },
		{ 51, 0 },
		{ 52, 0 },
		{ 53, 0 },
		{ 54, 0 },
		{ 55, 0 },
		{ 56, 0 },
		{ 57, 0 },
		{ 58, 15 },
		{ 59, 0 },
		{ 60, 0 },
		{ 61, 1 },
		{ 62, 15 },
		{ 63, 15 },
		{ 64, 15 },
		{ 65, 30 },
		{ 66, 15 },
		{ 67, 15 },
		{ 68, 0 },
		{ 69, 0 },
		{ 70, 5 },
		{ 71, 50 },
		{ 72, 0 },
		{ 73, 50 },
		{ 74, 0 },
		{ 75, 0 },
		{ 76, 0 },
		{ 77, 1 },
		{ 78, 0 },
		{ 79, 0 },
		{ 80, 0 },
		{ 81, 0 },
		{ 82, 0 },
		{ 83, 0 },
		{ 84, 0 },
		{ 85, 0 },
		{ 86, 0 },
		{ 87, 0 },
		{ 88, 0 },
		{ 89, 0 },
		{ 90, 0 },
		{ 91, 0 },
		{ 92, 0 },
		{ 93, 0 },
		{ 94, 0 },
		{ 95, 0 },
		{ 96, 0 },
		{ 97, 0 },
		{ 98, 20 },
		{ 99, 0 },
		{ 100, 30 },
		{ 101, 0 },
		{ 102, 0 },
		{ 103, 0 },
		{ 104, 20 },
		{ 105, 20 },
		{ 106, 15 },
		{ 107, 15 },
		{ 108, 0 },
		{ 109, 0 },
		{ 110, 0 },
		{ 111, 0 },
		{ 112, 0 },
		{ 114, 0 }
	};

	private static readonly Dictionary<ushort, SpawnPool[]> DefaultPools;

	private void Awake()
	{
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0025: Expected O, but got Unknown
		config = ((BaseUnityPlugin)this).Config;
		LoadCustomItems();
		SetupConfigs();
		Harmony val = new Harmony("tony4twentys.PEAK_Luggage_Items");
		val.PatchAll();
		((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin tony4twentys.PEAK_Luggage_Items is loaded!");
	}

	private void LoadCustomItems()
	{
		//IL_0145: Unknown result type (might be due to invalid IL or missing references)
		try
		{
			string text = Path.Combine(Paths.ConfigPath, "PEAK_Luggage_Items_Custom.json");
			if (!File.Exists(text))
			{
				CreateExampleCustomItemsFile(text);
				((BaseUnityPlugin)this).Logger.LogInfo((object)("Created example custom items file at: " + text));
				return;
			}
			string jsonContent = File.ReadAllText(text);
			CustomItemsConfig customItemsConfig = ParseCustomItemsJson(jsonContent);
			if (customItemsConfig?.customItems == null)
			{
				return;
			}
			foreach (CustomItem customItem in customItemsConfig.customItems)
			{
				if (!ItemNames.ContainsKey(customItem.itemID))
				{
					ItemNames[customItem.itemID] = $"Custom Item {customItem.itemID}";
				}
				DefaultWeights[customItem.itemID] = customItem.itemWeight;
				List<SpawnPool> list = new List<SpawnPool>();
				if (!string.IsNullOrEmpty(customItem.spawnPools))
				{
					string[] array = customItem.spawnPools.Split(new char[1] { ',' });
					string[] array2 = array;
					foreach (string text2 in array2)
					{
						if (Enum.TryParse<SpawnPool>(text2.Trim(), out SpawnPool result))
						{
							list.Add(result);
						}
					}
				}
				if (list.Count > 0)
				{
					DefaultPools[customItem.itemID] = list.ToArray();
				}
				((BaseUnityPlugin)this).Logger.LogInfo((object)$"Loaded custom item: ID {customItem.itemID}, Weight {customItem.itemWeight}, Pools {customItem.spawnPools}");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)$"Error loading custom items: {arg}");
		}
	}

	private void CreateExampleCustomItemsFile(string filePath)
	{
		CustomItemsConfig customItemsConfig = new CustomItemsConfig
		{
			customItems = new List<CustomItem>
			{
				new CustomItem
				{
					itemID = 33466,
					itemWeight = 15,
					spawnPools = "SpawnPool.LuggageBeach, SpawnPool.LuggageJungle, SpawnPool.LuggageTundra, SpawnPool.LuggageCaldera, SpawnPool.LuggageMesa, SpawnPool.LuggageAncient"
				},
				new CustomItem
				{
					itemID = 9999,
					itemWeight = 0,
					spawnPools = "SpawnPool.LuggageBeach, SpawnPool.LuggageJungle, SpawnPool.LuggageTundra, SpawnPool.LuggageCaldera, SpawnPool.LuggageMesa, SpawnPool.LuggageAncient, SpawnPool.LuggageClimber"
				},
				new CustomItem
				{
					itemID = 9998,
					itemWeight = 50,
					spawnPools = "SpawnPool.LuggageCursed, SpawnPool.RespawnCoffin"
				}
			}
		};
		string contents = SerializeCustomItemsToJson(customItemsConfig);
		File.WriteAllText(filePath, contents);
	}

	private CustomItemsConfig ParseCustomItemsJson(string jsonContent)
	{
		try
		{
			CustomItemsConfig customItemsConfig = new CustomItemsConfig();
			string[] array = jsonContent.Split(new char[1] { '\n' });
			for (int i = 0; i < array.Length; i++)
			{
				string text = array[i].Trim();
				if (!text.Contains("\"itemID\""))
				{
					continue;
				}
				CustomItem customItem = new CustomItem();
				int num = text.IndexOf(':') + 1;
				int num2 = text.IndexOf(',', num);
				if (num2 == -1)
				{
					num2 = text.Length;
				}
				string s = text.Substring(num, num2 - num).Trim().TrimEnd(new char[1] { ',' });
				if (ushort.TryParse(s, out var result))
				{
					customItem.itemID = result;
				}
				if (i + 1 < array.Length)
				{
					string text2 = array[i + 1].Trim();
					if (text2.Contains("\"itemWeight\""))
					{
						int num3 = text2.IndexOf(':') + 1;
						int num4 = text2.IndexOf(',', num3);
						if (num4 == -1)
						{
							num4 = text2.Length;
						}
						string s2 = text2.Substring(num3, num4 - num3).Trim().TrimEnd(new char[1] { ',' });
						if (int.TryParse(s2, out var result2))
						{
							customItem.itemWeight = result2;
						}
					}
				}
				if (i + 2 < array.Length)
				{
					string text3 = array[i + 2].Trim();
					if (text3.Contains("\"spawnPools\""))
					{
						int num5 = text3.IndexOf(':') + 1;
						int num6 = text3.IndexOf(',', num5);
						if (num6 == -1)
						{
							num6 = text3.Length;
						}
						string text4 = text3.Substring(num5, num6 - num5).Trim().TrimEnd(new char[1] { ',' });
						customItem.spawnPools = text4.Trim(new char[1] { '"' });
					}
				}
				customItemsConfig.customItems.Add(customItem);
			}
			return customItemsConfig;
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)$"Error parsing custom items JSON: {arg}");
			return new CustomItemsConfig();
		}
	}

	private string SerializeCustomItemsToJson(CustomItemsConfig config)
	{
		StringBuilder stringBuilder = new StringBuilder();
		stringBuilder.AppendLine("{");
		stringBuilder.AppendLine("  \"customItems\": [");
		for (int i = 0; i < config.customItems.Count; i++)
		{
			CustomItem customItem = config.customItems[i];
			stringBuilder.AppendLine("    {");
			stringBuilder.AppendLine($"      \"itemID\": {customItem.itemID},");
			stringBuilder.AppendLine($"      \"itemWeight\": {customItem.itemWeight},");
			stringBuilder.AppendLine("      \"spawnPools\": \"" + customItem.spawnPools + "\"");
			stringBuilder.Append((i == config.customItems.Count - 1) ? "    }" : "    },");
			stringBuilder.AppendLine();
		}
		stringBuilder.AppendLine("  ]");
		stringBuilder.AppendLine("}");
		return stringBuilder.ToString();
	}

	private void SetupConfigs()
	{
		List<KeyValuePair<ushort, string>> list = ItemNames.OrderBy((KeyValuePair<ushort, string> x) => x.Value).ToList();
		foreach (KeyValuePair<ushort, string> item in list)
		{
			ushort key = item.Key;
			string value = item.Value;
			int num = (DefaultWeights.ContainsKey(key) ? DefaultWeights[key] : 0);
			SpawnPool[] source;
			if (DefaultPools.ContainsKey(key))
			{
				source = DefaultPools[key];
			}
			else
			{
				SpawnPool[] array = new SpawnPool[7];
				RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				source = (SpawnPool[])(object)array;
			}
			itemWeights[key] = config.Bind<int>("Item Weights", value + " Weight", num, "Spawn weight for " + value + " (0 = disabled)");
			string text = string.Join(",", source.Select((SpawnPool p) => ((object)(SpawnPool)(ref p)).ToString()));
			itemPools[key] = config.Bind<string>("Item Spawn Pools", value + " Pools", text, "Spawn pools for " + value + " (comma-separated: LuggageBeach, LuggageJungle, etc.)");
		}
	}

	private static void OverrideItemWeights()
	{
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_018e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0193: Unknown result type (might be due to invalid IL or missing references)
		//IL_019b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0167: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
		if (LootData.AllSpawnWeightData == null)
		{
			return;
		}
		SpawnPool[] array = new SpawnPool[9];
		RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		SpawnPool[] array2 = (SpawnPool[])(object)array;
		foreach (KeyValuePair<ushort, string> itemName in ItemNames)
		{
			ushort key = itemName.Key;
			string value = itemName.Value;
			if (!itemWeights.ContainsKey(key) || !itemPools.ContainsKey(key))
			{
				continue;
			}
			int value2 = itemWeights[key].Value;
			string value3 = itemPools[key].Value;
			SpawnPool[] array3 = array2;
			foreach (SpawnPool key2 in array3)
			{
				if (LootData.AllSpawnWeightData.ContainsKey(key2) && LootData.AllSpawnWeightData[key2].ContainsKey(key))
				{
					LootData.AllSpawnWeightData[key2].Remove(key);
				}
			}
			if (value2 == 0)
			{
				continue;
			}
			List<SpawnPool> list = new List<SpawnPool>();
			if (!string.IsNullOrEmpty(value3))
			{
				string[] array4 = value3.Split(new char[1] { ',' });
				string[] array5 = array4;
				foreach (string text in array5)
				{
					if (Enum.TryParse<SpawnPool>(text.Trim(), out SpawnPool result))
					{
						list.Add(result);
					}
				}
			}
			foreach (SpawnPool item in list)
			{
				if (LootData.AllSpawnWeightData.ContainsKey(item) && array2.Contains(item))
				{
					LootData.AllSpawnWeightData[item][key] = value2;
				}
			}
		}
	}

	static PEAKLuggageItemsPlugin()
	{
		Dictionary<ushort, SpawnPool[]> dictionary = new Dictionary<ushort, SpawnPool[]>();
		SpawnPool[] array = new SpawnPool[6];
		RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(0, (SpawnPool[])(object)array);
		dictionary.Add(1, (SpawnPool[])(object)new SpawnPool[2]
		{
			(SpawnPool)65536,
			(SpawnPool)131072
		});
		dictionary.Add(2, (SpawnPool[])(object)new SpawnPool[1] { (SpawnPool)2048 });
		SpawnPool[] array2 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(3, (SpawnPool[])(object)array2);
		SpawnPool[] array3 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(4, (SpawnPool[])(object)array3);
		SpawnPool[] array4 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(5, (SpawnPool[])(object)array4);
		SpawnPool[] array5 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(6, (SpawnPool[])(object)array5);
		SpawnPool[] array6 = new SpawnPool[5];
		RuntimeHelpers.InitializeArray(array6, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(7, (SpawnPool[])(object)array6);
		SpawnPool[] array7 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array7, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(8, (SpawnPool[])(object)array7);
		SpawnPool[] array8 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array8, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(9, (SpawnPool[])(object)array8);
		SpawnPool[] array9 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array9, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(10, (SpawnPool[])(object)array9);
		SpawnPool[] array10 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array10, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(11, (SpawnPool[])(object)array10);
		SpawnPool[] array11 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array11, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(12, (SpawnPool[])(object)array11);
		SpawnPool[] array12 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array12, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(13, (SpawnPool[])(object)array12);
		SpawnPool[] array13 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array13, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(14, (SpawnPool[])(object)array13);
		SpawnPool[] array14 = new SpawnPool[5];
		RuntimeHelpers.InitializeArray(array14, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(15, (SpawnPool[])(object)array14);
		dictionary.Add(16, (SpawnPool[])(object)new SpawnPool[2]
		{
			(SpawnPool)65536,
			(SpawnPool)131072
		});
		SpawnPool[] array15 = new SpawnPool[6];
		RuntimeHelpers.InitializeArray(array15, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(17, (SpawnPool[])(object)array15);
		SpawnPool[] array16 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array16, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(18, (SpawnPool[])(object)array16);
		SpawnPool[] array17 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array17, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(19, (SpawnPool[])(object)array17);
		SpawnPool[] array18 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array18, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(20, (SpawnPool[])(object)array18);
		SpawnPool[] array19 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array19, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(21, (SpawnPool[])(object)array19);
		SpawnPool[] array20 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array20, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(22, (SpawnPool[])(object)array20);
		SpawnPool[] array21 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array21, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(23, (SpawnPool[])(object)array21);
		dictionary.Add(24, (SpawnPool[])(object)new SpawnPool[2]
		{
			(SpawnPool)65536,
			(SpawnPool)131072
		});
		dictionary.Add(25, (SpawnPool[])(object)new SpawnPool[1] { (SpawnPool)65536 });
		SpawnPool[] array22 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array22, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(26, (SpawnPool[])(object)array22);
		SpawnPool[] array23 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array23, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(27, (SpawnPool[])(object)array23);
		SpawnPool[] array24 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array24, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(28, (SpawnPool[])(object)array24);
		SpawnPool[] array25 = new SpawnPool[6];
		RuntimeHelpers.InitializeArray(array25, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(29, (SpawnPool[])(object)array25);
		SpawnPool[] array26 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array26, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(30, (SpawnPool[])(object)array26);
		SpawnPool[] array27 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array27, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(31, (SpawnPool[])(object)array27);
		SpawnPool[] array28 = new SpawnPool[6];
		RuntimeHelpers.InitializeArray(array28, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(32, (SpawnPool[])(object)array28);
		SpawnPool[] array29 = new SpawnPool[6];
		RuntimeHelpers.InitializeArray(array29, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(33, (SpawnPool[])(object)array29);
		dictionary.Add(35, (SpawnPool[])(object)new SpawnPool[1] { (SpawnPool)4096 });
		SpawnPool[] array30 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array30, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(36, (SpawnPool[])(object)array30);
		SpawnPool[] array31 = new SpawnPool[5];
		RuntimeHelpers.InitializeArray(array31, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(37, (SpawnPool[])(object)array31);
		SpawnPool[] array32 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array32, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(38, (SpawnPool[])(object)array32);
		SpawnPool[] array33 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array33, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(39, (SpawnPool[])(object)array33);
		SpawnPool[] array34 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array34, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(40, (SpawnPool[])(object)array34);
		SpawnPool[] array35 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array35, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(41, (SpawnPool[])(object)array35);
		dictionary.Add(42, (SpawnPool[])(object)new SpawnPool[2]
		{
			(SpawnPool)2048,
			(SpawnPool)4096
		});
		dictionary.Add(43, (SpawnPool[])(object)new SpawnPool[2]
		{
			(SpawnPool)65536,
			(SpawnPool)131072
		});
		SpawnPool[] array36 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array36, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(44, (SpawnPool[])(object)array36);
		SpawnPool[] array37 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array37, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(45, (SpawnPool[])(object)array37);
		SpawnPool[] array38 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array38, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(46, (SpawnPool[])(object)array38);
		dictionary.Add(47, (SpawnPool[])(object)new SpawnPool[2]
		{
			(SpawnPool)65536,
			(SpawnPool)131072
		});
		SpawnPool[] array39 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array39, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(48, (SpawnPool[])(object)array39);
		SpawnPool[] array40 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array40, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(49, (SpawnPool[])(object)array40);
		SpawnPool[] array41 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array41, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(50, (SpawnPool[])(object)array41);
		SpawnPool[] array42 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array42, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(51, (SpawnPool[])(object)array42);
		SpawnPool[] array43 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array43, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(52, (SpawnPool[])(object)array43);
		SpawnPool[] array44 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array44, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(53, (SpawnPool[])(object)array44);
		SpawnPool[] array45 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array45, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(54, (SpawnPool[])(object)array45);
		SpawnPool[] array46 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array46, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(55, (SpawnPool[])(object)array46);
		SpawnPool[] array47 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array47, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(56, (SpawnPool[])(object)array47);
		SpawnPool[] array48 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array48, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(57, (SpawnPool[])(object)array48);
		dictionary.Add(58, (SpawnPool[])(object)new SpawnPool[2]
		{
			(SpawnPool)65536,
			(SpawnPool)131072
		});
		SpawnPool[] array49 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array49, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(59, (SpawnPool[])(object)array49);
		SpawnPool[] array50 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array50, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(60, (SpawnPool[])(object)array50);
		SpawnPool[] array51 = new SpawnPool[6];
		RuntimeHelpers.InitializeArray(array51, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(61, (SpawnPool[])(object)array51);
		SpawnPool[] array52 = new SpawnPool[4];
		RuntimeHelpers.InitializeArray(array52, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(62, (SpawnPool[])(object)array52);
		SpawnPool[] array53 = new SpawnPool[6];
		RuntimeHelpers.InitializeArray(array53, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(63, (SpawnPool[])(object)array53);
		dictionary.Add(64, (SpawnPool[])(object)new SpawnPool[2]
		{
			(SpawnPool)65536,
			(SpawnPool)131072
		});
		SpawnPool[] array54 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array54, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(65, (SpawnPool[])(object)array54);
		SpawnPool[] array55 = new SpawnPool[6];
		RuntimeHelpers.InitializeArray(array55, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(66, (SpawnPool[])(object)array55);
		SpawnPool[] array56 = new SpawnPool[3];
		RuntimeHelpers.InitializeArray(array56, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(67, (SpawnPool[])(object)array56);
		SpawnPool[] array57 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array57, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(68, (SpawnPool[])(object)array57);
		SpawnPool[] array58 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array58, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(69, (SpawnPool[])(object)array58);
		SpawnPool[] array59 = new SpawnPool[5];
		RuntimeHelpers.InitializeArray(array59, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(70, (SpawnPool[])(object)array59);
		SpawnPool[] array60 = new SpawnPool[5];
		RuntimeHelpers.InitializeArray(array60, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(71, (SpawnPool[])(object)array60);
		SpawnPool[] array61 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array61, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(72, (SpawnPool[])(object)array61);
		SpawnPool[] array62 = new SpawnPool[5];
		RuntimeHelpers.InitializeArray(array62, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(73, (SpawnPool[])(object)array62);
		dictionary.Add(74, (SpawnPool[])(object)new SpawnPool[2]
		{
			(SpawnPool)65536,
			(SpawnPool)131072
		});
		SpawnPool[] array63 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array63, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(75, (SpawnPool[])(object)array63);
		SpawnPool[] array64 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array64, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(76, (SpawnPool[])(object)array64);
		dictionary.Add(77, (SpawnPool[])(object)new SpawnPool[2]
		{
			(SpawnPool)65536,
			(SpawnPool)131072
		});
		SpawnPool[] array65 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array65, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(78, (SpawnPool[])(object)array65);
		SpawnPool[] array66 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array66, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(79, (SpawnPool[])(object)array66);
		SpawnPool[] array67 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array67, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(80, (SpawnPool[])(object)array67);
		SpawnPool[] array68 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array68, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(81, (SpawnPool[])(object)array68);
		SpawnPool[] array69 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array69, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(82, (SpawnPool[])(object)array69);
		SpawnPool[] array70 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array70, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(83, (SpawnPool[])(object)array70);
		SpawnPool[] array71 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array71, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(84, (SpawnPool[])(object)array71);
		SpawnPool[] array72 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array72, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(85, (SpawnPool[])(object)array72);
		SpawnPool[] array73 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array73, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(86, (SpawnPool[])(object)array73);
		SpawnPool[] array74 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array74, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(87, (SpawnPool[])(object)array74);
		SpawnPool[] array75 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array75, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(88, (SpawnPool[])(object)array75);
		SpawnPool[] array76 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array76, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(89, (SpawnPool[])(object)array76);
		SpawnPool[] array77 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array77, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(90, (SpawnPool[])(object)array77);
		SpawnPool[] array78 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array78, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(91, (SpawnPool[])(object)array78);
		SpawnPool[] array79 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array79, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(92, (SpawnPool[])(object)array79);
		SpawnPool[] array80 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array80, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(93, (SpawnPool[])(object)array80);
		SpawnPool[] array81 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array81, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(94, (SpawnPool[])(object)array81);
		SpawnPool[] array82 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array82, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(95, (SpawnPool[])(object)array82);
		SpawnPool[] array83 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array83, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(96, (SpawnPool[])(object)array83);
		SpawnPool[] array84 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array84, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(97, (SpawnPool[])(object)array84);
		dictionary.Add(98, (SpawnPool[])(object)new SpawnPool[1] { (SpawnPool)16777216 });
		SpawnPool[] array85 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array85, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(99, (SpawnPool[])(object)array85);
		SpawnPool[] array86 = new SpawnPool[6];
		RuntimeHelpers.InitializeArray(array86, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(100, (SpawnPool[])(object)array86);
		SpawnPool[] array87 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array87, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(101, (SpawnPool[])(object)array87);
		SpawnPool[] array88 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array88, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(102, (SpawnPool[])(object)array88);
		SpawnPool[] array89 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array89, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(103, (SpawnPool[])(object)array89);
		dictionary.Add(104, (SpawnPool[])(object)new SpawnPool[1] { (SpawnPool)16777216 });
		SpawnPool[] array90 = new SpawnPool[5];
		RuntimeHelpers.InitializeArray(array90, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(105, (SpawnPool[])(object)array90);
		dictionary.Add(106, (SpawnPool[])(object)new SpawnPool[1] { (SpawnPool)16777216 });
		SpawnPool[] array91 = new SpawnPool[6];
		RuntimeHelpers.InitializeArray(array91, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(107, (SpawnPool[])(object)array91);
		SpawnPool[] array92 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array92, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(108, (SpawnPool[])(object)array92);
		SpawnPool[] array93 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array93, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(109, (SpawnPool[])(object)array93);
		SpawnPool[] array94 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array94, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(110, (SpawnPool[])(object)array94);
		SpawnPool[] array95 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array95, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(111, (SpawnPool[])(object)array95);
		SpawnPool[] array96 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array96, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(112, (SpawnPool[])(object)array96);
		SpawnPool[] array97 = new SpawnPool[7];
		RuntimeHelpers.InitializeArray(array97, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
		dictionary.Add(114, (SpawnPool[])(object)array97);
		DefaultPools = dictionary;
	}
}