Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
    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));
        }
    }