/** {@inheritDoc} */ @Override protected void runImpl() { Player activePlayer = getConnection().getActivePlayer(); Friend target = activePlayer.getFriendList().getFriend(targetName); if (target == null) { log.warn( activePlayer.getName() + " tried to delete friend " + targetName + " who is not his friend"); sendPacket(SM_SYSTEM_MESSAGE.BUDDYLIST_NOT_IN_LIST); } else { SocialService.deleteFriend(activePlayer, target.getOid()); } }
/** {@inheritDoc} */ @Override protected void runImpl() { Player activePlayer = getConnection().getActivePlayer(); if (!note.equals(activePlayer.getCommonData().getNote())) { activePlayer.getCommonData().setNote(note); for (Friend friend : activePlayer.getFriendList()) // For all my friends { if (friend.isOnline()) // If the player is online { friend .getPlayer() .getClientConnection() .sendPacket(new SM_FRIEND_LIST()); // Send him a new friend list packet } } } }
/** {@inheritDoc} */ @Override protected void writeImpl(AionConnection con) { PacketLoggerService.getInstance().logPacketSM(this.getPacketName()); Friend f = con.getActivePlayer().getFriendList().getFriend(friendObjId); if (f == null) { log.debug( "Attempted to update friend list status of " + friendObjId + " for " + con.getActivePlayer().getName() + " - object ID not found on friend list"); } else { writeS(f.getName()); writeD(f.getLevel()); writeD(f.getPlayerClass().getClassId()); writeC(f.isOnline() ? 1 : 0); // Online status - No idea why this and f.getStatus are used writeD(f.getMapId()); writeD(f.getLastOnlineTime()); // Date friend was last online as a Unix timestamp. writeS(f.getNote()); writeC(f.getStatus().getId()); } }