diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/AreaFriendly.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/AreaFriendly.java
index 70551b7b8383ac8da1c8be929fab0a0e761c022f..a8256b5c61d340612adb6eae14dce4971da8c543 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/AreaFriendly.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/AreaFriendly.java
@@ -117,19 +117,31 @@ public class AreaFriendly implements ITargetTypeHandler
 			return false;
 		}
 		
-		if ((target.isPlayer() && (target.getClanId() != 0)) && (activeChar.getClanId() != target.getClanId()))
+		if (target.isPlayer())
 		{
-			return false;
-		}
-		
-		if ((target.isPlayer() && (target.getAllyId() != 0)) && (activeChar.getAllyId() != target.getAllyId()))
-		{
-			return false;
-		}
-		
-		if ((target != activeChar) && (target.getActingPlayer() != null) && (target.getActingPlayer().getPvpFlag() > 0))
-		{
-			return false;
+			if ((target.getAllyId() != 0) && (activeChar.getAllyId() == target.getAllyId()))
+			{
+				return true;
+			}
+			
+			if ((target.getClanId() != 0) && (activeChar.getClanId() == target.getClanId()))
+			{
+				return true;
+			}
+			
+			if ((target != activeChar) && activeChar.isInParty() && target.isInParty())
+			{
+				if (activeChar.getParty().getLeader() == target.getParty().getLeader())
+				{
+					return true;
+				}
+				return false;
+			}
+			
+			if ((target != activeChar) && (target.getActingPlayer().getPvpFlag() > 0))
+			{
+				return false;
+			}
 		}
 		return true;
 	}