From cc8bcf94c174a9bdbbfcebe8c1d439561519a0b0 Mon Sep 17 00:00:00 2001
From: Adry_85 <Adrya85@hotmail.it>
Date: Thu, 28 Mar 2013 13:36:26 +0000
Subject: [PATCH] BETA: Fixing Chain Heal skill, healing flagged players is
 possible if they are on same party/clan/ally.

	Reported by: nBd, !UnAfraid
---
 .../handlers/targethandlers/AreaFriendly.java | 36 ++++++++++++-------
 1 file changed, 24 insertions(+), 12 deletions(-)

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 70551b7b83..a8256b5c61 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;
 	}
-- 
GitLab