void SocialMgr::SendFriendStatus(Player* player, FriendsResult result, uint32 friendGuid, bool broadcast) { FriendInfo fi; WorldPacket data; MakeFriendStatusPacket(result, friendGuid, &data); GetFriendInfo(player, friendGuid, fi); switch (result) { case FRIEND_ADDED_OFFLINE: case FRIEND_ADDED_ONLINE: data << fi.Note; break; default: break; } switch (result) { case FRIEND_ADDED_ONLINE: case FRIEND_ONLINE: data << uint8(fi.Status); data << uint32(fi.Area); data << uint32(fi.Level); data << uint32(fi.Class); break; default: break; } if (broadcast) BroadcastToFriendListers(player, &data); else player->GetSession()->SendPacket(&data); }
void SocialMgr::SendFriendStatus(Player* player, FriendsResult result, ObjectGuid friend_guid, bool broadcast) { uint32 friend_lowguid = friend_guid.GetCounter(); FriendInfo fi; WorldPacket data; MakeFriendStatusPacket(result, friend_lowguid, data); GetFriendInfo(player, friend_lowguid, fi); switch (result) { case FRIEND_ADDED_ONLINE: case FRIEND_ONLINE: data << uint8(fi.Status); data << uint32(fi.Area); data << uint32(fi.Level); data << uint32(fi.Class); break; default: break; } if (broadcast) BroadcastToFriendListers(player, data); else player->GetSession()->SendPacket(data); }