using System; using System.Linq; using System.Data.SqlClient; using Filter.Networking.Instances; using Filter.Networking.Zone; using Filter.Utilities; namespace Filter.Handlers.Zone { internal class Zone8Handle { [ZonePacketHandler(Zone8TypeClient.NormalChat)] public static void HandleNormalChat(ZoneClient ClientSocket, Packet ClientPacket) { if (ClientSocket.IsConnected != 0) { ClientPacket.Dispose(); return; } String Message; Char InvalidSymbol; if (!ClientPacket.ReadString(out Message)) { } else if (Injection.ContainsInvalidSymbol(Message, out InvalidSymbol)) { } else { Message = Message.Replace('?', '?'); Packet RemakeClientPacket = new Packet(Zone8TypeClient.NormalChat); RemakeClientPacket.WriteString(Message, true); ClientSocket.Server.SendPacket(RemakeClientPacket); } ClientPacket.Dispose(); } [ZonePacketHandler(Zone8TypeClient.CloseNPC)] public static void HandleCloseNPC(ZoneClient ClientSocket, Packet ClientPacket) { if (ClientSocket.IsConnected != 0) { ClientPacket.Dispose(); return; } ClientSocket.InNPC = false; ClientSocket.Server.SendPacket(ClientPacket); } [ZonePacketHandler(Zone8TypeClient.ShoutChat)] public static void HandleShoutChat(ZoneClient ClientSocket, Packet ClientPacket) { if (ClientSocket.IsConnected != 0) { ClientPacket.Dispose(); return; } String Message; Char InvalidSymbol; if (!ClientPacket.ReadString(out Message)) { } else if (Injection.ContainsInvalidSymbol(Message, out InvalidSymbol)) { } else { Message = Message.Replace('?', '?'); Packet RemakeClientPacket = new Packet(Zone8TypeClient.ShoutChat); RemakeClientPacket.WriteString(Message, true); ClientSocket.Server.SendPacket(RemakeClientPacket); } ClientPacket.Dispose(); } [ZonePacketHandler(Zone8TypeClient.OpenNPC)] public static void HandleOpenNPC(ZoneClient ClientSocket, Packet ClientPacket) { if (ClientSocket.IsConnected != 0) { ClientPacket.Dispose(); return; } ClientSocket.InNPC = true; ClientSocket.Server.SendPacket(ClientPacket); } } }