diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFlagPole.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFlagPole.java index 585d4e56bfc391d100b6508fdfd188ab3e91adb8..d171804b67eb7f38fa0192ec996003865b474549 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFlagPole.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFlagPole.java @@ -15,8 +15,11 @@ package handlers.targethandlers; import com.l2jserver.gameserver.handler.ITargetTypeHandler; +import com.l2jserver.gameserver.instancemanager.FortManager; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Character; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.entity.Fort; import com.l2jserver.gameserver.model.skills.L2Skill; import com.l2jserver.gameserver.model.skills.targets.L2TargetType; @@ -28,7 +31,18 @@ public class TargetFlagPole implements ITargetTypeHandler @Override public L2Object[] getTargetList(L2Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target) { - return new L2Character[] { activeChar }; + if (!activeChar.isPlayer()) + return _emptyTargetList; + + final L2PcInstance player = activeChar.getActingPlayer(); + final Fort fort = FortManager.getInstance().getFort(player); + if (player.getClan() == null || fort == null || !player.checkIfOkToCastFlagDisplay(fort, true, skill, activeChar.getTarget())) + return _emptyTargetList; + + return new L2Object[] + { + activeChar.getTarget() + }; } @Override diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetHoly.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetHoly.java index 7193760f421e39c10d77b938b948e310c69c4745..8ab149c20787251128b41b279a193db3800e8458 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetHoly.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetHoly.java @@ -15,10 +15,11 @@ package handlers.targethandlers; import com.l2jserver.gameserver.handler.ITargetTypeHandler; +import com.l2jserver.gameserver.instancemanager.CastleManager; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Character; -import com.l2jserver.gameserver.model.actor.instance.L2ArtefactInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.entity.Castle; import com.l2jserver.gameserver.model.skills.L2Skill; import com.l2jserver.gameserver.model.skills.targets.L2TargetType; @@ -30,13 +31,18 @@ public class TargetHoly implements ITargetTypeHandler @Override public L2Object[] getTargetList(L2Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target) { - if (activeChar instanceof L2PcInstance) - { - if (target instanceof L2ArtefactInstance) - return new L2Character[] { target }; - } + if (!activeChar.isPlayer()) + return _emptyTargetList; + + final L2PcInstance player = activeChar.getActingPlayer(); + final Castle castle = CastleManager.getInstance().getCastle(player); + if (player.getClan() == null || castle == null || !player.checkIfOkToCastSealOfRule(castle, true, skill, target)) + return _emptyTargetList; - return _emptyTargetList; + return new L2Object[] + { + activeChar.getTarget() + }; } @Override