using System; using System.Linq; using Filter.Networking.Instances; using Filter.Networking.Zone; using System.Threading; namespace Filter.Handlers.Zone { internal class Zone6Handle { [ZonePacketHandler(Zone6TypeClient.SHNHashes)] public static void HandleSHNHashes(ZoneClient ClientSocket, Packet ClientPacket) { if (ClientSocket.IsConnected != 0) { ClientPacket.Dispose(); return; } Byte[] Unwanted = new Byte[2]; if (!ClientPacket.ReadBytes(Unwanted, 2)) { ClientSocket.Disconnect(); } else { String CharacterName; if (!ClientPacket.ReadString(out CharacterName, 16)) { ClientSocket.Disconnect(); } else if ((ClientSocket.Manager = Program.ManagerLoggedIn.Values.Where(Character => Character.CharacterName != String.Empty).Where(CharacterN => CharacterN.CharacterName == CharacterName).FirstOrDefault()) == null) { ClientSocket.Disconnect(); } else { ClientSocket.Server.SendPacket(ClientPacket); } } ClientPacket.Dispose(); } } }