public void openCrate(int type)
{
int num = type - 2334;
if (type >= 3203)
num = type - 3203 + 3;
if (num == 0)
{
bool flag = true;
while (flag)
{
if (Main.hardMode && flag && Main.rand.Next(200) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 3064, 1, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (flag && Main.rand.Next(40) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 3200, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (flag && Main.rand.Next(40) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 3201, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.hardMode && flag && Main.rand.Next(25) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 2424, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(45) == 0)
{
int Type = Main.rand.Next(5);
switch (Type)
{
case 0:
Type = 285;
break;
case 1:
Type = 953;
break;
case 2:
Type = 946;
break;
case 3:
Type = 3068;
break;
case 4:
Type = 3084;
break;
}
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (!Main.hardMode && flag && Main.rand.Next(50) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 997, 1, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(7) == 0)
{
int Type;
int Stack;
if (Main.rand.Next(3) == 0)
{
Type = 73;
Stack = Main.rand.Next(1, 6);
}
else
{
Type = 72;
Stack = Main.rand.Next(20, 91);
}
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(7) == 0)
{
int Type = Main.rand.Next(8);
switch (Type)
{
case 0:
Type = 12;
break;
case 1:
Type = 11;
break;
case 2:
Type = 14;
break;
case 3:
Type = 13;
break;
case 4:
Type = 699;
break;
case 5:
Type = 700;
break;
case 6:
Type = 701;
break;
case 7:
Type = 702;
break;
}
if (Main.hardMode && Main.rand.Next(2) == 0)
{
Type = Main.rand.Next(6);
switch (Type)
{
case 0:
Type = 364;
break;
case 1:
Type = 365;
break;
case 2:
Type = 366;
break;
case 3:
Type = 1104;
break;
case 4:
Type = 1105;
break;
case 5:
Type = 1106;
break;
}
}
int Stack = Main.rand.Next(8, 21);
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(8) == 0)
{
int Type = Main.rand.Next(8);
switch (Type)
{
case 0:
Type = 20;
break;
case 1:
Type = 22;
break;
case 2:
Type = 21;
break;
case 3:
Type = 19;
break;
case 4:
Type = 703;
break;
case 5:
Type = 704;
break;
case 6:
Type = 705;
break;
case 7:
Type = 706;
break;
}
int Stack = Main.rand.Next(2, 8);
if (Main.hardMode && Main.rand.Next(2) == 0)
{
Type = Main.rand.Next(6);
switch (Type)
{
case 0:
Type = 381;
break;
case 1:
Type = 382;
break;
case 2:
Type = 391;
break;
case 3:
Type = 1184;
break;
case 4:
Type = 1191;
break;
case 5:
Type = 1198;
break;
}
Stack -= Main.rand.Next(2);
}
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(7) == 0)
{
int Type = Main.rand.Next(10);
switch (Type)
{
case 0:
Type = 288;
break;
case 1:
Type = 290;
break;
case 2:
Type = 292;
break;
case 3:
Type = 299;
break;
case 4:
Type = 298;
break;
case 5:
Type = 304;
break;
case 6:
Type = 291;
break;
case 7:
Type = 2322;
break;
case 8:
Type = 2323;
break;
case 9:
Type = 2329;
break;
}
int Stack = Main.rand.Next(1, 4);
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
}
if (Main.rand.Next(3) == 0)
{
int Type = Main.rand.Next(2);
switch (Type)
{
case 0:
Type = 28;
break;
case 1:
Type = 110;
break;
}
int Stack = Main.rand.Next(5, 16);
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
if (Main.rand.Next(3) != 0)
return;
int number1 = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Main.rand.Next(3) != 0 ? 2674 : 2675, Main.rand.Next(1, 5), false, 0, false);
if (Main.netMode != 1)
return;
NetMessage.SendData(21, -1, -1, "", number1, 1f, 0.0f, 0.0f, 0, 0, 0);
}
else if (num == 1)
{
bool flag = true;
while (flag)
{
if (Main.hardMode && flag && Main.rand.Next(60) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 3064, 1, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (flag && Main.rand.Next(25) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 2501, 1, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (flag && Main.rand.Next(20) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 2587, 1, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (flag && Main.rand.Next(15) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 2608, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (flag && Main.rand.Next(20) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 3200, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (flag && Main.rand.Next(20) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 3201, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(4) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 73, Main.rand.Next(5, 11), false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(4) == 0)
{
int Type = Main.rand.Next(8);
switch (Type)
{
case 0:
Type = 20;
break;
case 1:
Type = 22;
break;
case 2:
Type = 21;
break;
case 3:
Type = 19;
break;
case 4:
Type = 703;
break;
case 5:
Type = 704;
break;
case 6:
Type = 705;
break;
case 7:
Type = 706;
break;
}
int Stack = Main.rand.Next(6, 15);
if (Main.hardMode && Main.rand.Next(3) != 0)
{
Type = Main.rand.Next(6);
switch (Type)
{
case 0:
Type = 381;
break;
case 1:
Type = 382;
break;
case 2:
Type = 391;
break;
case 3:
Type = 1184;
break;
case 4:
Type = 1191;
break;
case 5:
Type = 1198;
break;
}
Stack -= Main.rand.Next(2);
}
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(4) == 0)
{
int Type = Main.rand.Next(8);
switch (Type)
{
case 0:
Type = 288;
break;
case 1:
Type = 296;
break;
case 2:
Type = 304;
break;
case 3:
Type = 305;
break;
case 4:
Type = 2322;
break;
case 5:
Type = 2323;
break;
case 6:
Type = 2324;
break;
case 7:
Type = 2327;
break;
}
int Stack = Main.rand.Next(2, 5);
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
}
if (Main.rand.Next(2) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Main.rand.Next(188, 190), Main.rand.Next(5, 16), false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
if (Main.rand.Next(2) != 0)
return;
int number1 = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Main.rand.Next(3) != 0 ? 2675 : 2676, Main.rand.Next(2, 5), false, 0, false);
if (Main.netMode != 1)
return;
NetMessage.SendData(21, -1, -1, "", number1, 1f, 0.0f, 0.0f, 0, 0, 0);
}
else if (num == 2)
{
bool flag = true;
while (flag)
{
if (Main.hardMode && flag && Main.rand.Next(20) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 3064, 1, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (flag && Main.rand.Next(10) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 2491, 1, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(3) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 73, Main.rand.Next(8, 21), false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(3) == 0)
{
int Type = Main.rand.Next(4);
switch (Type)
{
case 0:
Type = 21;
break;
case 1:
Type = 19;
break;
case 2:
Type = 705;
break;
case 3:
Type = 706;
break;
}
if (Main.hardMode && Main.rand.Next(3) != 0)
{
Type = Main.rand.Next(4);
switch (Type)
{
case 0:
Type = 382;
break;
case 1:
Type = 391;
break;
case 2:
Type = 1191;
break;
case 3:
Type = 1198;
break;
}
}
int Stack = Main.rand.Next(15, 31);
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
}
if (Main.rand.Next(3) == 0)
{
int Type = Main.rand.Next(5);
switch (Type)
{
case 0:
Type = 288;
break;
case 1:
Type = 296;
break;
case 2:
Type = 305;
break;
case 3:
Type = 2322;
break;
case 4:
Type = 2323;
break;
}
int Stack = Main.rand.Next(2, 6);
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
if (Main.rand.Next(2) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Main.rand.Next(499, 501), Main.rand.Next(5, 21), false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
if (Main.rand.Next(3) == 0)
return;
int number1 = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 2676, Main.rand.Next(3, 8), false, 0, false);
if (Main.netMode != 1)
return;
NetMessage.SendData(21, -1, -1, "", number1, 1f, 0.0f, 0.0f, 0, 0, 0);
}
else
{
int maxValue = 6;
bool flag = true;
while (flag)
{
if (num == 3 && flag && Main.rand.Next(maxValue) == 0)
{
int Type;
switch (Main.rand.Next(5))
{
case 0:
Type = 162;
break;
case 1:
Type = 111;
break;
case 2:
Type = 96;
break;
case 3:
Type = 115;
break;
default:
Type = 64;
break;
}
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (num == 4 && flag && Main.rand.Next(maxValue) == 0)
{
int Type;
switch (Main.rand.Next(5))
{
case 0:
Type = 800;
break;
case 1:
Type = 802;
break;
case 2:
Type = 1256;
break;
case 3:
Type = 1290;
break;
default:
Type = 3062;
break;
}
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (num == 5 && flag && Main.rand.Next(maxValue) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 3085, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (num == 6 && flag && Main.rand.Next(maxValue) == 0)
{
int Type;
switch (Main.rand.Next(3))
{
case 0:
Type = 158;
break;
case 1:
Type = 65;
break;
default:
Type = 159;
break;
}
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (num == 8 && flag && Main.rand.Next(maxValue) == 0)
{
int Type;
switch (Main.rand.Next(5))
{
case 0:
Type = 212;
break;
case 1:
Type = 964;
break;
case 2:
Type = 211;
break;
case 3:
Type = 213;
break;
default:
Type = 2292;
break;
}
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, 1, false, -1, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(4) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, 73, Main.rand.Next(5, 13), false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
if (Main.rand.Next(4) == 0)
{
int Type = Main.rand.Next(6);
switch (Type)
{
case 0:
Type = 22;
break;
case 1:
Type = 21;
break;
case 2:
Type = 19;
break;
case 3:
Type = 704;
break;
case 4:
Type = 705;
break;
case 5:
Type = 706;
break;
}
int Stack = Main.rand.Next(10, 21);
if (Main.hardMode && Main.rand.Next(3) != 0)
{
Type = Main.rand.Next(6);
switch (Type)
{
case 0:
Type = 381;
break;
case 1:
Type = 382;
break;
case 2:
Type = 391;
break;
case 3:
Type = 1184;
break;
case 4:
Type = 1191;
break;
case 5:
Type = 1198;
break;
}
Stack -= Main.rand.Next(3);
}
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
flag = false;
}
}
if (Main.rand.Next(4) == 0)
{
int Type = Main.rand.Next(6);
switch (Type)
{
case 0:
Type = 288;
break;
case 1:
Type = 296;
break;
case 2:
Type = 304;
break;
case 3:
Type = 305;
break;
case 4:
Type = 2322;
break;
case 5:
Type = 2323;
break;
}
int Stack = Main.rand.Next(2, 5);
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
if (Main.rand.Next(2) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Main.rand.Next(188, 190), Main.rand.Next(5, 18), false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
if (Main.rand.Next(2) == 0)
{
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Main.rand.Next(2) != 0 ? 2675 : 2676, Main.rand.Next(2, 7), false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
if (num != 3 && num != 4 && num != 7)
return;
if (Main.hardMode && Main.rand.Next(2) == 0)
{
int Type = 521;
if (num == 7)
Type = 520;
int Stack = Main.rand.Next(2, 6);
int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type, Stack, false, 0, false);
if (Main.netMode == 1)
NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
}
if (!Main.hardMode || Main.rand.Next(2) != 0)
return;
int Type1 = 522;
int Stack1 = Main.rand.Next(2, 6);
if (num == 4)
Type1 = 1332;
else if (num == 7)
{
Type1 = 502;
Stack1 = Main.rand.Next(4, 11);
}
int number1 = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, Type1, Stack1, false, 0, false);
if (Main.netMode != 1)
return;
NetMessage.SendData(21, -1, -1, "", number1, 1f, 0.0f, 0.0f, 0, 0, 0);
}
}