using Filter; using Filter.Database.Character; using Filter.Database.GameFilter; using Filter.Networking.Instances; using Filter.Networking.Manager; using Filter.Utilities; using System; using System.Linq; using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace Filter.Handlers.Manager { internal class Manager29Handle { public Manager29Handle() { } [ManagerPacketHandler(Manager29TypeClient.GuildMessage)] public static void HandleGuildMessage(ManagerClient ClientSocket, Packet ClientPacket) { string str; char chr; if (ClientSocket.IsConnected != 0) { return; } if (ClientSocket.Account == null || ClientSocket.Character == null) { ClientSocket.Disconnect(); return; } Muted muted = ( from nCharNo in Program.GameFilterData.Muteds where nCharNo.nCharNo == ClientSocket.Character.nCharNo select nCharNo).FirstOrDefault(); if (!ClientPacket.ReadString(out str)) { Echo.SendWhisper(ClientSocket, "Could not read your guild message.", new object[0]); return; } if (Injection.ContainsInvalidSymbol(str, out chr)) { ManagerClient clientSocket = ClientSocket; object[] objArray = new object[] { chr }; Echo.SendWhisper(clientSocket, "The guild message you tried to send had a invalid symbol in. Invalid Symbol: {0}.", objArray); return; } if (muted != null) { Echo.SendWhisper(ClientSocket, "Sorry but you cannot talk in guild chat, because you are muted.", new object[0]); return; } Packet packet = new Packet(Manager29TypeClient.GuildMessage); packet.WriteString(str, true); ClientSocket.Server.SendPacket(packet); } } }