From cc56f3b1bdaebde8a1ef52e1afea83489a63a4a1 Mon Sep 17 00:00:00 2001
From: Adry_85 <Adrya85@hotmail.it>
Date: Sat, 10 May 2014 22:54:19 +0000
Subject: [PATCH] BETA: Added new effect '''!TalismanSlot'''. 	Reviewed by:
 Nos, St3eT, !UnAfraid, Zoey76

---
 .../scripts/handlers/EffectMasterHandler.java |  1 +
 .../handlers/effecthandlers/TalismanSlot.java | 64 +++++++++++++++++++
 .../game/data/stats/skills/03300-03399.xml    | 30 +++++----
 3 files changed, 83 insertions(+), 12 deletions(-)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TalismanSlot.java

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
index 478ef22efb..505921e279 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -177,6 +177,7 @@ public final class EffectMasterHandler
 		TakeFort.class,
 		TakeFortStart.class,
 		TakeTerritoryFlag.class,
+		TalismanSlot.class,
 		TargetCancel.class,
 		TargetMe.class,
 		TargetMeProbability.class,
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TalismanSlot.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TalismanSlot.java
new file mode 100644
index 0000000000..bca188d35a
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TalismanSlot.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2004-2014 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.skills.BuffInfo;
+
+/**
+ * Talisman Slot effect implementation.
+ * @author Adry_85
+ */
+public final class TalismanSlot extends AbstractEffect
+{
+	private final int _slots;
+	
+	public TalismanSlot(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	{
+		super(attachCond, applyCond, set, params);
+		
+		_slots = params.getInt("slots", 0);
+	}
+	
+	@Override
+	public boolean canStart(BuffInfo info)
+	{
+		return (info.getEffector() != null) && (info.getEffected() != null) && info.getEffected().isPlayer();
+	}
+	
+	@Override
+	public void onStart(BuffInfo info)
+	{
+		info.getEffected().getActingPlayer().getStat().addTalismanSlots(_slots);
+	}
+	
+	@Override
+	public boolean onActionTime(BuffInfo info)
+	{
+		return info.getSkill().isPassive();
+	}
+	
+	@Override
+	public void onExit(BuffInfo info)
+	{
+		info.getEffected().getActingPlayer().getStat().addTalismanSlots(-_slots);
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml
index 316067efe1..0dfbbc4bf1 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml
@@ -279,66 +279,72 @@
 		</for>
 	</skill>
 	<skill id="3322" levels="1" name="Brass Bracelet">
+		<!-- Confirmed CT2.5 -->
 		<set name="icon" val="icon.etc_rbracelet_c_i00" />
 		<set name="magicLvl" val="20" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
-				<set order="0x50" stat="talisman" val="1" />
+			<effect name="TalismanSlot">
+				<param slots="1" />
 			</effect>
 		</for>
 	</skill>
 	<skill id="3323" levels="1" name="Bronze Bracelet">
+		<!-- Confirmed CT2.5 -->
 		<set name="icon" val="icon.etc_rbracelet_b_i01" />
 		<set name="magicLvl" val="40" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
-				<set order="0x50" stat="talisman" val="2" />
+			<effect name="TalismanSlot">
+				<param slots="2" />
 			</effect>
 		</for>
 	</skill>
 	<skill id="3324" levels="1" name="Steel Bracelet">
+		<!-- Confirmed CT2.5 -->
 		<set name="icon" val="icon.etc_rbracelet_a_i02" />
 		<set name="magicLvl" val="52" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
-				<set order="0x50" stat="talisman" val="3" />
+			<effect name="TalismanSlot">
+				<param slots="3" />
 			</effect>
 		</for>
 	</skill>
 	<skill id="3325" levels="1" name="Mithril Bracelet">
+		<!-- Confirmed CT2.5 -->
 		<set name="icon" val="icon.etc_rbracelet_s_i03" />
 		<set name="magicLvl" val="61" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
-				<set order="0x50" stat="talisman" val="4" />
+			<effect name="TalismanSlot">
+				<param slots="4" />
 			</effect>
 		</for>
 	</skill>
 	<skill id="3326" levels="1" name="Jewelry Bracelet">
+		<!-- Confirmed CT2.5 -->
 		<set name="magicLvl" val="76" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
-				<set order="0x50" stat="talisman" val="5" />
+			<effect name="TalismanSlot">
+				<param slots="5" />
 			</effect>
 		</for>
 	</skill>
 	<skill id="3327" levels="1" name="Oriharukon Bracelet">
+		<!-- Confirmed CT2.5 -->
 		<set name="magicLvl" val="80" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
-				<set order="0x50" stat="talisman" val="6" />
+			<effect name="TalismanSlot">
+				<param slots="6" />
 			</effect>
 		</for>
 	</skill>
-- 
GitLab