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