private static void HandleAccept(GameSession session, PacketReader packet) { long buddyId = packet.ReadLong(); Buddy buddy = GameServer.BuddyManager.GetBuddyByPlayerAndId(session.Player, buddyId); Buddy buddyFriend = GameServer.BuddyManager.GetBuddyByPlayerAndId(buddy.Friend, buddyId); buddy.IsFriendRequest = false; buddyFriend.IsPending = false; session.Send(BuddyPacket.AcceptRequest(buddy)); session.Send(BuddyPacket.UpdateBuddy(buddy)); session.Send(BuddyPacket.LoginLogoutNotifcation(buddy)); if (buddy.Friend != null) // TODO: Change to send if online { buddy.Friend.Session.Send(BuddyPacket.UpdateBuddy(buddyFriend)); buddy.Friend.Session.Send(BuddyPacket.AcceptNotification(buddyFriend)); } }
private static void HandleAccept(GameSession session, PacketReader packet) { long buddyId = packet.ReadLong(); Buddy buddy = GameServer.BuddyManager.GetBuddyByPlayerAndId(session.Player, buddyId); Buddy buddyFriend = GameServer.BuddyManager.GetBuddyByPlayerAndId(buddy.Friend, buddyId); buddy.IsFriendRequest = false; buddyFriend.IsPending = false; session.Send(BuddyPacket.AcceptRequest(buddy)); session.Send(BuddyPacket.UpdateBuddy(buddy)); session.Send(BuddyPacket.LoginLogoutNotification(buddy)); DatabaseManager.Buddies.Update(buddy); DatabaseManager.Buddies.Update(buddyFriend); Player otherPlayer = GameServer.PlayerManager.GetPlayerByName(buddy.Friend.Name); if (otherPlayer != null) { otherPlayer.Session.Send(BuddyPacket.UpdateBuddy(buddyFriend)); otherPlayer.Session.Send(BuddyPacket.AcceptNotification(buddyFriend)); } }