private static void HandleSend(GameSession session, PacketReader packet) { string recipientName = packet.ReadUnicodeString(); string title = packet.ReadUnicodeString(); string body = packet.ReadUnicodeString(); if (recipientName == session.Player.Name) { session.Send(MailPacket.Error((byte)MailErrorCode.CannotMailYourself)); return; } if (!DatabaseManager.Characters.NameExists(recipientName)) { session.Send(MailPacket.Error((byte)MailErrorCode.CharacterNotFound)); return; } Player recipient = GameServer.Storage.GetPlayerByName(recipientName); if (recipient == null) { recipient = DatabaseManager.Characters.FindPartialPlayerByName(recipientName); } MailHelper.SendMail(MailType.Player, recipient.CharacterId, session.Player.CharacterId, session.Player.Name, title, body, "", "", null, 0, out Mail mail); session.Send(MailPacket.Send(mail)); }
private static void HandleSend(GameSession session, PacketReader packet) { string recipient = packet.ReadUnicodeString(); string title = packet.ReadUnicodeString(); string body = packet.ReadUnicodeString(); // Would make database call to look for recipient and add mail to their mailbox, instead add mail to session Mail mail = new Mail ( 1, session.Player.CharacterId, session.Player.Name, title, body, 0, DateTimeOffset.UtcNow.ToUnixTimeSeconds(), null ); session.Player.Mailbox.AddOrUpdate(mail); session.Send(MailPacket.Send(mail)); }