private static void HandleWorldChat(GameSession session, string message, ChatType type) { Item voucher = session.Player.Inventory.Items.Values.FirstOrDefault(x => x.Tag == "FreeWorldChatCoupon"); if (voucher != null) { session.Send(NoticePacket.Notice(SystemNotice.UsedWorldChatVoucher, NoticeType.ChatAndFastText)); InventoryController.Consume(session, voucher.Uid, 1); } else if (!session.Player.Wallet.RemoveMerets(30)) { session.Send(ChatPacket.Error(session.Player, SystemNotice.InsufficientMerets, ChatType.NoticeAlert)); return; } MapleServer.BroadcastPacketAll(ChatPacket.Send(session.Player, message, type)); }
private static void HandleWhisperChat(GameSession session, string recipient, string message) { Player recipientPlayer = GameServer.Storage.GetPlayerByName(recipient); if (recipientPlayer == null) { session.Send(ChatPacket.Error(session.Player, SystemNotice.UnableToWhisper, ChatType.WhisperFail)); return; } if (BuddyManager.IsBlocked(session.Player, recipientPlayer)) { session.Send(ChatPacket.Error(session.Player, SystemNotice.UnableToWhisper, ChatType.WhisperFail)); return; } recipientPlayer.Session.Send(ChatPacket.Send(session.Player, message, ChatType.WhisperFrom)); session.Send(ChatPacket.Send(recipientPlayer, message, ChatType.WhisperTo)); }
private static void HandleSuperChat(GameSession session, string message, ChatType type) { if (session.Player.SuperChat == 0) { return; } Item superChatItem = session.Player.Inventory.Items.Values.FirstOrDefault(x => x.Function.Id == session.Player.SuperChat); if (superChatItem == null) { session.Player.SuperChat = 0; session.Send(SuperChatPacket.Deselect(session.FieldPlayer)); session.Send(ChatPacket.Error(session.Player, SystemNotice.InsufficientSuperChatThemes, ChatType.NoticeAlert)); return; } MapleServer.BroadcastPacketAll(ChatPacket.Send(session.Player, message, type)); InventoryController.Consume(session, superChatItem.Uid, 1); session.Send(SuperChatPacket.Deselect(session.FieldPlayer)); session.Player.SuperChat = 0; }