I fixed it. Just replace function "public static void SendData(...)" in Net.Message.cs from Reflector!
Code:
public static void SendData(int msgType, int remoteClient = -1, int ignoreClient = -1, string text = "", int number = 0, float number2 = 0f, float number3 = 0f, float number4 = 0f, int number5 = 0)
{
if (Main.netMode != 0)
{
int index = 0x100;
if ((Main.netMode == 2) && (remoteClient >= 0))
{
index = remoteClient;
}
lock (buffer[index])
{
Player player2;
Item item;
int stack;
int netID;
int num6;
int num15;
int num16;
int num17;
int num18;
int num19;
Projectile projectile;
BitsByte num30;
int num31;
int x;
int y;
int length;
string str;
int num38;
int num39;
string displayName;
int num41;
int num42;
MemoryStream output = new MemoryStream(buffer[index].writeBuffer);
BinaryWriter bb = new BinaryWriter(output);
long position = bb.BaseStream.Position;
Stream baseStream = bb.BaseStream;
baseStream.Position += 2L;
bb.Write((byte)msgType);
switch (msgType)
{
case 1:
bb.Write("Terraria" + Main.curRelease);
goto Label_17AE;
case 2:
bb.Write(text);
if (Main.dedServ)
{
Console.WriteLine(Netplay.serverSock[index].tcpClient.Client.RemoteEndPoint.ToString() + " was booted: " + text);
}
goto Label_17AE;
case 3:
bb.Write((byte)remoteClient);
goto Label_17AE;
case 4:
{
Player player = Main.player[number];
bb.Write((byte)number);
bb.Write(player.male ? ((byte)0) : ((byte)1));
bb.Write((byte)player.hair);
bb.Write(text);
bb.Write(player.hairDye);
bb.Write((byte)player.hideVisual);
bb.WriteRGB(player.hairColor);
bb.WriteRGB(player.skinColor);
bb.WriteRGB(player.eyeColor);
bb.WriteRGB(player.shirtColor);
bb.WriteRGB(player.underShirtColor);
bb.WriteRGB(player.pantsColor);
bb.WriteRGB(player.shoeColor);
bb.Write(player.difficulty);
goto Label_17AE;
}
case 5:
bb.Write((byte)number);
bb.Write((byte)number2);
player2 = Main.player[number];
item = null;
stack = 0;
netID = 0;
if (number2 >= 59f)
{
break;
}
item = player2.inventory[(int)number2];
goto Label_035D;
case 7:
{
bb.Write((int)Main.time);
BitsByte num5 = 0;
num5[0] = Main.dayTime;
num5[1] = Main.bloodMoon;
num5[2] = Main.eclipse;
bb.Write((byte)num5);
bb.Write((byte)Main.moonPhase);
bb.Write((short)Main.maxTilesX);
bb.Write((short)Main.maxTilesY);
bb.Write((short)Main.spawnTileX);
bb.Write((short)Main.spawnTileY);
bb.Write((short)Main.worldSurface);
bb.Write((short)Main****ckLayer);
bb.Write(Main.worldID);
bb.Write(Main.worldName);
bb.Write((byte)Main.moonType);
bb.Write((byte)WorldGen.treeBG);
bb.Write((byte)WorldGen.corruptBG);
bb.Write((byte)WorldGen.jungleBG);
bb.Write((byte)WorldGen.snowBG);
bb.Write((byte)WorldGen.hallowBG);
bb.Write((byte)WorldGen.crimsonBG);
bb.Write((byte)WorldGen.desertBG);
bb.Write((byte)WorldGen.oceanBG);
bb.Write((byte)Main.iceBackStyle);
bb.Write((byte)Main.jungleBackStyle);
bb.Write((byte)Main.hellBackStyle);
bb.Write(Main.windSpeedSet);
bb.Write((byte)Main.numClouds);
num6 = 0;
goto Label_0537;
}
case 8:
bb.Write(number);
bb.Write((int)number2);
goto Label_17AE;
case 9:
bb.Write(number);
bb.Write(text);
goto Label_17AE;
case 10:
{
int num12 = CompressTileBlock(number, (int)number2, (short)number3, (short)number4, buffer[index].writeBuffer, (int)bb.BaseStream.Position, true);
Stream stream2 = bb.BaseStream;
stream2.Position += num12;
goto Label_17AE;
}
case 11:
bb.Write((short)number);
bb.Write((short)number2);
bb.Write((short)number3);
bb.Write((short)number4);
goto Label_17AE;
case 12:
bb.Write((byte)number);
bb.Write((short)Main.player[number].SpawnX);
bb.Write((short)Main.player[number].SpawnY);
goto Label_17AE;
case 13:
{
Player player3 = Main.player[number];
bb.Write((byte)number);
BitsByte num13 = 0;
num13[0] = player3.controlUp;
num13[1] = player3.controlDown;
num13[2] = player3.controlLeft;
num13[3] = player3.controlRight;
num13[4] = player3.controlJump;
num13[5] = player3.controlUseItem;
num13[6] = player3.direction == 1;
bb.Write((byte)num13);
BitsByte num14 = 0;
num14[0] = player3.pulley;
num14[1] = player3.pulley && (player3.pulleyDir == 2);
num14[2] = player3.velocity != Vector2.Zero;
bb.Write((byte)num14);
bb.Write((byte)player3.selectedItem);
bb.WriteVector2(player3.position);
bb.WriteVector2(player3.velocity);
goto Label_17AE;
}
case 14:
bb.Write((byte)number);
bb.Write((byte)number2);
goto Label_17AE;
case 0x10:
bb.Write((byte)number);
bb.Write((short)Main.player[number].statLife);
bb.Write((short)Main.player[number].statLifeMax);
goto Label_17AE;
case 0x11:
bb.Write((byte)number);
bb.Write((short)number2);
bb.Write((short)number3);
bb.Write((short)number4);
bb.Write((byte)number5);
goto Label_17AE;
case 0x12:
bb.Write(Main.dayTime ? ((byte)1) : ((byte)0));
bb.Write((int)Main.time);
bb.Write(Main.sunModY);
bb.Write(Main.moonModY);
goto Label_17AE;
case 0x13:
bb.Write((byte)number);
bb.Write((short)number2);
bb.Write((short)number3);
bb.Write((number4 == 1f) ? ((byte)1) : ((byte)0));
goto Label_17AE;
case 20:
num15 = number;
num16 = (int)number2;
num17 = (int)number3;
bb.Write((short)num15);
bb.Write((short)num16);
bb.Write((short)num17);
num18 = num16;
goto Label_0BB2;
case 0x15:
{
Item item2 = Main.item[number];
bb.Write((short)number);
bb.WriteVector2(item2.position);
bb.WriteVector2(item2.velocity);
bb.Write((short)item2.stack);
bb.Write(item2.prefix);
bb.Write((byte)number2);
short num24 = 0;
if (item2.active && (item2.stack > 0))
{
num24 = (short)item2.netID;
}
bb.Write(num24);
goto Label_17AE;
}
case 0x16:
bb.Write((short)number);
bb.Write((byte)Main.item[number].owner);
goto Label_17AE;
case 0x17:
{
NPC npc = Main.npc[number];
bb.Write((short)number);
bb.WriteVector2(npc.position);
bb.WriteVector2(npc.velocity);
bb.Write((byte)npc.target);
int life = npc.life;
if (!npc.active)
{
life = 0;
}
if (!npc.active || (npc.life <= 0))
{
npc.netSkip = 0;
}
if (npc.name == null)
{
npc.name = "";
}
short num26 = (short)npc.netID;
bool[] flagArray = new bool[4];
BitsByte num27 = 0;
num27[0] = npc.direction > 0;
num27[1] = npc.directionY > 0;
num27[2] = flagArray[0] = !(npc.ai[0] == 0f);
num27[3] = flagArray[1] = !(npc.ai[1] == 0f);
num27[4] = flagArray[2] = !(npc.ai[2] == 0f);
num27[5] = flagArray[3] = !(npc.ai[3] == 0f);
num27[6] = npc.spriteDirection > 0;
num27[7] = life == npc.lifeMax;
bb.Write((byte)num27);
for (int n = 0; n < NPC.maxAI; n++)
{
if (flagArray[n])
{
bb.Write(npc.ai[n]);
}
}
bb.Write(num26);
if (!num27[7])
{
if (Main.npcLifeBytes[npc.netID] == 2)
{
bb.Write((short)life);
}
else if (Main.npcLifeBytes[npc.netID] == 4)
{
bb.Write(life);
}
else
{
bb.Write((sbyte)life);
}
}
if (Main.npcCatchable[npc.type])
{
bb.Write((byte)npc.releaseOwner);
}
goto Label_17AE;
}
case 0x18:
bb.Write((short)number);
bb.Write((byte)number2);
goto Label_17AE;
case 0x19:
bb.Write((byte)number);
bb.Write((byte)number2);
bb.Write((byte)number3);
bb.Write((byte)number4);
bb.Write(text);
goto Label_17AE;
case 0x1a:
{
bb.Write((byte)number);
bb.Write((byte)(number2 + 1f));
bb.Write((short)number3);
bb.Write(text);
BitsByte num29 = 0;
num29[0] = number4 == 1f;
num29[1] = number5 == 1;
bb.Write((byte)num29);
goto Label_17AE;
}
case 0x1b:
projectile = Main.projectile[number];
bb.Write((short)projectile.identity);
bb.WriteVector2(projectile.position);
bb.WriteVector2(projectile.velocity);
bb.Write(projectile.knockBack);
bb.Write((short)projectile.damage);
bb.Write((byte)projectile.owner);
bb.Write((short)projectile.type);
num30 = 0;
num31 = 0;
goto Label_0FC9;
case 0x1c:
bb.Write((short)number);
bb.Write((short)number2);
bb.Write(number3);
bb.Write((byte)(number4 + 1f));
bb.Write((byte)number5);
goto Label_17AE;
case 0x1d:
bb.Write((short)number);
bb.Write((byte)number2);
goto Label_17AE;
case 30:
bb.Write((byte)number);
bb.Write(Main.player[number].hostile);
goto Label_17AE;
case 0x1f:
bb.Write((short)number);
bb.Write((short)number2);
goto Label_17AE;
case 0x20:
{
Item item3 = Main.chest[number].item[(byte)number2];
bb.Write((short)number);
bb.Write((byte)number2);
short num33 = (short)item3.netID;
if (item3.name == null)
{
num33 = 0;
}
bb.Write((short)item3.stack);
bb.Write(item3.prefix);
bb.Write(num33);
goto Label_17AE;
}
case 0x21:
x = 0;
y = 0;
length = 0;
str = null;
if (number > -1)
{
x = Main.chest[number].x;
y = Main.chest[number].y;
}
if (number2 == 1f)
{
length = (byte)text.Length;
if ((length != 0) && (length <= 20))
{
goto Label_1150;
}
length = 0xff;
}
goto Label_1153;
case 0x22:
bb.Write((byte)number);
bb.Write((short)number2);
bb.Write((short)number3);
bb.Write((short)number4);
if (Main.netMode == 2)
{
Netplay.GetSectionX((int)number2);
Netplay.GetSectionY((int)number3);
bb.Write((short)number5);
}
goto Label_17AE;
case 0x23:
case 0x42:
bb.Write((byte)number);
bb.Write((short)number2);
goto Label_17AE;
case 0x24:
{
Player player4 = Main.player[number];
bb.Write((byte)number);
BitsByte num37 = 0;
num37[0] = player4.zoneEvil;
num37[1] = player4.zoneMeteor;
num37[2] = player4.zoneDungeon;
num37[3] = player4.zoneJungle;
num37[4] = player4.zoneHoly;
num37[5] = player4.zoneSnow;
num37[6] = player4.zoneBlood;
num37[7] = player4.zoneCandle;
bb.Write((byte)num37);
goto Label_17AE;
}
case 0x26:
bb.Write(text);
goto Label_17AE;
case 0x27:
bb.Write((short)number);
goto Label_17AE;
case 40:
bb.Write((byte)number);
bb.Write((short)Main.player[number].talkNPC);
goto Label_17AE;
case 0x29:
bb.Write((byte)number);
bb.Write(Main.player[number].itemRotation);
bb.Write((short)Main.player[number].itemAnimation);
goto Label_17AE;
case 0x2a:
bb.Write((byte)number);
bb.Write((short)Main.player[number].statMana);
bb.Write((short)Main.player[number].statManaMax);
goto Label_17AE;
case 0x2b:
bb.Write((byte)number);
bb.Write((short)number2);
goto Label_17AE;
case 0x2c:
bb.Write((byte)number);
bb.Write((byte)(number2 + 1f));
bb.Write((short)number3);
bb.Write((byte)number4);
bb.Write(text);
goto Label_17AE;
case 0x2d:
bb.Write((byte)number);
bb.Write((byte)Main.player[number].team);
goto Label_17AE;
case 0x2e:
bb.Write((short)number);
bb.Write((short)number2);
goto Label_17AE;
case 0x2f:
bb.Write((short)number);
bb.Write((short)Main.sign[number].x);
bb.Write((short)Main.sign[number].y);
bb.Write(Main.sign[number].text);
goto Label_17AE;
case 0x30:
{
Tile tile2 = Main.tile[number, (int)number2];
bb.Write((short)number);
bb.Write((short)number2);
bb.Write(tile2.liquid);
bb.Write(tile2.liquidType());
goto Label_17AE;
}
case 50:
bb.Write((byte)number);
num38 = 0;
goto Label_1479;
case 0x33:
bb.Write((byte)number);
bb.Write((byte)number2);
goto Label_17AE;
case 0x34:
bb.Write((byte)number);
bb.Write((byte)number2);
bb.Write((short)number3);
bb.Write((short)number4);
goto Label_17AE;
case 0x35:
bb.Write((short)number);
bb.Write((byte)number2);
bb.Write((short)number3);
goto Label_17AE;
case 0x36:
bb.Write((short)number);
num39 = 0;
goto Label_1526;
case 0x37:
bb.Write((byte)number);
bb.Write((byte)number2);
bb.Write((short)number3);
goto Label_17AE;
case 0x38:
displayName = null;
if (Main.netMode != 2)
{
goto Label_156C;
}
displayName = Main.npc[number].displayName;
goto Label_1577;
case 0x39:
bb.Write(WorldGen.tGood);
bb.Write(WorldGen.tEvil);
bb.Write(WorldGen.tBlood);
goto Label_17AE;
case 0x3a:
bb.Write((byte)number);
bb.Write(number2);
goto Label_17AE;
case 0x3b:
bb.Write((short)number);
bb.Write((short)number2);
goto Label_17AE;
case 60:
bb.Write((short)number);
bb.Write((short)number2);
bb.Write((short)number3);
bb.Write((byte)number4);
goto Label_17AE;
case 0x3d:
bb.Write(number);
bb.Write((int)number2);
goto Label_17AE;
case 0x3e:
bb.Write((byte)number);
bb.Write((byte)number2);
goto Label_17AE;
case 0x3f:
case 0x40:
bb.Write((short)number);
bb.Write((short)number2);
bb.Write((byte)number3);
goto Label_17AE;
case 0x41:
{
BitsByte num40 = 0;
num40[0] = (number & 1) == 1;
num40[1] = (number & 2) == 2;
num40[2] = (number5 & 1) == 1;
num40[3] = (number5 & 2) == 2;
bb.Write((byte)num40);
bb.Write((short)number2);
bb.Write(number3);
bb.Write(number4);
goto Label_17AE;
}
case 0x44:
bb.Write(Main.clientUUID);
goto Label_17AE;
case 0x45:
Netplay.GetSectionX((int)number2);
Netplay.GetSectionY((int)number3);
bb.Write((short)number);
bb.Write((short)number2);
bb.Write((short)number3);
bb.Write(text);
goto Label_17AE;
case 70:
bb.Write((short)number);
bb.Write((byte)number2);
goto Label_17AE;
case 0x47:
bb.Write(number);
bb.Write((int)number2);
bb.Write((short)number3);
bb.Write((byte)number4);
goto Label_17AE;
case 0x48:
num41 = 0;
goto Label_1764;
case 0x4a:
{
bb.Write((byte)Main.anglerQuest);
bool flag = Main.anglerWhoFinishedToday.Contains(text);
bb.Write(flag);
goto Label_17AE;
}
case 0x4c:
bb.Write((byte)number);
bb.Write(Main.player[number].anglerQuestsFinished);
goto Label_17AE;
default:
goto Label_17AE;
}
if ((number2 >= 75f) && (number2 <= 82f))
{
item = player2.dye[(((int)number2) - 0x3a) - 0x11];
}
else
{
item = player2.armor[(((int)number2) - 0x3a) - 1];
}
Label_035D:
if (((item.name == "") || (item.stack == 0)) || (item.type == 0))
{
item.SetDefaults(0, false);
}
stack = item.stack;
netID = item.netID;
if (stack < 0)
{
stack = 0;
}
bb.Write((short)stack);
bb.Write((byte)number3);
bb.Write((short)netID);
goto Label_17AE;
Label_0523:
bb.Write(Main.treeX[num6]);
num6++;
Label_0537:
if (num6 < 3)
{
goto Label_0523;
}
for (int i = 0; i < 4; i++)
{
bb.Write((byte)Main.treeStyle[i]);
}
for (int j = 0; j < 3; j++)
{
bb.Write(Main.caveBackX[j]);
}
for (int k = 0; k < 4; k++)
{
bb.Write((byte)Main.caveBackStyle[k]);
}
if (!Main.raining)
{
Main.maxRaining = 0f;
}
bb.Write(Main.maxRaining);
BitsByte num10 = 0;
num10[0] = WorldGen.shadowOrbSmashed;
num10[1] = NPC.downedBoss1;
num10[2] = NPC.downedBoss2;
num10[3] = NPC.downedBoss3;
num10[4] = Main.hardMode;
num10[5] = NPC.downedClown;
num10[7] = NPC.downedPlantBoss;
bb.Write((byte)num10);
BitsByte num11 = 0;
num11[0] = NPC.downedMechBoss1;
num11[1] = NPC.downedMechBoss2;
num11[2] = NPC.downedMechBoss3;
num11[3] = NPC.downedMechBossAny;
num11[4] = Main.cloudBGActive >= 1f;
num11[5] = WorldGen.crimson;
num11[6] = Main.pumpkinMoon;
num11[7] = Main.snowMoon;
bb.Write((byte)num11);
goto Label_17AE;
Label_09B8:
num19 = num17;
while (num19 < (num17 + num15))
{
BitsByte num20 = 0;
BitsByte num21 = 0;
byte num22 = 0;
byte num23 = 0;
Tile tile = Main.tile[num18, num19];
num20[0] = tile.active();
num20[2] = tile.wall > 0;
num20[3] = (tile.liquid > 0) && (Main.netMode == 2);
num20[4] = tile.wire();
num20[5] = tile.halfBrick();
num20[6] = tile.actuator();
num20[7] = tile.inActive();
num21[0] = tile.wire2();
num21[1] = tile.wire3();
if (tile.active() && (tile.color() > 0))
{
num21[2] = true;
num22 = tile.color();
}
if ((tile.wall > 0) && (tile.wallColor() > 0))
{
num21[3] = true;
num23 = tile.wallColor();
}
num21 = (byte)(num21 + ((byte)(tile.slope() << 4)));
bb.Write((byte)num20);
bb.Write((byte)num21);
if (num22 > 0)
{
bb.Write(num22);
}
if (num23 > 0)
{
bb.Write(num23);
}
if (tile.active())
{
bb.Write(tile.type);
if (Main.tileFrameImportant[tile.type])
{
bb.Write(tile.frameX);
bb.Write(tile.frameY);
}
}
if (tile.wall > 0)
{
bb.Write(tile.wall);
}
if ((tile.liquid > 0) && (Main.netMode == 2))
{
bb.Write(tile.liquid);
bb.Write(tile.liquidType());
}
num19++;
}
num18++;
Label_0BB2:
if (num18 < (num16 + num15))
{
goto Label_09B8;
}
goto Label_17AE;
Label_0FA8:
if (projectile.ai[num31] != 0f)
{
num30[num31] = true;
}
num31++;
Label_0FC9:
if (num31 < Projectile.maxAI)
{
goto Label_0FA8;
}
bb.Write((byte)num30);
for (int m = 0; m < Projectile.maxAI; m++)
{
if (num30[m])
{
bb.Write(projectile.ai[m]);
}
}
goto Label_17AE;
Label_1150:
str = text;
Label_1153:
bb.Write((short)number);
bb.Write((short)x);
bb.Write((short)y);
bb.Write((byte)length);
if (str != null)
{
bb.Write(str);
}
goto Label_17AE;
Label_145C:
bb.Write((byte)Main.player[number].buffType[num38]);
num38++;
Label_1479:
if (num38 < 0x16)
{
goto Label_145C;
}
goto Label_17AE;
Label_14F2:
bb.Write((byte)Main.npc[number].buffType[num39]);
bb.Write((short)Main.npc[number].buffTime[num39]);
num39++;
Label_1526:
if (num39 < 5)
{
goto Label_14F2;
}
goto Label_17AE;
Label_156C:
if (Main.netMode == 1)
{
displayName = text;
}
Label_1577:
bb.Write((short)number);
bb.Write(displayName);
goto Label_17AE;
Label_174F:
bb.Write((short)Main.travelShop[num41]);
num41++;
Label_1764:
if (num41 < Chest.maxItems)
{
goto Label_174F;
}
Label_17AE:
num42 = (int)bb.BaseStream.Position;
bb.BaseStream.Position = position;
bb.Write((short)num42);
bb.BaseStream.Position = num42;
if (Main.netMode == 1)
{
if (Netplay.clientSock.tcpClient.Connected)
{
try
{
MessageBuffer buffer1 = buffer[index];
buffer1.spamCount++;
Main.txMsg++;
Main.txData += num42;
Main.txMsgType[msgType]++;
Main.txDataType[msgType] += num42;
Netplay.clientSock.networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.clientSock.ClientWriteCallBack), Netplay.clientSock.networkStream);
}
catch
{
}
}
}
else if (remoteClient == -1)
{
if ((msgType == 0x22) || (msgType == 0x45))
{
for (int num43 = 0; num43 < 0x100; num43++)
{
if (((num43 != ignoreClient) && buffer[num43].broadcast) && Netplay.serverSock[num43].tcpClient.Connected)
{
try
{
MessageBuffer buffer2 = buffer[num43];
buffer2.spamCount++;
Main.txMsg++;
Main.txData += num42;
Main.txMsgType[msgType]++;
Main.txDataType[msgType] += num42;
Netplay.serverSock[num43].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num43].ServerWriteCallBack), Netplay.serverSock[num43].networkStream);
}
catch
{
}
}
}
}
else if (msgType == 20)
{
for (int num44 = 0; num44 < 0x100; num44++)
{
if (((num44 != ignoreClient) && buffer[num44].broadcast) && (Netplay.serverSock[num44].tcpClient.Connected && Netplay.serverSock[num44].SectionRange(number, (int)number2, (int)number3)))
{
try
{
MessageBuffer buffer3 = buffer[num44];
buffer3.spamCount++;
Main.txMsg++;
Main.txData += num42;
Main.txMsgType[msgType]++;
Main.txDataType[msgType] += num42;
Netplay.serverSock[num44].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num44].ServerWriteCallBack), Netplay.serverSock[num44].networkStream);
}
catch
{
}
}
}
}
else if (msgType == 0x17)
{
NPC npc2 = Main.npc[number];
for (int num45 = 0; num45 < 0x100; num45++)
{
if (((num45 != ignoreClient) && buffer[num45].broadcast) && Netplay.serverSock[num45].tcpClient.Connected)
{
bool flag2 = false;
if ((npc2.boss || npc2.netAlways) || (npc2.townNPC || !npc2.active))
{
flag2 = true;
}
else if (npc2.netSkip <= 0)
{
Rectangle rectangle = Main.player[num45].getRect();
Rectangle rectangle2 = npc2.getRect();
rectangle2.X -= 0x9c4;
rectangle2.Y -= 0x9c4;
rectangle2.Width += 0x1388;
rectangle2.Height += 0x1388;
if (rectangle.Intersects(rectangle2))
{
flag2 = true;
}
}
else
{
flag2 = true;
}
if (flag2)
{
try
{
MessageBuffer buffer4 = buffer[num45];
buffer4.spamCount++;
Main.txMsg++;
Main.txData += num42;
Main.txMsgType[msgType]++;
Main.txDataType[msgType] += num42;
Netplay.serverSock[num45].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num45].ServerWriteCallBack), Netplay.serverSock[num45].networkStream);
}
catch
{
}
}
}
}
npc2.netSkip++;
if (npc2.netSkip > 4)
{
npc2.netSkip = 0;
}
}
else if (msgType == 0x1c)
{
NPC npc3 = Main.npc[number];
for (int num46 = 0; num46 < 0x100; num46++)
{
if (((num46 != ignoreClient) && buffer[num46].broadcast) && Netplay.serverSock[num46].tcpClient.Connected)
{
bool flag3 = false;
if (npc3.life <= 0)
{
flag3 = true;
}
else
{
Rectangle rectangle3 = Main.player[num46].getRect();
Rectangle rectangle4 = npc3.getRect();
rectangle4.X -= 0xbb8;
rectangle4.Y -= 0xbb8;
rectangle4.Width += 0x1770;
rectangle4.Height += 0x1770;
if (rectangle3.Intersects(rectangle4))
{
flag3 = true;
}
}
if (flag3)
{
try
{
MessageBuffer buffer5 = buffer[num46];
buffer5.spamCount++;
Main.txMsg++;
Main.txData += num42;
Main.txMsgType[msgType]++;
Main.txDataType[msgType] += num42;
Netplay.serverSock[num46].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num46].ServerWriteCallBack), Netplay.serverSock[num46].networkStream);
}
catch
{
}
}
}
}
}
else if (msgType == 13)
{
for (int num47 = 0; num47 < 0x100; num47++)
{
if (((num47 != ignoreClient) && buffer[num47].broadcast) && Netplay.serverSock[num47].tcpClient.Connected)
{
try
{
MessageBuffer buffer6 = buffer[num47];
buffer6.spamCount++;
Main.txMsg++;
Main.txData += num42;
Main.txMsgType[msgType]++;
Main.txDataType[msgType] += num42;
Netplay.serverSock[num47].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num47].ServerWriteCallBack), Netplay.serverSock[num47].networkStream);
}
catch
{
}
}
}
Player player1 = Main.player[number];
player1.netSkip++;
if (Main.player[number].netSkip > 2)
{
Main.player[number].netSkip = 0;
}
}
else if (msgType == 0x1b)
{
Projectile projectile2 = Main.projectile[number];
for (int num48 = 0; num48 < 0x100; num48++)
{
if (((num48 != ignoreClient) && buffer[num48].broadcast) && Netplay.serverSock[num48].tcpClient.Connected)
{
bool flag4 = false;
if (((projectile2.type == 12) || Main.projPet[projectile2.type]) || ((projectile2.aiStyle == 11) || projectile2.netImportant))
{
flag4 = true;
}
else
{
Rectangle rectangle5 = Main.player[num48].getRect();
Rectangle rectangle6 = projectile2.getRect();
rectangle6.X -= 0x1388;
rectangle6.Y -= 0x1388;
rectangle6.Width += 0x2710;
rectangle6.Height += 0x2710;
if (rectangle5.Intersects(rectangle6))
{
flag4 = true;
}
}
if (flag4)
{
try
{
MessageBuffer buffer7 = buffer[num48];
buffer7.spamCount++;
Main.txMsg++;
Main.txData += num42;
Main.txMsgType[msgType]++;
Main.txDataType[msgType] += num42;
Netplay.serverSock[num48].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num48].ServerWriteCallBack), Netplay.serverSock[num48].networkStream);
}
catch
{
}
}
}
}
}
else
{
for (int num49 = 0; num49 < 0x100; num49++)
{
if (((num49 != ignoreClient) && (buffer[num49].broadcast || ((Netplay.serverSock[num49].state >= 3) && (msgType == 10)))) && Netplay.serverSock[num49].tcpClient.Connected)
{
try
{
MessageBuffer buffer8 = buffer[num49];
buffer8.spamCount++;
Main.txMsg++;
Main.txData += num42;
Main.txMsgType[msgType]++;
Main.txDataType[msgType] += num42;
Netplay.serverSock[num49].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num49].ServerWriteCallBack), Netplay.serverSock[num49].networkStream);
}
catch
{
}
}
}
}
}
else if (Netplay.serverSock[remoteClient].tcpClient.Connected)
{
try
{
MessageBuffer buffer9 = buffer[remoteClient];
buffer9.spamCount++;
Main.txMsg++;
Main.txData += num42;
Main.txMsgType[msgType]++;
Main.txDataType[msgType] += num42;
Netplay.serverSock[remoteClient].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[remoteClient].ServerWriteCallBack), Netplay.serverSock[remoteClient].networkStream);
}
catch
{
}
}
if (Main.verbo*****play)
{
for (int num50 = 0; num50 < num42; num50++)
{
}
for (int num51 = 0; num51 < num42; num51++)
{
byte num1 = buffer[index].writeBuffer[num51];
}
}
buffer[index].writeLocked = false;
if ((msgType == 0x13) && (Main.netMode == 1))
{
SendTileSquare(index, (int)number2, (int)number3, 5);
}
if ((msgType == 2) && (Main.netMode == 2))
{
Netplay.serverSock[index].kill = true;
}
}
}
}