public static void syncPlayers()
{
bool flag1 = false;
for (int index1 = 0; index1 < (int)byte.MaxValue; ++index1)
{
int num1 = 0;
if (Main.player[index1].active)
num1 = 1;
if (Netplay.Clients[index1].State == 10)
{
if (Main.autoShutdown && !flag1 && Netplay.Clients[index1].Socket.GetRemoteAddress().IsLocalHost())
flag1 = true;
NetMessage.SendData(14, -1, index1, "", index1, (float)num1, 0.0f, 0.0f, 0, 0, 0);
NetMessage.SendData(4, -1, index1, Main.player[index1].name, index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
NetMessage.SendData(13, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
NetMessage.SendData(16, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
NetMessage.SendData(30, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
NetMessage.SendData(45, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
NetMessage.SendData(42, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
NetMessage.SendData(50, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
for (int index2 = 0; index2 < 59; ++index2)
NetMessage.SendData(5, -1, index1, Main.player[index1].inventory[index2].name, index1, (float)index2, (float)Main.player[index1].inventory[index2].prefix, 0.0f, 0, 0, 0);
for (int index2 = 0; index2 < Main.player[index1].armor.Length; ++index2)
NetMessage.SendData(5, -1, index1, Main.player[index1].armor[index2].name, index1, (float)(59 + index2), (float)Main.player[index1].armor[index2].prefix, 0.0f, 0, 0, 0);
for (int index2 = 0; index2 < Main.player[index1].dye.Length; ++index2)
NetMessage.SendData(5, -1, index1, Main.player[index1].dye[index2].name, index1, (float)(58 + Main.player[index1].armor.Length + 1 + index2), (float)Main.player[index1].dye[index2].prefix, 0.0f, 0, 0, 0);
for (int index2 = 0; index2 < Main.player[index1].miscEquips.Length; ++index2)
NetMessage.SendData(5, -1, index1, "", index1, (float)(58 + Main.player[index1].armor.Length + Main.player[index1].dye.Length + 1 + index2), (float)Main.player[index1].miscEquips[index2].prefix, 0.0f, 0, 0, 0);
for (int index2 = 0; index2 < Main.player[index1].miscDyes.Length; ++index2)
NetMessage.SendData(5, -1, index1, "", index1, (float)(58 + Main.player[index1].armor.Length + Main.player[index1].dye.Length + Main.player[index1].miscEquips.Length + 1 + index2), (float)Main.player[index1].miscDyes[index2].prefix, 0.0f, 0, 0, 0);
if (!Netplay.Clients[index1].IsAnnouncementCompleted)
{
Netplay.Clients[index1].IsAnnouncementCompleted = true;
NetMessage.SendData(25, -1, index1, Main.player[index1].name + " " + Lang.mp[19], (int)byte.MaxValue, (float)byte.MaxValue, 240f, 20f, 0, 0, 0);
if (Main.dedServ)
Console.WriteLine(Main.player[index1].name + " " + Lang.mp[19]);
}
}
else
{
int num2 = 0;
NetMessage.SendData(14, -1, index1, "", index1, (float)num2, 0.0f, 0.0f, 0, 0, 0);
if (Netplay.Clients[index1].IsAnnouncementCompleted)
{
Netplay.Clients[index1].IsAnnouncementCompleted = false;
NetMessage.SendData(25, -1, index1, Netplay.Clients[index1].Name + " " + Lang.mp[20], (int)byte.MaxValue, (float)byte.MaxValue, 240f, 20f, 0, 0, 0);
if (Main.dedServ)
Console.WriteLine(Netplay.Clients[index1].Name + " " + Lang.mp[20]);
Netplay.Clients[index1].Name = "Anonymous";
}
}
}
bool flag2 = false;
for (int number = 0; number < 200; ++number)
{
if (Main.npc[number].active && Main.npc[number].townNPC && NPC.TypeToNum(Main.npc[number].type) != -1)
{
if (!flag2 && Main.npc[number].type == 368)
flag2 = true;
int num = 0;
if (Main.npc[number].homeless)
num = 1;
NetMessage.SendData(60, -1, -1, "", number, (float)Main.npc[number].homeTileX, (float)Main.npc[number].homeTileY, (float)num, 0, 0, 0);
}
}
if (flag2)
NetMessage.SendTravelShop();
NetMessage.SendAnglerQuest();
if (!Main.autoShutdown || flag1)
return;
WorldFile.saveWorld();
Netplay.disconnect = true;
}
}