void SocialMgr::SendFriendStatus(Player *player, FriendsResult result, uint32 friend_guid, bool broadcast) { FriendInfo fi; WorldPacket data; MakeFriendStatusPacket(result, friend_guid, &data); GetFriendInfo(player, friend_guid, 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); } }
void SocialMgr::SendFriendStatus(Player* player, FriendsResult result, ObjectGuid const& friendGuid, bool broadcast /*= false*/) { FriendInfo fi; GetFriendInfo(player, friendGuid, fi); WorldPackets::Social::FriendStatus friendStatus; friendStatus.Initialize(friendGuid, result, fi); if (broadcast) BroadcastToFriendListers(player, friendStatus.Write()); else player->SendDirectMessage(friendStatus.Write()); }