Zamiel icon

Eden Item Finder Script

Zamiel | PRO | 06/02/19 07:08:31 PM UTC | 0 ⭐ | 337 👁️ | Never ⏰ | []
text |

21.77 KB

|

None

|

0 👍

/

0 👎

void Main()
{
	var rand = new Random();
	var seeds = new List<uint>();
	for(uint i = 0; i < uint.MaxValue; i++)
	{
		var startSeed = (uint)i; // rand.Next();
		var dropSeed = CalculatePlayerSeed(startSeed);
		var items = CalculateEdenItems(dropSeed);
 		// 441 = Mega Blast, 105 = The Wafer, 5 = Emperor
		if (items.Active == 441 && items.Passive == 108 && items.Card == 5)
		{
			seeds.Add(startSeed);	
			SeedToString(startSeed).Dump();
		}
 		// Display the ongoing progress
		if (i % 100000000 == 0)
			(":" + i).Dump();
	}
	seeds.Select(s => SeedToString(s)).ToArray().Dump();
}
 // ItemCount impacts the item pick RNG even though eden can't start with an item over id 441
public static EdenItems CalculateEdenItems(uint dropSeed, int itemCount = 441)
{
	var rng = new Rng(dropSeed, 0x1, 0x5, 0x13);
 	var trinket = 0;
	var card = 0;
	var pill = 0;
	var hearts = 0;
	var soulHearts = 0;	
	if ((rng.Next() % 3) == 0) 
	{
		// Trinket
	}
	else if ((rng.Next() & 1) == 0) 
	{
		if ((rng.Next() & 1) == 0) 
		{
			card = GetCard(rng.Next());
		}
		else
		{
			// Pill
			var pillSeed = rng.Next();
		}
	}
 	var activeId = 0;
	var passiveId = 0;
	for (var i = 0; i < 100; i++) 
	{
		int itemId = (int)(rng.Next() % itemCount) + 1;
 		// Black-list
		if (itemId > 441)
			continue;
		switch(itemId){
			case 0x3B:
			case 0xEB:
			case 0x107:
			case 0x2b:
			case 0x3d:
			case 0xee:
			case 0xef:
				continue;
			default:
				break;
		}
 		var itemType = ItemConfig[itemId];
		if (itemType == ItemType.Active)
		{
			activeId = activeId != 0 ? activeId : itemId;
		} 
		else if (itemType == ItemType.Passive || itemType == ItemType.Familiar) 
		{
			passiveId = passiveId != 0 ? passiveId : itemId;
		}
 		// Isaac doesn't exit early :thinking:
		if (activeId != 0 && passiveId != 0)
			break;
 	}
 	// Hearts and SoulHearts are actually done in Player::Init
	var healthRng = new Rng(dropSeed, 0x1, 0x5, 0x13);
	var halfHearts = (int)healthRng.Next() & 3;
	hearts = halfHearts * 2;
	soulHearts = ((int)healthRng.Next() % (4 - halfHearts)) * 2;
	if (hearts == 0 && soulHearts < 4)
	 	soulHearts = 4;
   	return new EdenItems(hearts, soulHearts, activeId, passiveId, trinket, card, pill);
}
public static int GetCard(uint seed, bool playing = false)
{
	var cardRng = new Rng(seed, 0x5, 0x9, 0x7);
	if (cardRng.Next() % 25 == 0) {
		return (int)(cardRng.Next() % 13) + 42;
	}
	if (cardRng.Next() % 10 == 0)
	{
		// Rune
	}
	if (cardRng.Next() % 5 == 0 && playing)
	{
		// Playing card
		return (int)(cardRng.Next() % 9) + 23;
	}
	return (int)(cardRng.Next() % 22) + 1;
}
 public static Rng[] CalculateCollectibleSeeds(uint startSeed, int itemCount = 441)
{
	var playerInitSeed = CalculatePlayerInitSeed(startSeed);
 	var playerInitRng = new Rng(playerInitSeed, 0x1, 0xB, 0x10);
	var collRng = new Rng(playerInitRng.Next(), 0x1, 0x13, 0x3);
	var seeds = new Rng[itemCount];
	for(var i = 0; i < seeds.Length; i++)
		seeds[i] = new Rng(collRng.Next(), 5, 9, 7);
	return seeds;
}
 public static Rng[] CalculateCardSeeds(uint startSeed, int cardCount = 45)
{
	var playerInitSeed = CalculatePlayerInitSeed(startSeed);
 	var playerInitRng = new Rng(playerInitSeed, 0x1, 0xB, 0x10);
	playerInitRng.Next();
	playerInitRng.Next();
	playerInitRng.Next();
	var cardsRng = new Rng(playerInitRng.Next(), 0x2, 0x5, 0xf);
	var seeds = new Rng[cardCount];
	for (var i = 0; i < seeds.Length; i++)
		seeds[i] = new Rng(cardsRng.Next(), 5, 9, 7);
	return seeds;
}
 public static uint CalculatePlayerInitSeed(uint startSeed)
{
	var startRng = new Rng(startSeed, 0x3, 0x17, 0x19);
	// Stage Seeds
	for (var i = 0; i < 0xD; i++)
		startRng.Next();
	return startRng.Next(); // Seeds::PlayerInitSeed
}
 public static uint CalculatePlayerSeed(uint startSeed)
{
	var playerInitSeed = CalculatePlayerInitSeed(startSeed);
 	// These happen inside Player::Init
	var playerInitRng = new Rng(playerInitSeed, 0x1, 0xB, 0x10);
	playerInitRng.Next();
	playerInitRng.Next();
	playerInitRng.Next();
	playerInitRng.Next();
 	return playerInitRng.Next(); // Entity::DropSeed
}
 public class EdenItems
{
	public int Hearts;
	public int SoulHearts;
	public int Active;
	public int Passive;
	public int Trinket;
	public int Card;
	public int Pill;
	public EdenItems(int hearts, int soulHearts, int active, int passive, int trinket, int card, int pill) 
	{
		Hearts     = hearts;
		SoulHearts = soulHearts;
		Active     = active;
		Passive    = passive;
		Trinket    = trinket;
		Card       = card;
		Pill       = pill;
	}
}
 static string SeedToString(uint num)
{
	const string chars = "ABCDEFGHJKLMNPQRSTWXYZ01234V6789";
	byte x = 0;
	var tnum = num;
	while (tnum != 0)
	{
		x += ((byte)tnum);
		x += (byte)(x + (x >> 7));
		tnum >>= 5;
	}
	num ^= 0x0FEF7FFD;
	tnum = (num) << 8 | x;
 	var ret = new char[8];
	for (int i = 0; i < 6; i++)
	{
		ret[i] = chars[(int)(num >> (27 - (i * 5)) & 0x1F)];
	}
	ret[6] = chars[(int)(tnum >> 5 & 0x1F)];
	ret[7] = chars[(int)(tnum & 0x1F)];
 	return new string(ret);
}
 public class Rng
{
	public uint Seed;
	public int Shift1;
	public int Shift2;
	public int Shift3;
	public uint Next()
	{
		var num = Seed;
		num ^= num >> Shift1;
		num ^= num << Shift2;
		num ^= num >> Shift3;
		Seed = num;
		return num;
	}
 	public Rng(uint seed, int s1, int s2, int s3) {
		this.Seed = seed;
		Shift1 = s1;
		Shift2 = s2;
		Shift3 = s3;
	}
};
 public enum ItemType {
	Null     = 0,
	Passive  = 1,
	Trinket  = 2,
	Active   = 3,
	Familiar = 4,
}
 public static ItemType[] ItemConfig = GetItemConfig();
public static ItemType[] GetItemConfig() {
	var itemConfig = new ItemType[442];
	itemConfig[1] = ItemType.Passive;
	itemConfig[2] = ItemType.Passive;
	itemConfig[3] = ItemType.Passive;
	itemConfig[4] = ItemType.Passive;
	itemConfig[5] = ItemType.Passive;
	itemConfig[6] = ItemType.Passive;
	itemConfig[7] = ItemType.Passive;
	itemConfig[8] = ItemType.Familiar;
	itemConfig[9] = ItemType.Passive;
	itemConfig[10] = ItemType.Familiar;
	itemConfig[11] = ItemType.Familiar;
	itemConfig[12] = ItemType.Passive;
	itemConfig[13] = ItemType.Passive;
	itemConfig[14] = ItemType.Passive;
	itemConfig[15] = ItemType.Passive;
	itemConfig[16] = ItemType.Passive;
	itemConfig[17] = ItemType.Passive;
	itemConfig[18] = ItemType.Passive;
	itemConfig[19] = ItemType.Passive;
	itemConfig[20] = ItemType.Passive;
	itemConfig[21] = ItemType.Passive;
	itemConfig[22] = ItemType.Passive;
	itemConfig[23] = ItemType.Passive;
	itemConfig[24] = ItemType.Passive;
	itemConfig[25] = ItemType.Passive;
	itemConfig[26] = ItemType.Passive;
	itemConfig[27] = ItemType.Passive;
	itemConfig[28] = ItemType.Passive;
	itemConfig[29] = ItemType.Passive;
	itemConfig[30] = ItemType.Passive;
	itemConfig[31] = ItemType.Passive;
	itemConfig[32] = ItemType.Passive;
	itemConfig[33] = ItemType.Active;
	itemConfig[34] = ItemType.Active;
	itemConfig[35] = ItemType.Active;
	itemConfig[36] = ItemType.Active;
	itemConfig[37] = ItemType.Active;
	itemConfig[38] = ItemType.Active;
	itemConfig[39] = ItemType.Active;
	itemConfig[40] = ItemType.Active;
	itemConfig[41] = ItemType.Active;
	itemConfig[42] = ItemType.Active;
	itemConfig[44] = ItemType.Active;
	itemConfig[45] = ItemType.Active;
	itemConfig[46] = ItemType.Passive;
	itemConfig[47] = ItemType.Active;
	itemConfig[48] = ItemType.Passive;
	itemConfig[49] = ItemType.Active;
	itemConfig[50] = ItemType.Passive;
	itemConfig[51] = ItemType.Passive;
	itemConfig[52] = ItemType.Passive;
	itemConfig[53] = ItemType.Passive;
	itemConfig[54] = ItemType.Passive;
	itemConfig[55] = ItemType.Passive;
	itemConfig[56] = ItemType.Active;
	itemConfig[57] = ItemType.Familiar;
	itemConfig[58] = ItemType.Active;
	itemConfig[60] = ItemType.Passive;
	itemConfig[62] = ItemType.Passive;
	itemConfig[63] = ItemType.Passive;
	itemConfig[64] = ItemType.Passive;
	itemConfig[65] = ItemType.Active;
	itemConfig[66] = ItemType.Active;
	itemConfig[67] = ItemType.Familiar;
	itemConfig[68] = ItemType.Passive;
	itemConfig[69] = ItemType.Passive;
	itemConfig[70] = ItemType.Passive;
	itemConfig[71] = ItemType.Passive;
	itemConfig[72] = ItemType.Passive;
	itemConfig[73] = ItemType.Familiar;
	itemConfig[74] = ItemType.Passive;
	itemConfig[75] = ItemType.Passive;
	itemConfig[76] = ItemType.Passive;
	itemConfig[77] = ItemType.Active;
	itemConfig[78] = ItemType.Active;
	itemConfig[79] = ItemType.Passive;
	itemConfig[80] = ItemType.Passive;
	itemConfig[81] = ItemType.Familiar;
	itemConfig[82] = ItemType.Passive;
	itemConfig[83] = ItemType.Active;
	itemConfig[84] = ItemType.Active;
	itemConfig[85] = ItemType.Active;
	itemConfig[86] = ItemType.Active;
	itemConfig[87] = ItemType.Passive;
	itemConfig[88] = ItemType.Familiar;
	itemConfig[89] = ItemType.Passive;
	itemConfig[90] = ItemType.Passive;
	itemConfig[91] = ItemType.Passive;
	itemConfig[92] = ItemType.Passive;
	itemConfig[93] = ItemType.Active;
	itemConfig[94] = ItemType.Familiar;
	itemConfig[95] = ItemType.Familiar;
	itemConfig[96] = ItemType.Familiar;
	itemConfig[97] = ItemType.Active;
	itemConfig[98] = ItemType.Familiar;
	itemConfig[99] = ItemType.Familiar;
	itemConfig[100] = ItemType.Familiar;
	itemConfig[101] = ItemType.Passive;
	itemConfig[102] = ItemType.Active;
	itemConfig[103] = ItemType.Passive;
	itemConfig[104] = ItemType.Passive;
	itemConfig[105] = ItemType.Active;
	itemConfig[106] = ItemType.Passive;
	itemConfig[107] = ItemType.Active;
	itemConfig[108] = ItemType.Passive;
	itemConfig[109] = ItemType.Passive;
	itemConfig[110] = ItemType.Passive;
	itemConfig[111] = ItemType.Active;
	itemConfig[112] = ItemType.Familiar;
	itemConfig[113] = ItemType.Familiar;
	itemConfig[114] = ItemType.Passive;
	itemConfig[115] = ItemType.Passive;
	itemConfig[116] = ItemType.Passive;
	itemConfig[117] = ItemType.Passive;
	itemConfig[118] = ItemType.Passive;
	itemConfig[119] = ItemType.Passive;
	itemConfig[120] = ItemType.Passive;
	itemConfig[121] = ItemType.Passive;
	itemConfig[122] = ItemType.Passive;
	itemConfig[123] = ItemType.Active;
	itemConfig[124] = ItemType.Active;
	itemConfig[125] = ItemType.Passive;
	itemConfig[126] = ItemType.Active;
	itemConfig[127] = ItemType.Active;
	itemConfig[128] = ItemType.Familiar;
	itemConfig[129] = ItemType.Passive;
	itemConfig[130] = ItemType.Active;
	itemConfig[131] = ItemType.Familiar;
	itemConfig[132] = ItemType.Passive;
	itemConfig[133] = ItemType.Active;
	itemConfig[134] = ItemType.Passive;
	itemConfig[135] = ItemType.Active;
	itemConfig[136] = ItemType.Active;
	itemConfig[137] = ItemType.Active;
	itemConfig[138] = ItemType.Passive;
	itemConfig[139] = ItemType.Passive;
	itemConfig[140] = ItemType.Passive;
	itemConfig[141] = ItemType.Passive;
	itemConfig[142] = ItemType.Passive;
	itemConfig[143] = ItemType.Passive;
	itemConfig[144] = ItemType.Familiar;
	itemConfig[145] = ItemType.Active;
	itemConfig[146] = ItemType.Active;
	itemConfig[147] = ItemType.Active;
	itemConfig[148] = ItemType.Passive;
	itemConfig[149] = ItemType.Passive;
	itemConfig[150] = ItemType.Passive;
	itemConfig[151] = ItemType.Passive;
	itemConfig[152] = ItemType.Passive;
	itemConfig[153] = ItemType.Passive;
	itemConfig[154] = ItemType.Passive;
	itemConfig[155] = ItemType.Familiar;
	itemConfig[156] = ItemType.Passive;
	itemConfig[157] = ItemType.Passive;
	itemConfig[158] = ItemType.Active;
	itemConfig[159] = ItemType.Passive;
	itemConfig[160] = ItemType.Active;
	itemConfig[161] = ItemType.Passive;
	itemConfig[162] = ItemType.Passive;
	itemConfig[163] = ItemType.Familiar;
	itemConfig[164] = ItemType.Active;
	itemConfig[165] = ItemType.Passive;
	itemConfig[166] = ItemType.Active;
	itemConfig[167] = ItemType.Familiar;
	itemConfig[168] = ItemType.Passive;
	itemConfig[169] = ItemType.Passive;
	itemConfig[170] = ItemType.Familiar;
	itemConfig[171] = ItemType.Active;
	itemConfig[172] = ItemType.Familiar;
	itemConfig[173] = ItemType.Passive;
	itemConfig[174] = ItemType.Familiar;
	itemConfig[175] = ItemType.Active;
	itemConfig[176] = ItemType.Passive;
	itemConfig[177] = ItemType.Active;
	itemConfig[178] = ItemType.Familiar;
	itemConfig[179] = ItemType.Passive;
	itemConfig[180] = ItemType.Passive;
	itemConfig[181] = ItemType.Active;
	itemConfig[182] = ItemType.Passive;
	itemConfig[183] = ItemType.Passive;
	itemConfig[184] = ItemType.Passive;
	itemConfig[185] = ItemType.Passive;
	itemConfig[186] = ItemType.Active;
	itemConfig[187] = ItemType.Familiar;
	itemConfig[188] = ItemType.Familiar;
	itemConfig[189] = ItemType.Passive;
	itemConfig[190] = ItemType.Passive;
	itemConfig[191] = ItemType.Passive;
	itemConfig[192] = ItemType.Active;
	itemConfig[193] = ItemType.Passive;
	itemConfig[194] = ItemType.Passive;
	itemConfig[195] = ItemType.Passive;
	itemConfig[196] = ItemType.Passive;
	itemConfig[197] = ItemType.Passive;
	itemConfig[198] = ItemType.Passive;
	itemConfig[199] = ItemType.Passive;
	itemConfig[200] = ItemType.Passive;
	itemConfig[201] = ItemType.Passive;
	itemConfig[202] = ItemType.Passive;
	itemConfig[203] = ItemType.Passive;
	itemConfig[204] = ItemType.Passive;
	itemConfig[205] = ItemType.Passive;
	itemConfig[206] = ItemType.Familiar;
	itemConfig[207] = ItemType.Familiar;
	itemConfig[208] = ItemType.Passive;
	itemConfig[209] = ItemType.Passive;
	itemConfig[210] = ItemType.Passive;
	itemConfig[211] = ItemType.Passive;
	itemConfig[212] = ItemType.Passive;
	itemConfig[213] = ItemType.Passive;
	itemConfig[214] = ItemType.Passive;
	itemConfig[215] = ItemType.Passive;
	itemConfig[216] = ItemType.Passive;
	itemConfig[217] = ItemType.Passive;
	itemConfig[218] = ItemType.Passive;
	itemConfig[219] = ItemType.Passive;
	itemConfig[220] = ItemType.Passive;
	itemConfig[221] = ItemType.Passive;
	itemConfig[222] = ItemType.Passive;
	itemConfig[223] = ItemType.Passive;
	itemConfig[224] = ItemType.Passive;
	itemConfig[225] = ItemType.Passive;
	itemConfig[226] = ItemType.Passive;
	itemConfig[227] = ItemType.Passive;
	itemConfig[228] = ItemType.Passive;
	itemConfig[229] = ItemType.Passive;
	itemConfig[230] = ItemType.Passive;
	itemConfig[231] = ItemType.Passive;
	itemConfig[232] = ItemType.Passive;
	itemConfig[233] = ItemType.Passive;
	itemConfig[234] = ItemType.Passive;
	itemConfig[236] = ItemType.Passive;
	itemConfig[237] = ItemType.Passive;
	itemConfig[238] = ItemType.Familiar;
	itemConfig[239] = ItemType.Familiar;
	itemConfig[240] = ItemType.Passive;
	itemConfig[241] = ItemType.Passive;
	itemConfig[242] = ItemType.Passive;
	itemConfig[243] = ItemType.Passive;
	itemConfig[244] = ItemType.Passive;
	itemConfig[245] = ItemType.Passive;
	itemConfig[246] = ItemType.Passive;
	itemConfig[247] = ItemType.Passive;
	itemConfig[248] = ItemType.Passive;
	itemConfig[249] = ItemType.Passive;
	itemConfig[250] = ItemType.Passive;
	itemConfig[251] = ItemType.Passive;
	itemConfig[252] = ItemType.Passive;
	itemConfig[253] = ItemType.Passive;
	itemConfig[254] = ItemType.Passive;
	itemConfig[255] = ItemType.Passive;
	itemConfig[256] = ItemType.Passive;
	itemConfig[257] = ItemType.Passive;
	itemConfig[258] = ItemType.Passive;
	itemConfig[259] = ItemType.Passive;
	itemConfig[260] = ItemType.Passive;
	itemConfig[261] = ItemType.Passive;
	itemConfig[262] = ItemType.Passive;
	itemConfig[264] = ItemType.Familiar;
	itemConfig[265] = ItemType.Familiar;
	itemConfig[266] = ItemType.Familiar;
	itemConfig[267] = ItemType.Familiar;
	itemConfig[268] = ItemType.Familiar;
	itemConfig[269] = ItemType.Familiar;
	itemConfig[270] = ItemType.Familiar;
	itemConfig[271] = ItemType.Familiar;
	itemConfig[272] = ItemType.Familiar;
	itemConfig[273] = ItemType.Familiar;
	itemConfig[274] = ItemType.Familiar;
	itemConfig[275] = ItemType.Familiar;
	itemConfig[276] = ItemType.Familiar;
	itemConfig[277] = ItemType.Familiar;
	itemConfig[278] = ItemType.Familiar;
	itemConfig[279] = ItemType.Familiar;
	itemConfig[280] = ItemType.Familiar;
	itemConfig[281] = ItemType.Familiar;
	itemConfig[282] = ItemType.Active;
	itemConfig[283] = ItemType.Active;
	itemConfig[284] = ItemType.Active;
	itemConfig[285] = ItemType.Active;
	itemConfig[286] = ItemType.Active;
	itemConfig[287] = ItemType.Active;
	itemConfig[288] = ItemType.Active;
	itemConfig[289] = ItemType.Active;
	itemConfig[290] = ItemType.Active;
	itemConfig[291] = ItemType.Active;
	itemConfig[292] = ItemType.Active;
	itemConfig[293] = ItemType.Active;
	itemConfig[294] = ItemType.Active;
	itemConfig[295] = ItemType.Active;
	itemConfig[296] = ItemType.Active;
	itemConfig[297] = ItemType.Active;
	itemConfig[298] = ItemType.Active;
	itemConfig[299] = ItemType.Passive;
	itemConfig[300] = ItemType.Passive;
	itemConfig[301] = ItemType.Passive;
	itemConfig[302] = ItemType.Passive;
	itemConfig[303] = ItemType.Passive;
	itemConfig[304] = ItemType.Passive;
	itemConfig[305] = ItemType.Passive;
	itemConfig[306] = ItemType.Passive;
	itemConfig[307] = ItemType.Passive;
	itemConfig[308] = ItemType.Passive;
	itemConfig[309] = ItemType.Passive;
	itemConfig[310] = ItemType.Passive;
	itemConfig[311] = ItemType.Passive;
	itemConfig[312] = ItemType.Passive;
	itemConfig[313] = ItemType.Passive;
	itemConfig[314] = ItemType.Passive;
	itemConfig[315] = ItemType.Passive;
	itemConfig[316] = ItemType.Passive;
	itemConfig[317] = ItemType.Passive;
	itemConfig[318] = ItemType.Familiar;
	itemConfig[319] = ItemType.Familiar;
	itemConfig[320] = ItemType.Familiar;
	itemConfig[321] = ItemType.Familiar;
	itemConfig[322] = ItemType.Familiar;
	itemConfig[323] = ItemType.Active;
	itemConfig[324] = ItemType.Active;
	itemConfig[325] = ItemType.Active;
	itemConfig[326] = ItemType.Active;
	itemConfig[327] = ItemType.Passive;
	itemConfig[328] = ItemType.Passive;
	itemConfig[329] = ItemType.Passive;
	itemConfig[330] = ItemType.Passive;
	itemConfig[331] = ItemType.Passive;
	itemConfig[332] = ItemType.Passive;
	itemConfig[333] = ItemType.Passive;
	itemConfig[334] = ItemType.Passive;
	itemConfig[335] = ItemType.Passive;
	itemConfig[336] = ItemType.Passive;
	itemConfig[337] = ItemType.Passive;
	itemConfig[338] = ItemType.Active;
	itemConfig[339] = ItemType.Passive;
	itemConfig[340] = ItemType.Passive;
	itemConfig[341] = ItemType.Passive;
	itemConfig[342] = ItemType.Passive;
	itemConfig[343] = ItemType.Passive;
	itemConfig[344] = ItemType.Passive;
	itemConfig[345] = ItemType.Passive;
	itemConfig[346] = ItemType.Passive;
	itemConfig[347] = ItemType.Active;
	itemConfig[348] = ItemType.Active;
	itemConfig[349] = ItemType.Active;
	itemConfig[350] = ItemType.Passive;
	itemConfig[351] = ItemType.Active;
	itemConfig[352] = ItemType.Active;
	itemConfig[353] = ItemType.Passive;
	itemConfig[354] = ItemType.Passive;
	itemConfig[355] = ItemType.Passive;
	itemConfig[356] = ItemType.Passive;
	itemConfig[357] = ItemType.Active;
	itemConfig[358] = ItemType.Passive;
	itemConfig[359] = ItemType.Passive;
	itemConfig[360] = ItemType.Familiar;
	itemConfig[361] = ItemType.Familiar;
	itemConfig[362] = ItemType.Familiar;
	itemConfig[363] = ItemType.Familiar;
	itemConfig[364] = ItemType.Familiar;
	itemConfig[365] = ItemType.Familiar;
	itemConfig[366] = ItemType.Passive;
	itemConfig[367] = ItemType.Passive;
	itemConfig[368] = ItemType.Passive;
	itemConfig[369] = ItemType.Passive;
	itemConfig[370] = ItemType.Passive;
	itemConfig[371] = ItemType.Passive;
	itemConfig[372] = ItemType.Familiar;
	itemConfig[373] = ItemType.Passive;
	itemConfig[374] = ItemType.Passive;
	itemConfig[375] = ItemType.Passive;
	itemConfig[376] = ItemType.Passive;
	itemConfig[377] = ItemType.Passive;
	itemConfig[378] = ItemType.Passive;
	itemConfig[379] = ItemType.Passive;
	itemConfig[380] = ItemType.Passive;
	itemConfig[381] = ItemType.Passive;
	itemConfig[382] = ItemType.Active;
	itemConfig[383] = ItemType.Active;
	itemConfig[384] = ItemType.Familiar;
	itemConfig[385] = ItemType.Familiar;
	itemConfig[386] = ItemType.Active;
	itemConfig[387] = ItemType.Familiar;
	itemConfig[388] = ItemType.Familiar;
	itemConfig[389] = ItemType.Familiar;
	itemConfig[390] = ItemType.Familiar;
	itemConfig[391] = ItemType.Passive;
	itemConfig[392] = ItemType.Passive;
	itemConfig[393] = ItemType.Passive;
	itemConfig[394] = ItemType.Passive;
	itemConfig[395] = ItemType.Passive;
	itemConfig[396] = ItemType.Active;
	itemConfig[397] = ItemType.Passive;
	itemConfig[398] = ItemType.Passive;
	itemConfig[399] = ItemType.Passive;
	itemConfig[400] = ItemType.Passive;
	itemConfig[401] = ItemType.Passive;
	itemConfig[402] = ItemType.Passive;
	itemConfig[403] = ItemType.Familiar;
	itemConfig[404] = ItemType.Familiar;
	itemConfig[405] = ItemType.Familiar;
	itemConfig[406] = ItemType.Active;
	itemConfig[407] = ItemType.Passive;
	itemConfig[408] = ItemType.Passive;
	itemConfig[409] = ItemType.Passive;
	itemConfig[410] = ItemType.Passive;
	itemConfig[411] = ItemType.Passive;
	itemConfig[412] = ItemType.Passive;
	itemConfig[413] = ItemType.Passive;
	itemConfig[414] = ItemType.Passive;
	itemConfig[415] = ItemType.Passive;
	itemConfig[416] = ItemType.Passive;
	itemConfig[417] = ItemType.Familiar;
	itemConfig[418] = ItemType.Passive;
	itemConfig[419] = ItemType.Active;
	itemConfig[420] = ItemType.Passive;
	itemConfig[421] = ItemType.Active;
	itemConfig[422] = ItemType.Active;
	itemConfig[423] = ItemType.Passive;
	itemConfig[424] = ItemType.Passive;
	itemConfig[425] = ItemType.Passive;
	itemConfig[426] = ItemType.Familiar;
	itemConfig[427] = ItemType.Active;
	itemConfig[428] = ItemType.Passive;
	itemConfig[429] = ItemType.Passive;
	itemConfig[430] = ItemType.Familiar;
	itemConfig[431] = ItemType.Familiar;
	itemConfig[432] = ItemType.Passive;
	itemConfig[433] = ItemType.Passive;
	itemConfig[434] = ItemType.Active;
	itemConfig[435] = ItemType.Familiar;
	itemConfig[436] = ItemType.Familiar;
	itemConfig[437] = ItemType.Active;
	itemConfig[438] = ItemType.Passive;
	itemConfig[439] = ItemType.Active;
	itemConfig[440] = ItemType.Passive;
	itemConfig[441] = ItemType.Active;
	return itemConfig;
}

Comments