From fc13803145fabfa473864146a507fc11add9c7c9 Mon Sep 17 00:00:00 2001
From: Zealar <zealar@mail.bg>
Date: Mon, 23 Nov 2015 21:16:51 +0200
Subject: [PATCH] Add effect SingleTarget

---
 .../scripts/handlers/EffectMasterHandler.java |  1 +
 .../handlers/effecthandlers/SingleTarget.java | 48 +++++++++++++++++++
 dist/game/data/stats/skills/00300-00399.xml   |  5 +-
 dist/game/data/xsd/skills.xsd                 |  1 +
 4 files changed, 51 insertions(+), 4 deletions(-)
 create mode 100644 dist/game/data/scripts/handlers/effecthandlers/SingleTarget.java

diff --git a/dist/game/data/scripts/handlers/EffectMasterHandler.java b/dist/game/data/scripts/handlers/EffectMasterHandler.java
index ba91e0b66f..8f2687b993 100644
--- a/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -157,6 +157,7 @@ public final class EffectMasterHandler
 		ServitorShare.class,
 		SetSkill.class,
 		SilentMove.class,
+		SingleTarget.class,
 		SkillTurning.class,
 		Sleep.class,
 		SoulBlow.class,
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SingleTarget.java b/dist/game/data/scripts/handlers/effecthandlers/SingleTarget.java
new file mode 100644
index 0000000000..0c6178823f
--- /dev/null
+++ b/dist/game/data/scripts/handlers/effecthandlers/SingleTarget.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2004-2015 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J DataPack is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package handlers.effecthandlers;
+
+import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.conditions.Condition;
+import com.l2jserver.gameserver.model.effects.AbstractEffect;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
+
+/**
+ * @author Zealar
+ */
+public final class SingleTarget extends AbstractEffect
+{
+	public SingleTarget(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	{
+		super(attachCond, applyCond, set, params);
+	}
+	
+	@Override
+	public int getEffectFlags()
+	{
+		return EffectFlag.SINGLE_TARGET.getMask();
+	}
+	
+	@Override
+	public L2EffectType getEffectType()
+	{
+		return L2EffectType.SINGLE_TARGET;
+	}
+}
diff --git a/dist/game/data/stats/skills/00300-00399.xml b/dist/game/data/stats/skills/00300-00399.xml
index e0d2f23bc1..9e5157f81f 100644
--- a/dist/game/data/stats/skills/00300-00399.xml
+++ b/dist/game/data/stats/skills/00300-00399.xml
@@ -641,16 +641,13 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
+			<effect name="SingleTarget">
 				<mul stat="critDmg" val="#cAtk">
 					<using kind="POLE" />
 				</mul>
 				<add stat="accCombat" val="#accCombat">
 					<using kind="POLE" />
 				</add>
-				<set stat="atkCountMax" val="1">
-					<using kind="POLE" />
-				</set>
 			</effect>
 		</for>
 	</skill>
diff --git a/dist/game/data/xsd/skills.xsd b/dist/game/data/xsd/skills.xsd
index f8a76ac0ec..947d960cae 100644
--- a/dist/game/data/xsd/skills.xsd
+++ b/dist/game/data/xsd/skills.xsd
@@ -620,6 +620,7 @@
 					<xs:enumeration value="ServitorShare" />
 					<xs:enumeration value="SetSkill" />
 					<xs:enumeration value="SilentMove" />
+					<xs:enumeration value="SingleTarget" />
 					<xs:enumeration value="SkillTurning" />
 					<xs:enumeration value="Sleep" />
 					<xs:enumeration value="SoulBlow" />
-- 
GitLab