瀏覽代碼

BETA: Minor `RequestFriendInvite` refactor.

Zoey76 10 年之前
父節點
當前提交
4c771a44fd

+ 25 - 31
L2J_Server_BETA/java/com/l2jserver/gameserver/network/clientpackets/RequestFriendInvite.java

@@ -25,10 +25,6 @@ import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.FriendAddRequest;
 import com.l2jserver.gameserver.network.serverpackets.FriendAddRequest;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 
 
-/**
- * This class ...
- * @version $Revision: 1.3.4.2 $ $Date: 2005/03/27 15:29:30 $
- */
 public final class RequestFriendInvite extends L2GameClientPacket
 public final class RequestFriendInvite extends L2GameClientPacket
 {
 {
 	private static final String _C__77_REQUESTFRIENDINVITE = "[C] 77 RequestFriendInvite";
 	private static final String _C__77_REQUESTFRIENDINVITE = "[C] 77 RequestFriendInvite";
@@ -44,8 +40,7 @@ public final class RequestFriendInvite extends L2GameClientPacket
 	@Override
 	@Override
 	protected void runImpl()
 	protected void runImpl()
 	{
 	{
-		final L2PcInstance activeChar = getClient().getActiveChar();
-		
+		final L2PcInstance activeChar = getActiveChar();
 		if (activeChar == null)
 		if (activeChar == null)
 		{
 		{
 			return;
 			return;
@@ -53,61 +48,60 @@ public final class RequestFriendInvite extends L2GameClientPacket
 		
 		
 		final L2PcInstance friend = L2World.getInstance().getPlayer(_name);
 		final L2PcInstance friend = L2World.getInstance().getPlayer(_name);
 		
 		
-		SystemMessage sm;
-		// can't use friend invite for locating invisible characters
+		// Target is not found in the game.
 		if ((friend == null) || !friend.isOnline() || friend.isInvisible())
 		if ((friend == null) || !friend.isOnline() || friend.isInvisible())
 		{
 		{
-			// Target is not found in the game.
 			activeChar.sendPacket(SystemMessageId.THE_USER_YOU_REQUESTED_IS_NOT_IN_GAME);
 			activeChar.sendPacket(SystemMessageId.THE_USER_YOU_REQUESTED_IS_NOT_IN_GAME);
 			return;
 			return;
 		}
 		}
-		else if (friend == activeChar)
+		// You cannot add yourself to your own friend list.
+		if (friend == activeChar)
 		{
 		{
-			// You cannot add yourself to your own friend list.
 			activeChar.sendPacket(SystemMessageId.YOU_CANNOT_ADD_YOURSELF_TO_OWN_FRIEND_LIST);
 			activeChar.sendPacket(SystemMessageId.YOU_CANNOT_ADD_YOURSELF_TO_OWN_FRIEND_LIST);
 			return;
 			return;
 		}
 		}
-		else if (BlockList.isBlocked(activeChar, friend))
+		// Target is in olympiad.
+		if (activeChar.isInOlympiadMode() || friend.isInOlympiadMode())
 		{
 		{
-			sm = SystemMessage.getSystemMessage(SystemMessageId.BLOCKED_C1);
-			sm.addCharName(friend);
-			activeChar.sendPacket(sm);
+			activeChar.sendPacket(SystemMessageId.A_USER_CURRENTLY_PARTICIPATING_IN_THE_OLYMPIAD_CANNOT_SEND_PARTY_AND_FRIEND_INVITATIONS);
 			return;
 			return;
 		}
 		}
-		else if (BlockList.isBlocked(friend, activeChar))
+		// Target blocked active player.
+		if (BlockList.isBlocked(friend, activeChar))
 		{
 		{
 			activeChar.sendMessage("You are in target's block list.");
 			activeChar.sendMessage("You are in target's block list.");
 			return;
 			return;
 		}
 		}
-		else if (activeChar.isInOlympiadMode() || friend.isInOlympiadMode())
+		SystemMessage sm;
+		// Target is blocked.
+		if (BlockList.isBlocked(activeChar, friend))
 		{
 		{
-			activeChar.sendPacket(SystemMessageId.A_USER_CURRENTLY_PARTICIPATING_IN_THE_OLYMPIAD_CANNOT_SEND_PARTY_AND_FRIEND_INVITATIONS);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.BLOCKED_C1);
+			sm.addCharName(friend);
+			activeChar.sendPacket(sm);
 			return;
 			return;
 		}
 		}
-		
+		// Target already in friend list.
 		if (activeChar.getFriendList().contains(friend.getObjectId()))
 		if (activeChar.getFriendList().contains(friend.getObjectId()))
 		{
 		{
-			// Player already is in your friendlist
 			sm = SystemMessage.getSystemMessage(SystemMessageId.S1_ALREADY_IN_FRIENDS_LIST);
 			sm = SystemMessage.getSystemMessage(SystemMessageId.S1_ALREADY_IN_FRIENDS_LIST);
 			sm.addString(_name);
 			sm.addString(_name);
 			activeChar.sendPacket(sm);
 			activeChar.sendPacket(sm);
 			return;
 			return;
 		}
 		}
-		
-		if (!friend.isProcessingRequest())
-		{
-			// requets to become friend
-			activeChar.onTransactionRequest(friend);
-			sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_REQUESTED_C1_TO_BE_FRIEND);
-			sm.addString(_name);
-			FriendAddRequest ajf = new FriendAddRequest(activeChar.getName());
-			friend.sendPacket(ajf);
-		}
-		else
+		// Target is busy.
+		if (friend.isProcessingRequest())
 		{
 		{
 			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_BUSY_TRY_LATER);
 			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_BUSY_TRY_LATER);
 			sm.addString(_name);
 			sm.addString(_name);
+			activeChar.sendPacket(sm);
+			return;
 		}
 		}
+		// Friend request sent.
+		activeChar.onTransactionRequest(friend);
+		friend.sendPacket(new FriendAddRequest(activeChar.getName()));
+		sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_REQUESTED_C1_TO_BE_FRIEND);
+		sm.addString(_name);
 		activeChar.sendPacket(sm);
 		activeChar.sendPacket(sm);
 	}
 	}