From f661440a17b8a46bcec72bf02be10606571966a1 Mon Sep 17 00:00:00 2001
From: Rumen Nikiforov <unafraid89@gmail.com>
Date: Fri, 14 Sep 2012 00:08:27 +0000
Subject: [PATCH] BETA: Fixing minor Fortress typo (Forgotten part of [9160]). 
 * Reported by: DareStrike

---
 .../targethandlers/TargetFlagPole.java        | 16 ++++++++++++++-
 .../handlers/targethandlers/TargetHoly.java   | 20 ++++++++++++-------
 2 files changed, 28 insertions(+), 8 deletions(-)

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 585d4e56bf..d171804b67 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 7193760f42..8ab149c207 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
-- 
GitLab