فهرست منبع

BETA: Skills rework:
* Optimized '''calcCancelStealEffects''' in formulas.
* Merging all '''Cancel''' effectType in one called '''DISPEL'''.
* Removed '''negateAbnormals''' and '''maxNegated''' from skills xml.
* '''Cancel''' and '''!CancelDebuff''' effects now are called '''!DispelByCategory''' and are handled with proper parameters.
* '''!CancelAll''' now is called '''!DispelAll'''.
* '''!DispelBySlot''' and '''!StealAbnormal''' now is handled with proper parameters.
* Added new effect '''!DispelBySlotProbability'''.
* Fixing typo for skill '''Maximum Focus Force'''.
* Reported by: blacksea
* Patch by: blacksea
Reviewed by: Zoey76

Adry_85 12 سال پیش
والد
کامیت
42d43ba060
46فایلهای تغییر یافته به همراه650 افزوده شده و 440 حذف شده
  1. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
  2. 0 94
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CancelDebuff.java
  3. 4 4
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelAll.java
  4. 13 6
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelByCategory.java
  5. 33 8
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java
  6. 107 0
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlotProbability.java
  7. 8 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java
  8. 28 20
      L2J_DataPack_BETA/dist/game/data/stats/skills/00000-00099.xml
  9. 6 4
      L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml
  10. 6 3
      L2J_DataPack_BETA/dist/game/data/stats/skills/00300-00399.xml
  11. 7 5
      L2J_DataPack_BETA/dist/game/data/stats/skills/00400-00499.xml
  12. 3 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/00500-00599.xml
  13. 12 8
      L2J_DataPack_BETA/dist/game/data/stats/skills/00700-00799.xml
  14. 3 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/00800-00899.xml
  15. 4 3
      L2J_DataPack_BETA/dist/game/data/stats/skills/00900-00999.xml
  16. 18 12
      L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml
  17. 49 29
      L2J_DataPack_BETA/dist/game/data/stats/skills/01300-01399.xml
  18. 39 27
      L2J_DataPack_BETA/dist/game/data/stats/skills/01400-01499.xml
  19. 57 39
      L2J_DataPack_BETA/dist/game/data/stats/skills/01500-01599.xml
  20. 15 10
      L2J_DataPack_BETA/dist/game/data/stats/skills/02000-02099.xml
  21. 3 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/02100-02199.xml
  22. 6 4
      L2J_DataPack_BETA/dist/game/data/stats/skills/02200-02299.xml
  23. 3 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/02300-02399.xml
  24. 6 4
      L2J_DataPack_BETA/dist/game/data/stats/skills/02500-02599.xml
  25. 21 14
      L2J_DataPack_BETA/dist/game/data/stats/skills/03200-03299.xml
  26. 3 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml
  27. 3 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/03400-03499.xml
  28. 3 3
      L2J_DataPack_BETA/dist/game/data/stats/skills/03500-03599.xml
  29. 2 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml
  30. 2 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/04100-04199.xml
  31. 1 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/04300-04399.xml
  32. 12 8
      L2J_DataPack_BETA/dist/game/data/stats/skills/04500-04599.xml
  33. 37 25
      L2J_DataPack_BETA/dist/game/data/stats/skills/04600-04699.xml
  34. 6 4
      L2J_DataPack_BETA/dist/game/data/stats/skills/04700-04799.xml
  35. 6 5
      L2J_DataPack_BETA/dist/game/data/stats/skills/05000-05099.xml
  36. 6 4
      L2J_DataPack_BETA/dist/game/data/stats/skills/05100-05199.xml
  37. 6 4
      L2J_DataPack_BETA/dist/game/data/stats/skills/05400-05499.xml
  38. 6 4
      L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml
  39. 3 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml
  40. 6 4
      L2J_DataPack_BETA/dist/game/data/stats/skills/06000-06099.xml
  41. 12 8
      L2J_DataPack_BETA/dist/game/data/stats/skills/06200-06299.xml
  42. 3 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/06600-06699.xml
  43. 33 21
      L2J_DataPack_BETA/dist/game/data/stats/skills/07000-07099.xml
  44. 6 5
      L2J_DataPack_BETA/dist/game/data/stats/skills/08300-08399.xml
  45. 3 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/23100-23199.xml
  46. 36 24
      L2J_DataPack_BETA/dist/game/data/stats/skills/23200-23299.xml

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java

@@ -47,9 +47,6 @@ public final class EffectMasterHandler
 		Buff.class,
 		CallParty.class,
 		CallPc.class,
-		Cancel.class,
-		CancelAll.class,
-		CancelDebuff.class,
 		ChameleonRest.class,
 		ChanceSkillTrigger.class,
 		ChangeFace.class,
@@ -73,8 +70,11 @@ public final class EffectMasterHandler
 		DamOverTimePercent.class,
 		DeathLink.class,
 		Debuff.class,
-		DispelBySlot.class,
 		Disarm.class,
+		DispelAll.class,
+		DispelByCategory.class,
+		DispelBySlot.class,
+		DispelBySlotProbability.class,
 		EnemyCharge.class,
 		EnergyAttack.class,
 		EnlargeAbnormalSlot.class,

+ 0 - 94
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CancelDebuff.java

@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2004-2013 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.actor.L2Character;
-import com.l2jserver.gameserver.model.effects.EffectTemplate;
-import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.L2EffectType;
-import com.l2jserver.gameserver.model.skills.L2Skill;
-import com.l2jserver.gameserver.model.stats.Env;
-import com.l2jserver.util.Rnd;
-
-/**
- * Cancel Debuff effect implementation.
- * @author UnAfraid
- */
-public class CancelDebuff extends L2Effect
-{
-	public CancelDebuff(Env env, EffectTemplate template)
-	{
-		super(env, template);
-	}
-	
-	@Override
-	public boolean calcSuccess()
-	{
-		return true;
-	}
-	
-	@Override
-	public L2EffectType getEffectType()
-	{
-		return L2EffectType.CANCEL_DEBUFF;
-	}
-	
-	@Override
-	public boolean onStart()
-	{
-		return cancel(getEffector(), getEffected(), getSkill(), getEffectTemplate().getEffectPower());
-	}
-	
-	private static boolean cancel(L2Character caster, L2Character target, L2Skill skill, double baseRate)
-	{
-		if (target.isDead())
-		{
-			return false;
-		}
-		
-		int count = 0;
-		for (L2Effect e : target.getAllEffects())
-		{
-			if ((e == null) || !e.getSkill().isDebuff() || !e.getSkill().canBeDispeled())
-			{
-				continue;
-			}
-			
-			// TODO: Unhardcode Poison of Death skill
-			if (e.getSkill().getId() == 4082)
-			{
-				continue;
-			}
-			
-			if (Rnd.get(100) > baseRate)
-			{
-				continue;
-			}
-			
-			e.exit();
-			
-			count++;
-			if (count >= skill.getMaxNegatedEffects())
-			{
-				break;
-			}
-		}
-		return true;
-	}
-}

+ 4 - 4
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CancelAll.java → L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelAll.java

@@ -24,12 +24,12 @@ import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 
 /**
- * Cancel All effect implementation.
+ * Dispel All effect implementation.
  * @author UnAfraid
  */
-public class CancelAll extends L2Effect
+public class DispelAll extends L2Effect
 {
-	public CancelAll(Env env, EffectTemplate template)
+	public DispelAll(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
@@ -43,7 +43,7 @@ public class CancelAll extends L2Effect
 	@Override
 	public L2EffectType getEffectType()
 	{
-		return L2EffectType.CANCEL_ALL;
+		return L2EffectType.DISPEL;
 	}
 	
 	@Override

+ 13 - 6
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Cancel.java → L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelByCategory.java

@@ -27,14 +27,21 @@ import com.l2jserver.gameserver.model.stats.Env;
 import com.l2jserver.gameserver.model.stats.Formulas;
 
 /**
- * Cancel effect implementation.
- * @author DS
+ * Dispel By Category effect implementation.
+ * @author DS, Adry_85
  */
-public class Cancel extends L2Effect
+public class DispelByCategory extends L2Effect
 {
-	public Cancel(Env env, EffectTemplate template)
+	private final String _slot;
+	private final int _rate;
+	private final int _max;
+	
+	public DispelByCategory(Env env, EffectTemplate template)
 	{
 		super(env, template);
+		_slot = template.getParameters().getString("slot", null);
+		_rate = template.getParameters().getInteger("rate", 0);
+		_max = template.getParameters().getInteger("max", 0);
 	}
 	
 	@Override
@@ -46,7 +53,7 @@ public class Cancel extends L2Effect
 	@Override
 	public L2EffectType getEffectType()
 	{
-		return L2EffectType.CANCEL;
+		return L2EffectType.DISPEL;
 	}
 	
 	@Override
@@ -57,7 +64,7 @@ public class Cancel extends L2Effect
 			return false;
 		}
 		
-		final List<L2Effect> canceled = Formulas.calcCancelStealEffects(getEffector(), getEffected(), getSkill(), getEffectTemplate().getEffectPower());
+		final List<L2Effect> canceled = Formulas.calcCancelStealEffects(getEffector(), getEffected(), getSkill(), _slot, _rate, _max);
 		for (L2Effect eff : canceled)
 		{
 			eff.exit();

+ 33 - 8
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java

@@ -18,30 +18,56 @@
  */
 package handlers.effecthandlers;
 
+import java.util.Collections;
+import java.util.EnumMap;
+import java.util.Map;
 import java.util.Map.Entry;
 
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.skills.AbnormalType;
-import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.stats.Env;
 
 /**
- * Dispel By Slot effect.
- * @author Gnacik, Zoey76
+ * Dispel By Slot effect implementation.
+ * @author Gnacik, Zoey76, Adry_85
  */
 public class DispelBySlot extends L2Effect
 {
+	private final String _dispel;
+	private final Map<AbnormalType, Byte> _dispelAbnormals;
+	
 	public DispelBySlot(Env env, EffectTemplate template)
 	{
 		super(env, template);
+		_dispel = template.getParameters().getString("dispel", null);
+		if ((_dispel != null) && !_dispel.isEmpty())
+		{
+			_dispelAbnormals = new EnumMap<>(AbnormalType.class);
+			for (String ngtStack : _dispel.split(";"))
+			{
+				String[] ngt = ngtStack.split(",");
+				final AbnormalType type = AbnormalType.getAbnormalType(ngt[0]);
+				_dispelAbnormals.put(type, Byte.parseByte(ngt[1]));
+			}
+		}
+		else
+		{
+			_dispelAbnormals = Collections.<AbnormalType, Byte> emptyMap();
+		}
+	}
+	
+	@Override
+	public boolean calcSuccess()
+	{
+		return true;
 	}
 	
 	@Override
 	public L2EffectType getEffectType()
 	{
-		return L2EffectType.NEGATE;
+		return L2EffectType.DISPEL;
 	}
 	
 	@Override
@@ -53,8 +79,7 @@ public class DispelBySlot extends L2Effect
 	@Override
 	public boolean onStart()
 	{
-		final L2Skill skill = getSkill();
-		if (skill.getNegateAbnormals().isEmpty())
+		if (_dispelAbnormals.isEmpty())
 		{
 			return false;
 		}
@@ -66,9 +91,9 @@ public class DispelBySlot extends L2Effect
 				continue;
 			}
 			
-			for (Entry<AbnormalType, Byte> negate : skill.getNegateAbnormals().entrySet())
+			for (Entry<AbnormalType, Byte> dispel : _dispelAbnormals.entrySet())
 			{
-				if ((effect.getSkill().getAbnormalType() == negate.getKey()) && (negate.getValue() >= effect.getSkill().getAbnormalLvl()))
+				if ((effect.getSkill().getAbnormalType() == dispel.getKey()) && (dispel.getValue() >= effect.getSkill().getAbnormalLvl()))
 				{
 					effect.exit();
 				}

+ 107 - 0
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlotProbability.java

@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2004-2013 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 java.util.Collections;
+import java.util.EnumMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import com.l2jserver.gameserver.model.effects.EffectTemplate;
+import com.l2jserver.gameserver.model.effects.L2Effect;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
+import com.l2jserver.gameserver.model.skills.AbnormalType;
+import com.l2jserver.gameserver.model.stats.Env;
+import com.l2jserver.util.Rnd;
+
+/**
+ * Dispel By Slot Probability effect implementation.
+ * @author Adry_85
+ */
+public class DispelBySlotProbability extends L2Effect
+{
+	private final String _dispel;
+	private final Map<AbnormalType, Byte> _dispelAbnormals;
+	private final int _rate;
+	
+	public DispelBySlotProbability(Env env, EffectTemplate template)
+	{
+		super(env, template);
+		_dispel = template.getParameters().getString("dispel", null);
+		_rate = template.getParameters().getInteger("rate", 0);
+		if ((_dispel != null) && !_dispel.isEmpty())
+		{
+			_dispelAbnormals = new EnumMap<>(AbnormalType.class);
+			for (String ngtStack : _dispel.split(";"))
+			{
+				String[] ngt = ngtStack.split(",");
+				final AbnormalType type = AbnormalType.getAbnormalType(ngt[0]);
+				_dispelAbnormals.put(type, Byte.MAX_VALUE);
+			}
+		}
+		else
+		{
+			_dispelAbnormals = Collections.<AbnormalType, Byte> emptyMap();
+		}
+	}
+	
+	@Override
+	public boolean calcSuccess()
+	{
+		return true;
+	}
+	
+	@Override
+	public L2EffectType getEffectType()
+	{
+		return L2EffectType.DISPEL;
+	}
+	
+	@Override
+	public boolean isInstant()
+	{
+		return true;
+	}
+	
+	@Override
+	public boolean onStart()
+	{
+		if (_dispelAbnormals.isEmpty())
+		{
+			return false;
+		}
+		
+		for (L2Effect effect : getEffected().getAllEffects())
+		{
+			if (effect == null)
+			{
+				continue;
+			}
+			
+			for (Entry<AbnormalType, Byte> negate : _dispelAbnormals.entrySet())
+			{
+				if ((effect.getSkill().getAbnormalType() == negate.getKey()) && (Rnd.get(100) < _rate))
+				{
+					effect.exit();
+				}
+			}
+		}
+		return true;
+	}
+}

+ 8 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java

@@ -34,9 +34,16 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
  */
 public class StealAbnormal extends L2Effect
 {
+	private final String _slot;
+	private final int _rate;
+	private final int _max;
+	
 	public StealAbnormal(Env env, EffectTemplate template)
 	{
 		super(env, template);
+		_slot = template.getParameters().getString("slot", null);
+		_rate = template.getParameters().getInteger("rate", 0);
+		_max = template.getParameters().getInteger("max", 0);
 	}
 	
 	@Override
@@ -62,7 +69,7 @@ public class StealAbnormal extends L2Effect
 	{
 		if ((getEffected() != null) && getEffected().isPlayer() && (getEffector() != getEffected()))
 		{
-			final List<L2Effect> toSteal = Formulas.calcCancelStealEffects(getEffector(), getEffected(), getSkill(), getSkill().getPower());
+			final List<L2Effect> toSteal = Formulas.calcCancelStealEffects(getEffector(), getEffected(), getSkill(), _slot, _rate, _max);
 			if (toSteal.isEmpty())
 			{
 				return false;

+ 28 - 20
L2J_DataPack_BETA/dist/game/data/stats/skills/00000-00099.xml

@@ -648,22 +648,23 @@
 	</skill>
 	<skill id="21" levels="3" name="Poison Recovery">
 		<table name="#aggro"> 204 379 566 </table>
+		<table name="#dispelAbnormals"> POISON,3 POISON,7 POISON,9 </table>
 		<table name="#magicLvl"> 20 40 60 </table>
 		<table name="#mpConsume"> 16 28 44 </table>
 		<table name="#mpInitialConsume"> 4 7 11 </table>
-		<table name="#negateAbnormals"> POISON,3 POISON,7 POISON,9 </table>
 		<set name="aggroPoints" val="#aggro" />
 		<set name="hitTime" val="1000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="2000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="22" levels="7" name="Summon Vampiric Cubic" enchantGroup1="2">
@@ -938,19 +939,20 @@
 	</skill>
 	<skill id="34" levels="3" name="Bandage">
 		<table name="#aggro"> 204 438 582 </table>
+		<table name="#dispelAbnormals"> BLEEDING,3 BLEEDING,7 BLEEDING,9 </table>
 		<table name="#magicLvl"> 20 46 62 </table>
 		<table name="#mpConsume"> 19 41 55 </table>
-		<table name="#negateAbnormals"> BLEEDING,3 BLEEDING,7 BLEEDING,9 </table>
 		<set name="aggroPoints" val="#aggro" />
 		<set name="hitTime" val="1500" />
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="35" levels="28" name="Force Storm" enchantGroup1="2" enchantGroup2="2" enchantGroup3="2" enchantGroup4="2" enchantGroup5="2" enchantGroup6="2" enchantGroup7="2">
@@ -1095,22 +1097,23 @@
 	</skill>
 	<skill id="44" levels="3" name="Remedy">
 		<table name="#aggro"> 379 467 582 </table>
+		<table name="#dispelAbnormals"> BLEEDING,3 BLEEDING,7 BLEEDING,9 </table>
 		<table name="#magicLvl"> 40 49 62 </table>
 		<table name="#mpConsume"> 28 35 44 </table>
 		<table name="#mpInitialConsume"> 7 9 11 </table>
-		<table name="#negateAbnormals"> BLEEDING,3 BLEEDING,7 BLEEDING,9 </table>
 		<set name="aggroPoints" val="#aggro" />
 		<set name="hitTime" val="1500" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="2000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="45" levels="9" name="Divine Heal">
@@ -1390,9 +1393,7 @@
 		<enchant2 name="mpConsume" val="#ench2MpConsume" />
 		<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
-		<enchant3 name="negateAbnormals" val="POISON,9" />
 		<enchant4 name="magicLvl" val="#enchMagicLvl" />
-		<enchant4 name="negateAbnormals" val="BLEEDING,9" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
 		</for>
@@ -1401,11 +1402,15 @@
 		</enchant1for>
 		<enchant3for>
 			<effect name="Heal" noicon="1" val="546" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="POISON,9" />
+			</effect>
 		</enchant3for>
 		<enchant4for>
 			<effect name="Heal" noicon="1" val="546" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="BLEEDING,9" />
+			</effect>
 		</enchant4for>
 	</skill>
 	<skill id="60" levels="1" name="Fake Death">
@@ -1418,22 +1423,23 @@
 	</skill>
 	<skill id="61" levels="3" name="Cure Bleeding">
 		<table name="#aggro"> 235 438 582 </table>
+		<table name="#dispelAbnormals"> BLEEDING,3 BLEEDING,7 BLEEDING,9 </table>
 		<table name="#magicLvl"> 24 46 62 </table>
 		<table name="#mpConsume"> 17 33 44 </table>
 		<table name="#mpInitialConsume"> 5 9 11 </table>
-		<table name="#negateAbnormals"> BLEEDING,3 BLEEDING,7 BLEEDING,9 </table>
 		<set name="aggroPoints" val="#aggro" />
 		<set name="hitTime" val="1000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="2000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="65" levels="13" name="Horror">
@@ -1512,10 +1518,8 @@
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<enchant3 name="hpConsume" val="#ench34HpConsume" />
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
-		<enchant3 name="negateAbnormals" val="POISON,9" />
 		<enchant4 name="hpConsume" val="#ench34HpConsume" />
 		<enchant4 name="magicLvl" val="#enchMagicLvl" />
-		<enchant4 name="negateAbnormals" val="BLEEDING,9" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
 		</for>
@@ -1524,11 +1528,15 @@
 		</enchant1for>
 		<enchant3for>
 			<effect name="Heal" noicon="1" val="1170" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="POISON,9" />
+			</effect>
 		</enchant3for>
 		<enchant4for>
 			<effect name="Heal" noicon="1" val="1170" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="BLEEDING,9" />
+			</effect>
 		</enchant4for>
 	</skill>
 	<skill id="70" levels="53" name="Drain Health" enchantGroup1="2" enchantGroup2="2" enchantGroup3="2">

+ 6 - 4
L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml

@@ -1434,10 +1434,8 @@
 		<enchant2 name="mpConsume" val="#ench2MpConsume" />
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
 		<enchant3 name="mpConsume" val="#ench34MpConsume" />
-		<enchant3 name="negateAbnormals" val="poison,9" />
 		<enchant4 name="magicLvl" val="#enchMagicLvl" />
 		<enchant4 name="mpConsume" val="#ench34MpConsume" />
-		<enchant4 name="negateAbnormals" val="bleeding,9" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
 		</for>
@@ -1446,11 +1444,15 @@
 		</enchant1for>
 		<enchant3for>
 			<effect name="Heal" noicon="1" val="546" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="POISON,9" />
+			</effect>
 		</enchant3for>
 		<enchant4for>
 			<effect name="Heal" noicon="1" val="546" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="BLEEDING,9" />
+			</effect>
 		</enchant4for>
 	</skill>
 	<skill id="263" levels="37" name="Deadly Blow" enchantGroup1="2" enchantGroup2="2" enchantGroup3="2" enchantGroup4="2" enchantGroup5="2" enchantGroup6="2" enchantGroup7="2">

+ 6 - 3
L2J_DataPack_BETA/dist/game/data/stats/skills/00300-00399.xml

@@ -1232,7 +1232,6 @@
 		<set name="isDebuff" val="true" />
 		<set name="lvlBonusRate" val="1" />
 		<set name="magicLvl" val="78" />
-		<set name="maxNegated" val="5" />
 		<set name="nextActionAttack" val="true" />
 		<set name="offensive" val="true" />
 		<set name="operateType" val="A2" />
@@ -1249,7 +1248,9 @@
 				<add order="0x40" stat="debuffVuln" val="30" />
 				<mul order="0x30" stat="healEffect" val="0.7" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="5" />
+			</effect>
 			<effect name="CpDamPercent" noicon="1" val="90" />
 		</for>
 		<enchant2for>
@@ -1258,7 +1259,9 @@
 				<add order="0x40" stat="debuffVuln" val="30" />
 				<mul order="0x30" stat="healEffect" val="0.7" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="5" />
+			</effect>
 			<effect name="CpDamPercent" noicon="1" val="90" />
 		</enchant2for>
 	</skill>

+ 7 - 5
L2J_DataPack_BETA/dist/game/data/stats/skills/00400-00499.xml

@@ -1808,12 +1808,13 @@
 		<set name="hitTime" val="1000" />
 		<set name="magicLvl" val="60" />
 		<set name="mpConsume" val="60" />
-		<set name="negateAbnormals" val="ROOT_PHYSICALLY,3" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="15000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="ROOT_PHYSICALLY,3" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="454" levels="1" name="Symbol of Defense">
@@ -1988,14 +1989,13 @@
 	</skill>
 	<skill id="461" levels="2" name="Break Duress">
 		<table name="#chargeConsume"> 2 3 </table>
+		<table name="#dispelAbnormals"> ROOT_PHYSICALLY,3;ROOT_MAGICALLY,3 SPEED_DOWN,3;ROOT_PHYSICALLY,3;ROOT_MAGICALLY,3 </table>
 		<table name="#magicLvl"> 60 66 </table>
 		<table name="#mpConsume"> 33 37 </table>
-		<table name="#negateAbnormals"> ROOT_PHYSICALLY,3;ROOT_MAGICALLY,3 SPEED_DOWN,3;ROOT_PHYSICALLY,3;ROOT_MAGICALLY,3 </table>
 		<set name="chargeConsume" val="#chargeConsume" />
 		<set name="hitTime" val="3000" />
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="4000" />
 		<set name="targetType" val="SELF" />
@@ -2003,7 +2003,9 @@
 			<player Charges="#chargeConsume" /> <!-- Level 2 3 Focused Force charge required. -->
 		</cond>
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="462" levels="1" name="Guilted Body">

+ 3 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/00500-00599.xml

@@ -972,12 +972,13 @@
 		<set name="hitTime" val="1500" />
 		<set name="magicLvl" val="64" />
 		<set name="mpConsume" val="59" />
-		<set name="negateAbnormals" val="DARK_SEED,9" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="DARK_SEED,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="525" levels="6" name="Decoy" enchantGroup1="1" enchantGroup2="1" enchantGroup3="1">

+ 12 - 8
L2J_DataPack_BETA/dist/game/data/stats/skills/00700-00799.xml

@@ -36,13 +36,14 @@
 		<set name="effectRange" val="1100" />
 		<set name="hitTime" val="4000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
-		<set name="maxNegated" val="10" />
 		<set name="mpConsume" val="59" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="10" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="703" levels="1" name="Sacrifice Healer">
@@ -562,14 +563,15 @@
 		<set name="hitTime" val="1500" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="75" />
-		<set name="maxNegated" val="10" />
 		<set name="mpConsume" val="20" />
 		<set name="mpInitialConsume" val="5" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="10" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="725" levels="2" name="Venom Power Smash">
@@ -1016,14 +1018,15 @@
 		<set name="hitTime" val="4000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="10" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="10" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="746" levels="3" name="Saber Tooth Tiger Bite">
@@ -1379,7 +1382,6 @@
 		<set name="isDebuff" val="true" />
 		<set name="lvlBonusRate" val="1" />
 		<set name="magicLvl" val="81" />
-		<set name="maxNegated" val="5" />
 		<set name="mpConsume" val="80" />
 		<set name="offensive" val="true" />
 		<set name="operateType" val="A2" />
@@ -1403,7 +1405,9 @@
 				<add order="0x40" stat="debuffVuln" val="30" />
 				<mul order="0x30" stat="healEffect" val="0.7" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="5" />
+			</effect>
 			<effect name="CpDamPercent" noicon="1" val="90" />
 		</for>
 	</skill>

+ 3 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/00800-00899.xml

@@ -63,14 +63,15 @@
 		<set name="affectRange" val="100" />
 		<set name="hitTime" val="1500" />
 		<set name="magicLvl" val="83" />
-		<set name="maxNegated" val="5" />
 		<set name="mpConsume" val="49" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="75000" />
 		<set name="targetType" val="AURA" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="5" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="807" levels="1" name="Over-hit">

+ 4 - 3
L2J_DataPack_BETA/dist/game/data/stats/skills/00900-00999.xml

@@ -335,7 +335,6 @@
 		<set name="hitTime" val="2500" />
 		<set name="isMagic" val="3" /> <!-- Dance Skill -->
 		<set name="magicLvl" val="81" />
-		<set name="maxNegated" val="3" />
 		<set name="mpConsume" val="60" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="240000" />
@@ -346,7 +345,9 @@
 				<sub order="0x40" stat="debuffVuln" val="30" />
 				<mul order="0x30" stat="healEffect" val="1.3" />
 			</effect>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="80" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="80" max="3" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="915" levels="1" name="Dance of Berserker">
@@ -444,7 +445,7 @@
 			</not>
 		</cond>
 		<for>
-			<effect name="FocusEnergy" noicon="1" val="8" />
+			<effect name="FocusMaxEnergy" noicon="1" val="8" />
 		</for>
 	</skill>
 	<skill id="919" levels="1" name="Maximum Focus Sonic">

+ 18 - 12
L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml

@@ -409,9 +409,9 @@
 	</skill>
 	<skill id="1012" levels="3" name="Cure Poison">
 		<table name="#aggro"> 121 331 566 </table>
+		<table name="#dispelAbnormals"> POISON,3 POISON,7 POISON,9 </table>
 		<table name="#mpConsume"> 8 24 44 </table>
 		<table name="#mpInitialConsume"> 2 6 11 </table>
-		<table name="#negateAbnormals"> POISON,3 POISON,7 POISON,9 </table>
 		<set name="aggroPoints" val="#aggro" />
 		<set name="castRange" val="600" />
 		<set name="effectRange" val="1100" />
@@ -419,12 +419,13 @@
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="4000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1013" levels="32" name="Recharge" enchantGroup1="2" enchantGroup2="2">
@@ -504,10 +505,10 @@
 	<skill id="1018" levels="3" name="Purify">
 		<!-- Confirmed CT2.5 and Updated to H5 -->
 		<table name="#aggro"> 418 495 566 </table>
+		<table name="#dispelAbnormals"> POISON,3;BLEEDING,3;PARALYZE,1 POISON,7;BLEEDING,7;PARALYZE,1;TURN_STONE,2 POISON,9;BLEEDING,9;PARALYZE,1;TURN_STONE,2 </table>
 		<table name="#magicLvl"> 44 52 62 </table>
 		<table name="#mpConsume"> 31 38 44 </table>
 		<table name="#mpInitialConsume"> 8 10 11 </table>
-		<table name="#negateAbnormals"> POISON,3;BLEEDING,3;PARALYZE,1 POISON,7;BLEEDING,7;PARALYZE,1;TURN_STONE,2 POISON,9;BLEEDING,9;PARALYZE,1;TURN_STONE,2 </table>
 		<set name="aggroPoints" val="#aggro" />
 		<set name="castRange" val="600" />
 		<set name="effectRange" val="1100" />
@@ -516,20 +517,21 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="4000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1020" levels="27" name="Vitalize" enchantGroup1="2" enchantGroup2="2">
 		<table name="#aggro"> 528 544 561 593 609 626 658 674 690 706 722 737 753 768 783 798 812 826 840 854 867 879 892 904 915 926 936 </table>
 		<table name="#amount"> 440 454 467 494 508 521 548 562 575 588 602 615 627 640 653 665 677 689 700 711 722 733 743 753 763 772 780 </table>
+		<table name="#dispelAbnormals"> POISON,3;BLEEDING,3 POISON,3;BLEEDING,3 POISON,3;BLEEDING,3 POISON,3;BLEEDING,3 POISON,3;BLEEDING,3 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 </table>
 		<table name="#mpConsume"> 69 71 73 77 77 79 83 85 87 89 91 93 94 94 96 98 99 101 103 105 106 108 109 111 112 113 115 </table>
 		<table name="#mpInitialConsume"> 18 18 19 20 20 20 21 22 22 23 23 24 24 24 24 25 25 26 26 27 27 27 28 28 28 29 29 </table>
-		<table name="#negateAbnormals"> POISON,3;BLEEDING,3 POISON,3;BLEEDING,3 POISON,3;BLEEDING,3 POISON,3;BLEEDING,3 POISON,3;BLEEDING,3 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,7;BLEEDING,7 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 POISON,9;BLEEDING,9 </table>
 		<table name="#ench1amount"> 785 789 794 798 803 807 812 816 821 825 829 834 838 843 847 852 856 861 865 870 874 879 883 887 892 896 901 905 910 914 </table>
 		<table name="#ench2mpConsume"> 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 </table>
 		<table name="#ench2mpInitialConsume"> 28 28 27 27 27 27 26 26 26 26 25 25 25 25 24 24 24 24 23 23 23 23 22 22 22 22 21 21 21 21 </table>
@@ -541,7 +543,6 @@
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
 		<set name="targetType" val="ONE" />
@@ -551,11 +552,15 @@
 		<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 		<enchant1for>
 			<effect name="Heal" noicon="1" val="#ench1amount" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="POISON,9;BLEEDING,9" />
+			</effect>
 		</enchant1for>
 	</skill>
 	<skill id="1027" levels="15" name="Group Heal">
@@ -1213,7 +1218,6 @@
 		<set name="hitTime" val="6000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="5" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
@@ -1221,7 +1225,9 @@
 		<set name="reuseDelay" val="30000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="5" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1059" levels="3" name="Empower" enchantGroup1="1" enchantGroup2="1">

+ 49 - 29
L2J_DataPack_BETA/dist/game/data/stats/skills/01300-01399.xml

@@ -5,7 +5,7 @@
 		<table name="#magicLvl"> 40 48 60 </table>
 		<table name="#mpConsume"> 28 35 44 </table>
 		<table name="#mpInitialConsume"> 7 9 11 </table>
-		<table name="#negateAbnormals"> POISON,3;BLEEDING,3 POISON,7;BLEEDING,7 POISON,9;BLEEDING,9 </table>
+		<table name="#dispelAbnormals"> POISON,3;BLEEDING,3 POISON,7;BLEEDING,7 POISON,9;BLEEDING,9 </table>
 		<set name="aggroPoints" val="#aggro" />
 		<set name="castRange" val="600" />
 		<set name="effectRange" val="1100" />
@@ -14,12 +14,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="4000" />
 		<set name="targetType" val="SERVITOR" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1301" levels="1" name="Servitor Blessing">
@@ -31,12 +32,13 @@
 		<set name="magicLvl" val="62" />
 		<set name="mpConsume" val="46" />
 		<set name="mpInitialConsume" val="12" />
-		<set name="negateAbnormals" val="ROOT_PHYSICALLY,1;ROOT_MAGICALLY,1;PARALYZE,1;ATTACK_TIME_UP,3;SPEED_DOWN,3" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="4000" />
 		<set name="targetType" val="SERVITOR" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="ROOT_PHYSICALLY,1;ROOT_MAGICALLY,1;PARALYZE,1;ATTACK_TIME_UP,3;SPEED_DOWN,3" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1303" levels="2" name="Wild Magic" enchantGroup1="1" enchantGroup2="1">
@@ -1269,13 +1271,14 @@
 		<set name="magicLvl" val="77" />
 		<set name="mpConsume" val="84" />
 		<set name="mpInitialConsume" val="21" />
-		<set name="negateAbnormals" val="ATTACK_TIME_DOWN;SPEED_UP;IMPROVE_SPEED_AVOID_UP;IMPROVE_VAMPIRIC_HASTE" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="AURA" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="40" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="ATTACK_TIME_DOWN;SPEED_UP;IMPROVE_SPEED_AVOID_UP;IMPROVE_VAMPIRIC_HASTE" rate="40" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1345" levels="1" name="Mass Mage Bane">
@@ -1287,13 +1290,14 @@
 		<set name="magicLvl" val="78" />
 		<set name="mpConsume" val="85" />
 		<set name="mpInitialConsume" val="22" />
-		<set name="negateAbnormals" val="MA_UP;CASTING_TIME_DOWN;IMPROVE_MA_MD_UP" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="AURA" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="40" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="MA_UP;CASTING_TIME_DOWN;IMPROVE_MA_MD_UP" rate="40" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1346" levels="1" name="Warrior Servitor" enchantGroup1="5" enchantGroup2="5">
@@ -1515,13 +1519,14 @@
 		<set name="magicLvl" val="76" />
 		<set name="mpConsume" val="56" />
 		<set name="mpInitialConsume" val="14" />
-		<set name="negateAbnormals" val="ATTACK_TIME_DOWN;SPEED_UP;IMPROVE_SPEED_AVOID_UP;IMPROVE_VAMPIRIC_HASTE" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="3000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="80" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="ATTACK_TIME_DOWN;SPEED_UP;IMPROVE_SPEED_AVOID_UP;IMPROVE_VAMPIRIC_HASTE" rate="80" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1351" levels="1" name="Mage Bane">
@@ -1533,13 +1538,14 @@
 		<set name="magicLvl" val="77" />
 		<set name="mpConsume" val="56" />
 		<set name="mpInitialConsume" val="14" />
-		<set name="negateAbnormals" val="MA_UP;CASTING_TIME_DOWN;IMPROVE_MA_MD_UP" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="3000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="80" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="MA_UP;CASTING_TIME_DOWN;IMPROVE_MA_MD_UP" rate="80" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1352" levels="1" name="Elemental Protection" enchantGroup1="5" enchantGroup2="5">
@@ -1906,7 +1912,6 @@
 		<set name="magicLvl" val="77" />
 		<set name="mpConsume" val="56" />
 		<set name="mpInitialConsume" val="14" />
-		<set name="negateAbnormals" val="PD_UP;IMPROVE_PA_PD_UP" />
 		<set name="operateType" val="A2" />
 		<set name="power" val="80" /> <!-- Base Land Rate -->
 		<set name="pvp" val="true" />
@@ -1924,14 +1929,18 @@
 			<effect name="Debuff" val="0">
 				<mul order="0x30" stat="pDef" val="0.9" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="PD_UP;IMPROVE_PA_PD_UP" rate="100" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 		<enchant2for>
 			<effect name="Debuff" val="0">
 				<mul order="0x30" stat="pDef" val="0.9" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="PD_UP;IMPROVE_PA_PD_UP" rate="100" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</enchant2for>
 	</skill>
@@ -1956,7 +1965,6 @@
 		<set name="magicLvl" val="77" />
 		<set name="mpConsume" val="56" />
 		<set name="mpInitialConsume" val="14" />
-		<set name="negateAbnormals" val="IMPROVE_SPEED_AVOID_UP;SPEED_UP" />
 		<set name="operateType" val="A2" />
 		<set name="power" val="80" /> <!-- Base Land Rate -->
 		<set name="pvp" val="true" />
@@ -1974,14 +1982,18 @@
 			<effect name="Debuff" val="0">
 				<mul order="0x30" stat="runSpd" val="0.9" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="IMPROVE_SPEED_AVOID_UP;SPEED_UP" rate="100" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 		<enchant2for>
 			<effect name="Debuff" val="0">
 				<mul order="0x30" stat="runSpd" val="0.9" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="IMPROVE_SPEED_AVOID_UP;SPEED_UP" rate="100" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</enchant2for>
 	</skill>
@@ -2005,7 +2017,6 @@
 		<set name="magicLvl" val="77" />
 		<set name="mpConsume" val="84" />
 		<set name="mpInitialConsume" val="21" />
-		<set name="negateAbnormals" val="IMPROVE_PA_PD_UP;PD_UP" />
 		<set name="operateType" val="A2" />
 		<set name="power" val="40" /> <!-- Base Land Rate -->
 		<set name="pvp" val="true" />
@@ -2023,7 +2034,9 @@
 			<effect name="Debuff" val="0">
 				<mul order="0x30" stat="pDef" val="0.9" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="IMPROVE_PA_PD_UP;PD_UP" rate="100" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -2047,7 +2060,6 @@
 		<set name="magicLvl" val="78" />
 		<set name="mpConsume" val="85" />
 		<set name="mpInitialConsume" val="22" />
-		<set name="negateAbnormals" val="IMPROVE_SPEED_AVOID_UP;SPEED_UP" />
 		<set name="operateType" val="A2" />
 		<set name="power" val="40" /> <!-- Base Land Rate -->
 		<set name="pvp" val="true" />
@@ -2065,7 +2077,9 @@
 			<effect name="Debuff" val="0">
 				<mul order="0x30" stat="runSpd" val="0.9" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="IMPROVE_SPEED_AVOID_UP;SPEED_UP" rate="100" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -2203,7 +2217,6 @@
 		<set name="magicLvl" val="77" />
 		<set name="mpConsume" val="224" />
 		<set name="mpInitialConsume" val="56" />
-		<set name="negateAbnormals" val="HIT_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="5000" />
 		<set name="skillType" val="BUFF" />
@@ -2218,7 +2231,9 @@
 				<add order="0x40" stat="accCombat" val="4" />
 				<mul order="0x30" stat="critDamEvas" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="HIT_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 		<enchant1for>
@@ -2226,7 +2241,9 @@
 				<add order="0x40" stat="accCombat" val="4" />
 				<mul order="0x30" stat="critDamEvas" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="HIT_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</enchant1for>
 	</skill>
@@ -2249,7 +2266,6 @@
 		<set name="magicLvl" val="77" />
 		<set name="mpConsume" val="224" />
 		<set name="mpInitialConsume" val="56" />
-		<set name="negateAbnormals" val="MA_UP,9;MD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="5000" />
 		<set name="skillType" val="BUFF" />
@@ -2264,7 +2280,9 @@
 				<mul order="0x30" stat="mAtk" val="1.75" />
 				<mul order="0x30" stat="mDef" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MA_UP,9;MD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 		<enchant1for>
@@ -2272,7 +2290,9 @@
 				<mul order="0x30" stat="mAtk" val="1.75" />
 				<mul order="0x30" stat="mDef" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MA_UP,9;MD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</enchant1for>
 	</skill>

+ 39 - 27
L2J_DataPack_BETA/dist/game/data/stats/skills/01400-01499.xml

@@ -107,8 +107,8 @@
 		<table name="#ench2MpConsume"> 187 184 180 177 174 171 168 165 161 158 155 152 149 145 142 139 136 133 130 126 123 120 117 114 111 107 104 101 98 95 </table>
 		<table name="#ench2mpInitialConsume"> 46 46 45 44 43 42 42 41 40 39 38 38 37 36 35 34 34 33 32 31 30 30 29 28 27 26 26 25 24 23 </table>
 		<table name="#ench34amount"> 1174 1178 1183 1187 1191 1196 1200 1204 1209 1213 1218 1222 1226 1231 1235 1239 1244 1248 1252 1257 1261 1266 1270 1274 1279 1283 1287 1292 1296 1301 </table>
-		<table name="#ench3negateAbnormals"> POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,9 </table>
-		<table name="#ench4negateAbnormals"> BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,9 </table>
+		<table name="#ench3dispelAbnormals"> POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,8 POISON,9 </table>
+		<table name="#ench4dispelAbnormals"> BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,8 BLEEDING,9 </table>
 		<table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
 		<set name="affectRange" val="1000" />
 		<set name="aggroPoints" val="#aggro" />
@@ -126,9 +126,7 @@
 		<enchant2 name="mpConsume" val="#ench2MpConsume" />
 		<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
-		<enchant3 name="negateAbnormals" val="#ench3negateAbnormals" />
 		<enchant4 name="magicLvl" val="#enchMagicLvl" />
-		<enchant4 name="negateAbnormals" val="#ench4negateAbnormals" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
 		</for>
@@ -137,11 +135,15 @@
 		</enchant1for>
 		<enchant3for>
 			<effect name="Heal" noicon="1" val="#ench34amount" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#ench3dispelAbnormals" />
+			</effect>
 		</enchant3for>
 		<enchant4for>
 			<effect name="Heal" noicon="1" val="#ench34amount" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#ench4dispelAbnormals" />
+			</effect>
 		</enchant4for>
 	</skill>
 	<skill id="1403" levels="1" name="Summon Friend">
@@ -306,14 +308,15 @@
 		<set name="itemConsumeCount" val="1" />
 		<set name="itemConsumeId" val="8874" />
 		<set name="magicLvl" val="78" />
-		<set name="maxNegated" val="10" />
 		<set name="mpConsume" val="46" />
 		<set name="mpInitialConsume" val="12" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="10" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1410" levels="1" name="Salvation">
@@ -822,7 +825,6 @@
 		<set name="itemConsumeCount" val="1" />
 		<set name="itemConsumeId" val="8876" />
 		<set name="magicLvl" val="80" />
-		<set name="maxNegated" val="10" />
 		<set name="mpConsume" val="70" />
 		<set name="mpInitialConsume" val="70" />
 		<set name="operateType" val="A1" />
@@ -833,7 +835,9 @@
 			<player olympiad="false" />
 		</cond>
 		<for>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="10" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1426" levels="1" name="Miracle">
@@ -1295,17 +1299,17 @@
 		<set name="hitTime" val="1200" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="#maxNegated" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="25" /> <!-- Base Land Rate -->
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="15000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="StealAbnormal" noicon="1" val="0" />
+			<effect name="StealAbnormal" noicon="1" val="0">
+				<param slot="buff" rate="25" max="#maxNegated" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1441" levels="3" name="Soul to Empower">
@@ -1747,7 +1751,6 @@
 		<set name="magicLvl" val="79" />
 		<set name="mpConsume" val="80" />
 		<set name="mpInitialConsume" val="28" />
-		<set name="negateAbnormals" val="MULTI_DEBUFF_FIRE,9" />
 		<set name="offensive" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="power" val="195" />
@@ -1765,7 +1768,9 @@
 		</cond>
 		<for>
 			<effect name="MagicalAttack" noicon="1" val="0" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MULTI_DEBUFF_FIRE,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1452" levels="1" name="Count of Fire" enchantGroup1="6" enchantGroup2="6" enchantGroup3="6">
@@ -1822,7 +1827,6 @@
 		<set name="magicLvl" val="79" />
 		<set name="mpConsume" val="80" />
 		<set name="mpInitialConsume" val="28" />
-		<set name="negateAbnormals" val="MULTI_DEBUFF_WATER,9" />
 		<set name="offensive" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="power" val="195" />
@@ -1840,7 +1844,9 @@
 		</cond>
 		<for>
 			<effect name="MagicalAttack" noicon="1" val="0" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MULTI_DEBUFF_WATER,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1454" levels="1" name="Diamond Dust" enchantGroup1="6" enchantGroup2="6" enchantGroup3="6">
@@ -1931,7 +1937,6 @@
 		<set name="magicLvl" val="79" />
 		<set name="mpConsume" val="80" />
 		<set name="mpInitialConsume" val="28" />
-		<set name="negateAbnormals" val="MULTI_DEBUFF_WIND,9" />
 		<set name="offensive" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="power" val="195" />
@@ -1949,7 +1954,9 @@
 		</cond>
 		<for>
 			<effect name="MagicalAttack" noicon="1" val="0" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MULTI_DEBUFF_WIND,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1457" levels="1" name="Empowering Echo" enchantGroup1="5" enchantGroup2="5">
@@ -2452,10 +2459,10 @@
 	<skill id="1475" levels="3" name="Erase Mark">
 		<!-- Confirmed CT2.5 -->
 		<table name="#aggro"> 235 438 611 </table>
+		<table name="#dispelAbnormals"> DEATH_MARK,3 DEATH_MARK,7 DEATH_MARK,10 </table>
 		<table name="#magicLvl"> 24 46 66 </table>
 		<table name="#mpConsume"> 12 23 35 </table>
 		<table name="#mpInitialConsume"> 3 6 9 </table>
-		<table name="#negateAbnormals"> DEATH_MARK,3 DEATH_MARK,7 DEATH_MARK,10 </table>
 		<set name="aggroPoints" val="#aggro" />
 		<set name="castRange" val="600" />
 		<set name="effectRange" val="1100" />
@@ -2464,12 +2471,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="4000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1476" levels="3" name="Appetite for Destruction" enchantGroup1="1" enchantGroup2="1" enchantGroup3="1">
@@ -3029,7 +3037,6 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
-		<set name="negateAbnormals" val="LIFE_FORCE_KAMAEL,9" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="15000" />
 		<set name="targetType" val="ONE" />
@@ -3039,11 +3046,15 @@
 		</cond>
 		<for>
 			<effect name="HealPercent" noicon="1" val="#amount" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="LIFE_FORCE_KAMAEL,9" />
+			</effect>
 		</for>
 		<enchant1for>
 			<effect name="HealPercent" noicon="1" val="#ench1amount" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="LIFE_FORCE_KAMAEL,9" />
+			</effect>
 		</enchant1for>
 	</skill>
 	<skill id="1489" levels="1" name="Summoner Ability - Resist Attribute">
@@ -3226,7 +3237,6 @@
 		<set name="magicLvl" val="70" />
 		<set name="mpConsume" val="21" />
 		<set name="mpInitialConsume" val="6" />
-		<set name="negateAbnormals" val="PA_UP,9;PD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -3236,7 +3246,9 @@
 				<mul order="0x30" stat="pAtk" val="1.15" />
 				<mul order="0x30" stat="pDef" val="1.15" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="PA_UP,9;PD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>

+ 57 - 39
L2J_DataPack_BETA/dist/game/data/stats/skills/01500-01599.xml

@@ -14,7 +14,6 @@
 		<set name="magicLvl" val="74" />
 		<set name="mpConsume" val="22" />
 		<set name="mpInitialConsume" val="6" />
-		<set name="negateAbnormals" val="MA_UP,9;MD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -24,7 +23,9 @@
 				<mul order="0x30" stat="mAtk" val="1.75" />
 				<mul order="0x30" stat="mDef" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MA_UP,9;MD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -42,7 +43,6 @@
 		<set name="magicLvl" val="72" />
 		<set name="mpConsume" val="22" />
 		<set name="mpInitialConsume" val="6" />
-		<set name="negateAbnormals" val="MAX_HP_UP,9;MAX_MP_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -52,7 +52,9 @@
 				<mul order="0x30" stat="maxHp" val="1.35" />
 				<mul order="0x30" stat="maxMp" val="1.35" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MAX_HP_UP,9;MAX_MP_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -70,7 +72,6 @@
 		<set name="magicLvl" val="74" />
 		<set name="mpConsume" val="22" />
 		<set name="mpInitialConsume" val="6" />
-		<set name="negateAbnormals" val="CRITICAL_PROB_UP,9;CRITICAL_DMG_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -80,7 +81,9 @@
 				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="CRITICAL_PROB_UP,9;CRITICAL_DMG_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -98,7 +101,6 @@
 		<set name="magicLvl" val="70" />
 		<set name="mpConsume" val="21" />
 		<set name="mpInitialConsume" val="6" />
-		<set name="negateAbnormals" val="SHIELD_PROB_UP,9;SHIELD_DEFENCE_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -108,7 +110,9 @@
 				<mul order="0x30" stat="rShld" val="1.3" />
 				<mul order="0x30" stat="sDef" val="1.5" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SHIELD_PROB_UP,9;SHIELD_DEFENCE_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -126,7 +130,6 @@
 		<set name="magicLvl" val="72" />
 		<set name="mpConsume" val="22" />
 		<set name="mpInitialConsume" val="6" />
-		<set name="negateAbnormals" val="SPEED_UP,9;AVOID_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -136,7 +139,9 @@
 				<add order="0x40" stat="runSpd" val="33" />
 				<add order="0x40" stat="rEvas" val="4" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SPEED_UP,9;AVOID_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -173,7 +178,6 @@
 		<set name="hitTime" val="3000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="81" />
-		<set name="maxNegated" val="10" />
 		<set name="mpConsume" val="58" />
 		<set name="mpInitialConsume" val="15" />
 		<set name="operateType" val="A1" />
@@ -188,7 +192,9 @@
 			<effect name="CpHeal" noicon="1" val="9000" />
 			<effect name="HealPercent" noicon="1" val="100" />
 			<effect name="ManaHealPercent" noicon="1" val="100" />
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="40" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="40" max="10" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1507" levels="1" name="Lord of Vampire">
@@ -277,7 +283,6 @@
 		<set name="effectRange" val="1100" />
 		<set name="hitTime" val="2000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
-		<set name="maxNegated" val="3" />
 		<set name="mpConsume" val="25" />
 		<set name="mpInitialConsume" val="7" />
 		<set name="operateType" val="A1" />
@@ -287,7 +292,9 @@
 			<target races="Kamael" />
 		</cond>
 		<for>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="3" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1511" levels="8" name="Curse of Life Flow" enchantGroup1="1" enchantGroup2="1">
@@ -398,7 +405,6 @@
 		<set name="magicLvl" val="79" />
 		<set name="mpConsume" val="68" />
 		<set name="mpInitialConsume" val="17" />
-		<set name="negateAbnormals" val="MULTI_DEBUFF_SOUL,9" />
 		<set name="offensive" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="power" val="195" />
@@ -417,7 +423,9 @@
 		</cond>
 		<for>
 			<effect name="MagicalSoulAttack" noicon="1" val="0" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MULTI_DEBUFF_SOUL,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1514" levels="1" name="Soul Barrier" enchantGroup1="1" enchantGroup2="1">
@@ -544,7 +552,6 @@
 		<set name="magicLvl" val="70" />
 		<set name="mpConsume" val="52" />
 		<set name="mpInitialConsume" val="17" />
-		<set name="negateAbnormals" val="PA_UP,9;PD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -554,7 +561,9 @@
 				<mul order="0x30" stat="pAtk" val="1.15" />
 				<mul order="0x30" stat="pDef" val="1.15" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="PA_UP,9;PD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -571,7 +580,6 @@
 		<set name="magicLvl" val="72" />
 		<set name="mpConsume" val="53" />
 		<set name="mpInitialConsume" val="14" />
-		<set name="negateAbnormals" val="CRITICAL_PROB_UP,9;CRITICAL_DMG_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -581,7 +589,9 @@
 				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="CRITICAL_PROB_UP,9;CRITICAL_DMG_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -598,7 +608,6 @@
 		<set name="magicLvl" val="74" />
 		<set name="mpConsume" val="55" />
 		<set name="mpInitialConsume" val="14" />
-		<set name="negateAbnormals" val="VAMPIRIC_ATTACK,9;ATTACK_TIME_DOWN,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -608,7 +617,9 @@
 				<add order="0x40" stat="absorbDam" val="9" /> <!-- absorb 9% HP from damage inflicted on enemies -->
 				<mul order="0x30" stat="pAtkSpd" val="1.33" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="VAMPIRIC_ATTACK,9;ATTACK_TIME_DOWN,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1012,7 +1023,6 @@
 		<set name="magicLvl" val="72" />
 		<set name="mpConsume" val="55" />
 		<set name="mpInitialConsume" val="14" />
-		<set name="negateAbnormals" val="SPEED_UP,9;AVOID_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1022,7 +1032,9 @@
 				<add order="0x40" stat="runSpd" val="33" />
 				<add order="0x40" stat="rEvas" val="4" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SPEED_UP,9;AVOID_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1040,7 +1052,6 @@
 		<set name="magicLvl" val="70" />
 		<set name="mpConsume" val="217" />
 		<set name="mpInitialConsume" val="55" />
-		<set name="negateAbnormals" val="PA_UP,9;PD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1050,7 +1061,9 @@
 				<mul order="0x30" stat="pAtk" val="1.15" />
 				<mul order="0x30" stat="pDef" val="1.15" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="PA_UP,9;PD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1068,7 +1081,6 @@
 		<set name="magicLvl" val="74" />
 		<set name="mpConsume" val="217" />
 		<set name="mpInitialConsume" val="55" />
-		<set name="negateAbnormals" val="CRITICAL_PROB_UP,9;CRITICAL_DMG_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1078,7 +1090,9 @@
 				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="CRITICAL_PROB_UP,9;CRITICAL_DMG_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1096,7 +1110,6 @@
 		<set name="magicLvl" val="72" />
 		<set name="mpConsume" val="217" />
 		<set name="mpInitialConsume" val="55" />
-		<set name="negateAbnormals" val="MAX_HP_UP,9;MAX_MP_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1106,7 +1119,9 @@
 				<mul order="0x30" stat="maxHp" val="1.35" />
 				<mul order="0x30" stat="maxMp" val="1.35" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MAX_HP_UP,9;MAX_MP_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1449,12 +1464,13 @@
 		<set name="magicLvl" val="76" />
 		<set name="mpConsume" val="67" />
 		<set name="mpInitialConsume" val="16" />
-		<set name="negateAbnormals" val="POISON,9" />
-		<set name="operateType" val="A1" /> <!-- FIXME: value unconfirmed -->
+		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="15000" />
 		<set name="targetType" val="PARTY" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="POISON,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1551" levels="1" name="Mass Purify">
@@ -1466,12 +1482,13 @@
 		<set name="magicLvl" val="76" />
 		<set name="mpConsume" val="67" />
 		<set name="mpInitialConsume" val="16" />
-		<set name="negateAbnormals" val="POISON,9;BLEEDING,9;PARALYZE,1;TURN_STONE,1" />
-		<set name="operateType" val="A1" /> <!-- FIXME: value unconfirmed -->
+		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="9000" />
 		<set name="targetType" val="PARTY" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="POISON,9;BLEEDING,9;PARALYZE,1;TURN_STONE,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1552" levels="1" name="Mass Vitalize">
@@ -1483,13 +1500,14 @@
 		<set name="magicLvl" val="76" />
 		<set name="mpConsume" val="155" />
 		<set name="mpInitialConsume" val="38" />
-		<set name="negateAbnormals" val="POISON,9;BLEEDING,9" />
-		<set name="operateType" val="A1" /> <!-- FIXME: value unconfirmed -->
+		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="9000" />
 		<set name="targetType" val="PARTY" />
 		<for>
 			<effect name="Heal" noicon="1" val="796" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="POISON,9;BLEEDING,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="1553" levels="1" name="Chain Heal">

+ 15 - 10
L2J_DataPack_BETA/dist/game/data/stats/skills/02000-02099.xml

@@ -439,41 +439,45 @@
 	<skill id="2042" levels="1" name="Antidote">
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="negateAbnormals" val="POISON,3" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="POISON,3" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2043" levels="1" name="Greater Antidote">
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="negateAbnormals" val="POISON,7" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="POISON,7" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2044" levels="1" name="Bandage">
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="negateAbnormals" val="BLEEDING,3" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="BLEEDING,3" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2045" levels="1" name="Emergency Dressing">
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="negateAbnormals" val="BLEEDING,7" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="BLEEDING,7" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2046" levels="2" name="Wolf's Necklace">
@@ -677,11 +681,12 @@
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
 		<set name="magicLvl" val="1" />
-		<set name="negateAbnormals" val="FATAL_POISON,1" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="FATAL_POISON,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2061" levels="1" name="Blessed Spiritshot: No Grade">

+ 3 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/02100-02199.xml

@@ -852,11 +852,12 @@
 		<set name="effectRange" val="600" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="negateAbnormals" val="SLEEP,1" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SLEEP,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2171" levels="1" name="Spellbook Paper">

+ 6 - 4
L2J_DataPack_BETA/dist/game/data/stats/skills/02200-02299.xml

@@ -687,12 +687,13 @@
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
 		<set name="magicLvl" val="75" />
-		<set name="negateAbnormals" val="DRAGON_BREATH,1" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="10000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="DRAGON_BREATH,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2234" levels="1" name="Soul Breaking Arrow">
@@ -1461,11 +1462,12 @@
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
 		<set name="magicLvl" val="1" />
-		<set name="negateAbnormals" val="FISHING_MASTERY_DOWN,1" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="FISHING_MASTERY_DOWN,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2276" levels="1" name="Dewdrop of Destruction">

+ 3 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/02300-02399.xml

@@ -106,14 +106,15 @@
 		<!-- Confirmed CT2.5 -->
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="magicLvl" val="1" />
-		<set name="negateAbnormals" val="TURN_STONE,99" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="1902">
 			<player levelRange="61;85" />
 		</cond>
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="TURN_STONE" rate="99" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2308" levels="36" name="Event Item">

+ 6 - 4
L2J_DataPack_BETA/dist/game/data/stats/skills/02500-02599.xml

@@ -1404,22 +1404,24 @@
 		<!-- Confirmed CT2.5 -->
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="1" />
-		<set name="negateAbnormals" val="POISON,9" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="POISON,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2579" levels="1" name="Cure Death Clock">
 		<!-- Confirmed CT2.5 -->
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="1" />
-		<set name="negateAbnormals" val="DEATH_CLACK,1" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="DEATH_CLACK,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="2580" levels="1" name="Vitality Replenishing Herb">

+ 21 - 14
L2J_DataPack_BETA/dist/game/data/stats/skills/03200-03299.xml

@@ -1233,12 +1233,13 @@
 		<set name="magicLvl" val="55" />
 		<set name="mpConsume" val="40" />
 		<set name="mpInitialConsume" val="10" />
-		<set name="negateAbnormals" val="BLEEDING,9" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="360000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="BLEEDING,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="3287" levels="1" name="Black Talisman of Physical Freedom">
@@ -1249,12 +1250,13 @@
 		<set name="magicLvl" val="55" />
 		<set name="mpConsume" val="40" />
 		<set name="mpInitialConsume" val="10" />
-		<set name="negateAbnormals" val="ROOT_PHYSICALLY,9" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="360000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="ROOT_PHYSICALLY,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="3288" levels="1" name="Black Talisman of Arcane Freedom">
@@ -1265,12 +1267,13 @@
 		<set name="magicLvl" val="55" />
 		<set name="mpConsume" val="40" />
 		<set name="mpInitialConsume" val="10" />
-		<set name="negateAbnormals" val="ROOT_MAGICALLY,9" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="360000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="ROOT_MAGICALLY,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="3289" levels="1" name="Black Talisman - Escape">
@@ -1281,12 +1284,13 @@
 		<set name="magicLvl" val="55" />
 		<set name="mpConsume" val="40" />
 		<set name="mpInitialConsume" val="10" />
-		<set name="negateAbnormals" val="ROOT_PHYSICALLY,3;ROOT_MAGICALLY,3" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="360000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="ROOT_PHYSICALLY,3;ROOT_MAGICALLY,3" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="3290" levels="1" name="Black Talisman of Rescue">
@@ -1297,12 +1301,13 @@
 		<set name="magicLvl" val="55" />
 		<set name="mpConsume" val="40" />
 		<set name="mpInitialConsume" val="10" />
-		<set name="negateAbnormals" val="SILENCE_PHYSICAL,9" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="360000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SILENCE_PHYSICAL,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="3291" levels="1" name="Black Talisman of Vocalization">
@@ -1313,12 +1318,13 @@
 		<set name="magicLvl" val="55" />
 		<set name="mpConsume" val="40" />
 		<set name="mpInitialConsume" val="10" />
-		<set name="negateAbnormals" val="SILENCE,9" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="360000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SILENCE,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="3292" levels="1" name="Black Talisman of Free Speech">
@@ -1329,12 +1335,13 @@
 		<set name="magicLvl" val="55" />
 		<set name="mpConsume" val="40" />
 		<set name="mpInitialConsume" val="10" />
-		<set name="negateAbnormals" val="SILENCE_ALL,9" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="360000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SILENCE_ALL,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="3293" levels="1" name="Yellow Talisman of Power">

+ 3 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml

@@ -393,13 +393,14 @@
 		<set name="aggroPoints" val="1" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="56" />
-		<set name="negateAbnormals" val="BIG_HEAD,9" />
 		<set name="operateType" val="A2" />
 		<set name="skillType" val="BUFF" />
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Transformation" val="103" />
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="BIG_HEAD,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="3337" levels="1" name="Transform Cutie Pig">

+ 3 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/03400-03499.xml

@@ -1057,11 +1057,12 @@
 		<set name="aggroPoints" val="10" />
 		<set name="hitTime" val="2500" />
 		<set name="magicLvl" val="56" />
-		<set name="negateAbnormals" val="TRANSFORM,9" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="TRANSFORM,9" />
+			</effect>
 		</for>
 	</skill>
 </list>

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/stats/skills/03500-03599.xml

@@ -1077,12 +1077,12 @@
 		<!-- Infinity Spear Skill -->
 		<set name="magicLvl" val="80" />
 		<set name="operateType" val="A1" />
-		<!-- NOTE: Number of buffs canceled have been reduced to 2 in H5 -->
-		<set name="maxNegated" val="2" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<!-- NOTE: The Cancel effect have been reduced in H5, value unconfirmed -->
-			<effect name="Cancel" noicon="1" val="0" effectPower="5" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="5" max="2" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="3593" levels="1" name="Special Ability: Infinity Bow">

+ 2 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml

@@ -1417,6 +1417,7 @@
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="4200" />
 		<set name="abnormalType" val="FATAL_POISON" />
+		<set name="canBeDispeled" val="false" />
 		<set name="castRange" val="600" />
 		<set name="effectRange" val="1100" />
 		<set name="isDebuff" val="true" />
@@ -1636,7 +1637,7 @@
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="CancelAll" noicon="1" val="0" />
+			<effect name="DispelAll" noicon="1" val="0" />
 		</for>
 	</skill>
 	<skill id="4095" levels="1" name="Damage Shield">

+ 2 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/04100-04199.xml

@@ -961,7 +961,7 @@
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="CancelAll" noicon="1" val="0" />
+			<effect name="DispelAll" noicon="1" val="0" />
 		</for>
 	</skill>
 	<skill id="4148" levels="12" name="Poison">
@@ -1601,7 +1601,7 @@
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="AURA" />
 		<for>
-			<effect name="CancelAll" noicon="1" val="0" />
+			<effect name="DispelAll" noicon="1" val="0" />
 		</for>
 	</skill>
 	<skill id="4178" levels="12" name="BOSS Flame Strike">

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/04300-04399.xml

@@ -467,7 +467,7 @@
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="AREA" />
 		<for>
-			<effect name="CancelAll" noicon="1" val="0" />
+			<effect name="DispelAll" noicon="1" val="0" />
 		</for>
 	</skill>
 	<skill id="4335" levels="1" name="Sacred Attack">

+ 12 - 8
L2J_DataPack_BETA/dist/game/data/stats/skills/04500-04599.xml

@@ -615,11 +615,12 @@
 		<set name="effectRange" val="1500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="magicLvl" val="99" />
-		<set name="negateAbnormals" val="WATCHER_GAZE,1" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="WATCHER_GAZE,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4549" levels="1" name="Quest - Unsealed Altar">
@@ -765,11 +766,12 @@
 		<set name="magicLvl" val="75" />
 		<set name="mpConsume" val="55" />
 		<set name="mpInitialConsume" val="14" />
-		<set name="negateAbnormals" val="SPA_DISEASE_A,10;SPA_DISEASE_D,10" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SPA_DISEASE_A,10;SPA_DISEASE_D,10" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4557" levels="1" name="Dispel Hot Spring Disease B_D">
@@ -781,11 +783,12 @@
 		<set name="magicLvl" val="75" />
 		<set name="mpConsume" val="55" />
 		<set name="mpInitialConsume" val="14" />
-		<set name="negateAbnormals" val="SPA_DISEASE_B,10;SPA_DISEASE_D,10" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SPA_DISEASE_B,10;SPA_DISEASE_D,10" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4558" levels="1" name="Dispel Hot Spring Disease C_D">
@@ -797,11 +800,12 @@
 		<set name="magicLvl" val="75" />
 		<set name="mpConsume" val="55" />
 		<set name="mpInitialConsume" val="14" />
-		<set name="negateAbnormals" val="SPA_DISEASE_C,10;SPA_DISEASE_D,10" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SPA_DISEASE_C,10;SPA_DISEASE_D,10" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4559" levels="1" name="Hot Spring Illusion">

+ 37 - 25
L2J_DataPack_BETA/dist/game/data/stats/skills/04600-04699.xml

@@ -435,11 +435,12 @@
 		<set name="magicLvl" val="80" />
 		<set name="mpConsume" val="58" />
 		<set name="mpInitialConsume" val="15" />
-		<set name="negateAbnormals" val="TURN_STONE,2" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="TURN_STONE,2" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4618" levels="1" name="NPC Cancel PC Target">
@@ -464,12 +465,13 @@
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="40" />
 		<set name="mpConsume" val="35" />
-		<set name="negateAbnormals" val="SLEEP,1" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SLEEP,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4620" levels="12" name="Paralysis">
@@ -1195,28 +1197,30 @@
 		<set name="magicLvl" val="40" />
 		<set name="mpConsume" val="42" />
 		<set name="mpInitialConsume" val="11" />
-		<set name="negateAbnormals" val="ROOT_MAGICALLY,1" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="AURA" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="ROOT_MAGICALLY,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4651" levels="3" name="NPC AE - Dispel Slow">
+		<table name="#dispelAbnormals"> SPEED_DOWN,1 SPEED_DOWN,2 SPEED_DOWN,3 </table>
 		<table name="#magicLvl"> 20 40 60 </table>
 		<table name="#mpConsume"> 23 42 66 </table>
 		<table name="#mpInitialConsume"> 6 11 17 </table>
-		<table name="#negateAbnormals"> SPEED_DOWN,1 SPEED_DOWN,2 SPEED_DOWN,3 </table>
 		<set name="affectRange" val="200" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
-		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="AURA" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="#dispelAbnormals" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4652" levels="1" name="NPC AE - Dispel Silence">
@@ -1225,11 +1229,12 @@
 		<set name="magicLvl" val="40" />
 		<set name="mpConsume" val="42" />
 		<set name="mpInitialConsume" val="11" />
-		<set name="negateAbnormals" val="SILENCE,1" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="AURA" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SILENCE,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4653" levels="12" name="NPC Corpse Life Drain">
@@ -1679,14 +1684,15 @@
 		<set name="hitTime" val="2000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="-1" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="#power" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="PA_UP;BERSERKER;MA_UP;ATTACK_TIME_DOWN;DANCE_OF_FURY;SONG_OF_HUNTER" rate="#power" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4674" levels="12" name="NPC Dispel Defensive Buff">
@@ -1698,14 +1704,15 @@
 		<set name="hitTime" val="2000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="-1" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="#power" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="PD_UP;MAX_HP_UP;SPEED_UP;CASTING_TIME_DOWN;SONG_OF_EARTH;DANCE_OF_FIRE" rate="#power" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4675" levels="12" name="NPC Dispel Fighter Buff">
@@ -1717,14 +1724,15 @@
 		<set name="hitTime" val="2000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="-1" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="#power" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="HIT_UP;CRITICAL_PROB_UP;CRITICAL_DMG_UP;ATTACK_TIME_DOWN" rate="#power" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4676" levels="12" name="NPC Dispel Mage Offensive Buff">
@@ -1736,14 +1744,15 @@
 		<set name="hitTime" val="2000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="-1" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="#power" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="MA_UP;BERSERKER;CASTING_TIME_DOWN;MAX_MP_UP" rate="#power" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4677" levels="12" name="NPC Dispel Fighter Defensive Buff">
@@ -1755,14 +1764,15 @@
 		<set name="hitTime" val="2000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="-1" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="#power" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="MAX_HP_UP;SHIELD_PROB_UP;VAMPIRIC_ATTACK;MD_UP" rate="#power" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4678" levels="12" name="NPC Dispel Mage Defensive Buff">
@@ -1774,14 +1784,15 @@
 		<set name="hitTime" val="2000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="-1" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="#power" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="RESIST_DERANGEMENT;MAX_HP_UP;CANCEL_PROB_DOWN;SPEED_UP" rate="#power" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4679" levels="1" name="Valakas">
@@ -2073,11 +2084,12 @@
 		<set name="aggroPoints" val="100" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="76" />
-		<set name="negateAbnormals" val="BIG_BODY,1" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="BIG_BODY,1" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4694" levels="1" name="Ultimate Debuff">

+ 6 - 4
L2J_DataPack_BETA/dist/game/data/stats/skills/04700-04799.xml

@@ -40,12 +40,13 @@
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
-		<set name="negateAbnormals" val="ATTACK_TIME_UP;HIT_DOWN;PA_DOWN" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="PARTY" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="#power" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="ATTACK_TIME_UP;HIT_DOWN;PA_DOWN" rate="#power" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4702" levels="13" name="Blessing of Seraphim">
@@ -113,12 +114,13 @@
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
-		<set name="negateAbnormals" val="SLEEP;ROOT_MAGICALLY;STUN;PARALYZE;SILENCE" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
 		<set name="targetType" val="PARTY" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="#power" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="SLEEP;ROOT_MAGICALLY;STUN;PARALYZE;SILENCE" rate="#power" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4705" levels="13" name="Curse of Shade">

+ 6 - 5
L2J_DataPack_BETA/dist/game/data/stats/skills/05000-05099.xml

@@ -140,7 +140,6 @@
 		<table name="#aggroPoints"> 100 100 100 0 0 </table>
 		<table name="#attackAndSpeed"> 1 1 1.2 1 1 </table>
 		<table name="#effectname1"> Buff Buff Buff Buff Stun </table>
-		<table name="#effectname2"> Buff Buff Buff Buff Cancel </table>
 		<table name="#effectPower"> 0 0 0 0 20 </table>
 		<table name="#healEffect"> 1 1 1 0.5 1 </table>
 		<table name="#healPercent"> 3 0 0 0 0 </table>
@@ -159,7 +158,6 @@
 		<set name="isMagic" val="#isMagic" />
 		<set name="lvlBonusRate" val="#lvlDepend" />
 		<set name="magicLvl" val="85" />
-		<set name="maxNegated" val="#maxNegated" />
 		<set name="operateType" val="A1" />
 		<set name="power" val="#power" />
 		<set name="saveVs" val="MEN" />
@@ -175,7 +173,9 @@
 				<add order="0x40" stat="runSpd" val="#attackAndSpeed" />
 				<mul order="0x30" stat="healEffect" val="#healEffect" />
 			</effect>
-			<effect name="#effectname2" noicon="1" val="0" effectPower="#effectPower" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="#effectPower" max="#maxNegated" />
+			</effect>
 			<effect name="HealPercent" noicon="1" val="#healPercent" />
 		</for>
 	</skill>
@@ -601,7 +601,6 @@
 		<set name="affectRange" val="150" />
 		<set name="aggroPoints" val="100" />
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="20" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="offensive" val="true" />
 		<set name="operateType" val="A1" />
@@ -609,7 +608,9 @@
 		<set name="targetType" val="AURA" />
 		<for>
 			<effect name="MagicalAttack" noicon="1" val="0" />
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="20" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="5043" levels="12" name="NPC Super Sonic Blaster">

+ 6 - 4
L2J_DataPack_BETA/dist/game/data/stats/skills/05100-05199.xml

@@ -195,14 +195,15 @@
 		<set name="aggroPoints" val="100" />
 		<set name="hitTime" val="6000" />
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="5" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="6000" />
 		<set name="targetType" val="AURA" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="5" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="5114" levels="12" name="Hold">
@@ -298,13 +299,14 @@
 		<set name="hitTime" val="2500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="magicLvl" val="90" />
-		<set name="maxNegated" val="5" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="6000" />
 		<set name="targetType" val="AURA" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="5" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="5119" levels="1" name="Bleed">

+ 6 - 4
L2J_DataPack_BETA/dist/game/data/stats/skills/05400-05499.xml

@@ -753,12 +753,13 @@
 		<set name="castRange" val="900" />
 		<set name="effectRange" val="1400" />
 		<set name="magicLvl" val="90" />
-		<set name="maxNegated" val="20" />
 		<set name="operateType" val="A2" />
 		<set name="saveVs" val="MEN" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="100" max="20" />
+			</effect>
 			<effect name="Debuff" val="0" effectPower="80">
 				<mul order="0x30" stat="pAtkSpd" val="0.7" />
 				<mul order="0x30" stat="runSpd" val="0.7" />
@@ -933,11 +934,12 @@
 		<set name="hitTime" val="4000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="85" />
-		<set name="negateAbnormals" val="INVINCIBILITY,9" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="INVINCIBILITY,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="5481" levels="1" name="Transform Penalty">

+ 6 - 4
L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml

@@ -400,7 +400,6 @@
 		<set name="isDebuff" val="true" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="lvlBonusRate" val="1" />
-		<set name="maxNegated" val="3" />
 		<set name="operateType" val="A2" />
 		<set name="power" val="100" /> <!-- Base Land Rate -->
 		<set name="pvp" val="true" />
@@ -412,7 +411,9 @@
 				<!-- set order="0x08" stat="buffImmunity" val="1" / TODO: Needs Support -->
 				<sub order="0x40" stat="darkRes" val="50" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="100" max="3" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="5524" levels="1" name="Chain Buff - Resistance to Bow and Magic attacks">
@@ -1289,11 +1290,12 @@
 		<set name="aggroPoints" val="408" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="80" />
-		<set name="maxNegated" val="10" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="10" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="5580" levels="1" name="Divine Beast Bite">

+ 3 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml

@@ -1357,14 +1357,15 @@
 		<set name="isDebuff" val="true" />
 		<set name="isTriggeredSkill" val="true" />
 		<set name="magicLvl" val="80" />
-		<set name="maxNegated" val="3" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="10000" />
 		<set name="staticReuse" val="true" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="3" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="5683" levels="1" name="PvP Weapon - Ignore Shield Defense">

+ 6 - 4
L2J_DataPack_BETA/dist/game/data/stats/skills/06000-06099.xml

@@ -313,14 +313,15 @@
 		<set name="hitTime" val="2500" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="81" />
-		<set name="maxNegated" val="5" />
 		<set name="mpConsume" val="47" />
 		<set name="mpInitialConsume" val="12" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="180000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="5" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="6043" levels="1" name="Phoenix Flame Feather">
@@ -849,14 +850,15 @@
 		<set name="effectRange" val="400" />
 		<set name="hitTime" val="1500" />
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="maxNegated" val="2" />
 		<set name="mpConsume" val="42" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="60000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="2" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="6095" levels="15" name="Panther Dark Claw">

+ 12 - 8
L2J_DataPack_BETA/dist/game/data/stats/skills/06200-06299.xml

@@ -16,7 +16,6 @@
 		<set name="castRange" val="900" />
 		<set name="effectRange" val="1500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="negateAbnormals" val="IMPROVE_SPEED_AVOID_UP;SPEED_UP" />
 		<set name="operateType" val="A2" />
 		<set name="skillType" val="BUFF" />
 		<set name="targetType" val="ONE" />
@@ -26,7 +25,9 @@
 				<add order="0x40" stat="weightPenalty" val="9000" />
 				<add order="0x40" stat="inventoryLimit" val="8" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="IMPROVE_SPEED_AVOID_UP;SPEED_UP" rate="100" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -40,7 +41,6 @@
 		<set name="castRange" val="900" />
 		<set name="effectRange" val="1500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="negateAbnormals" val="IMPROVE_SPEED_AVOID_UP;SPEED_UP" />
 		<set name="operateType" val="A2" />
 		<set name="skillType" val="BUFF" />
 		<set name="targetType" val="ONE" />
@@ -50,7 +50,9 @@
 				<add order="0x40" stat="weightPenalty" val="9000" />
 				<add order="0x40" stat="inventoryLimit" val="8" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="IMPROVE_SPEED_AVOID_UP;SPEED_UP" rate="100" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -64,7 +66,6 @@
 		<set name="castRange" val="900" />
 		<set name="effectRange" val="1500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="negateAbnormals" val="IMPROVE_SPEED_AVOID_UP;SPEED_UP" />
 		<set name="operateType" val="A2" />
 		<set name="skillType" val="BUFF" />
 		<set name="targetType" val="ONE" />
@@ -74,7 +75,9 @@
 				<add order="0x40" stat="weightPenalty" val="9000" />
 				<add order="0x40" stat="inventoryLimit" val="8" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="IMPROVE_SPEED_AVOID_UP;SPEED_UP" rate="100" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -88,7 +91,6 @@
 		<set name="castRange" val="900" />
 		<set name="effectRange" val="1500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="negateAbnormals" val="IMPROVE_SPEED_AVOID_UP;SPEED_UP" />
 		<set name="operateType" val="A2" />
 		<set name="skillType" val="BUFF" />
 		<set name="targetType" val="ONE" />
@@ -98,7 +100,9 @@
 				<add order="0x40" stat="weightPenalty" val="9000" />
 				<add order="0x40" stat="inventoryLimit" val="8" />
 			</effect>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelBySlotProbability" noicon="1" val="0">
+				<param dispel="IMPROVE_SPEED_AVOID_UP;SPEED_UP" rate="100" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>

+ 3 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/06600-06699.xml

@@ -1109,11 +1109,12 @@
 		<set name="affectRange" val="200" />
 		<set name="aggroPoints" val="1" />
 		<set name="magicLvl" val="83" />
-		<set name="negateAbnormals" val="PA_UP,9;PD_UP,9" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="CLAN" /> <!-- FIXME: Aura Friendly ? -->
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="PA_UP,9;PD_UP,9" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="6687" levels="1" name="Patience">

+ 33 - 21
L2J_DataPack_BETA/dist/game/data/stats/skills/07000-07099.xml

@@ -10,12 +10,13 @@
 		<set name="castRange" val="400" />
 		<set name="effectRange" val="900" />
 		<set name="magicLvl" val="99" />
-		<set name="maxNegated" val="20" />
 		<set name="operateType" val="A1" />
 		<set name="pvp" val="true" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="100" max="20" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="7002" levels="1" name="Dispel Debuff">
@@ -23,11 +24,12 @@
 		<set name="castRange" val="400" />
 		<set name="effectRange" val="900" />
 		<set name="magicLvl" val="99" />
-		<set name="maxNegated" val="20" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="20" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="7003" levels="1" name="Dispel All">
@@ -36,12 +38,15 @@
 		<set name="castRange" val="400" />
 		<set name="effectRange" val="900" />
 		<set name="magicLvl" val="99" />
-		<set name="maxNegated" val="20" />
 		<set name="operateType" val="A1" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="100" />
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="100" max="20" />
+			</effect>
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="20" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="7004" levels="2" name="Dispel Petrification">
@@ -49,12 +54,13 @@
 		<set name="aggroPoints" val="566" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="60" />
-		<set name="negateAbnormals" val="TURN_STONE,2" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="10000" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="TURN_STONE,2" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="7005" levels="4" name="Greater Chant of Vampire">
@@ -1119,7 +1125,6 @@
 		<set name="magicLvl" val="70" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="PA_UP,9;PD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1129,7 +1134,9 @@
 				<mul order="0x30" stat="pAtk" val="1.15" />
 				<mul order="0x30" stat="pDef" val="1.15" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="PA_UP,9;PD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1148,7 +1155,6 @@
 		<set name="magicLvl" val="74" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="MA_UP,9;MD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1158,7 +1164,9 @@
 				<mul order="0x30" stat="mAtk" val="1.75" />
 				<mul order="0x30" stat="mDef" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MA_UP,9;MD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1177,7 +1185,6 @@
 		<set name="magicLvl" val="72" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="MAX_HP_UP,9;MAX_MP_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1187,7 +1194,9 @@
 				<mul order="0x30" stat="maxHp" val="1.35" />
 				<mul order="0x30" stat="maxMp" val="1.35" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MAX_HP_UP,9;MAX_MP_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1206,7 +1215,6 @@
 		<set name="magicLvl" val="74" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="CRITICAL_PROB_UP,9;CRITICAL_DMG_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1216,7 +1224,9 @@
 				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="CRITICAL_PROB_UP,9;CRITICAL_DMG_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1235,7 +1245,6 @@
 		<set name="magicLvl" val="70" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="SHIELD_PROB_UP,9;SHIELD_DEFENCE_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1245,7 +1254,9 @@
 				<mul order="0x30" stat="rShld" val="1.3" />
 				<mul order="0x30" stat="sDef" val="1.5" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SHIELD_PROB_UP,9;SHIELD_DEFENCE_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1264,7 +1275,6 @@
 		<set name="magicLvl" val="72" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="SPEED_UP,9;AVOID_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1274,7 +1284,9 @@
 				<add order="0x40" stat="runSpd" val="33" />
 				<add order="0x40" stat="rEvas" val="4" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SPEED_UP,9;AVOID_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>

+ 6 - 5
L2J_DataPack_BETA/dist/game/data/stats/skills/08300-08399.xml

@@ -335,7 +335,6 @@
 		<set name="hitTime" val="4000" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="magicLvl" val="55" />
-		<set name="maxNegated" val="5" />
 		<set name="mpConsume" val="40" />
 		<set name="mpInitialConsume" val="10" />
 		<set name="offensive" val="true" />
@@ -344,7 +343,9 @@
 		<set name="reuseDelay" val="360000" />
 		<set name="targetType" val="AURA" />
 		<for>
-			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="buff" rate="25" max="5" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="8332" levels="1" name="Blue Talisman - Buff Steal">
@@ -354,16 +355,16 @@
 		<set name="hitTime" val="4000" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="magicLvl" val="55" />
-		<set name="maxNegated" val="3" />
 		<set name="mpConsume" val="40" />
 		<set name="mpInitialConsume" val="10" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="25" /> <!-- Base Land Rate -->
 		<set name="pvp" val="true" />
 		<set name="reuseDelay" val="360000" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="StealAbnormal" noicon="1" val="0" />
+			<effect name="StealAbnormal" noicon="1" val="0">
+				<param slot="buff" rate="25" max="3" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="8333" levels="1" name="Red Talisman - Territory Guard">

+ 3 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/23100-23199.xml

@@ -702,7 +702,6 @@
 		<!-- All Debuff is canceled with the power of Phoenix. Cooldown of 4 hours. -->
 		<set name="hitTime" val="2000" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="maxNegated" val="20" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="14400000" />
 		<set name="targetType" val="SELF" />
@@ -710,7 +709,9 @@
 			<player agathionId="1574" />
 		</cond>
 		<for>
-			<effect name="CancelDebuff" noicon="1" val="0" effectPower="100" />
+			<effect name="DispelByCategory" noicon="1" val="0">
+				<param slot="debuff" rate="100" max="20" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="23174" levels="1" name="Narrow Escape from Death">

+ 36 - 24
L2J_DataPack_BETA/dist/game/data/stats/skills/23200-23299.xml

@@ -354,7 +354,6 @@
 		<set name="hitTime" val="2500" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="77" />
-		<set name="negateAbnormals" val="HIT_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="5000" />
 		<set name="skillType" val="BUFF" />
@@ -364,7 +363,9 @@
 				<add order="0x40" stat="accCombat" val="4" />
 				<mul order="0x30" stat="critDamEvas" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="HIT_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -381,7 +382,6 @@
 		<set name="hitTime" val="2500" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="77" />
-		<set name="negateAbnormals" val="MA_UP,9;MD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="5000" />
 		<set name="skillType" val="BUFF" />
@@ -391,7 +391,9 @@
 				<mul order="0x30" stat="mAtk" val="1.75" />
 				<mul order="0x30" stat="mDef" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MA_UP,9;MD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -441,7 +443,6 @@
 		<set name="hitTime" val="1500" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="74" />
-		<set name="negateAbnormals" val="VAMPIRIC_ATTACK,9;ATTACK_TIME_DOWN,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -451,7 +452,9 @@
 				<add order="0x40" stat="absorbDam" val="9" /> <!-- absorb 9% HP from damage inflicted on enemies -->
 				<mul order="0x30" stat="pAtkSpd" val="1.33" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="VAMPIRIC_ATTACK,9;ATTACK_TIME_DOWN,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1122,7 +1125,6 @@
 		<set name="magicLvl" val="70" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="PA_UP,9;PD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1132,7 +1134,9 @@
 				<mul order="0x30" stat="pAtk" val="1.15" />
 				<mul order="0x30" stat="pDef" val="1.15" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="PA_UP,9;PD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1150,7 +1154,6 @@
 		<set name="magicLvl" val="74" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="MA_UP,9;MD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1160,7 +1163,9 @@
 				<mul order="0x30" stat="mAtk" val="1.75" />
 				<mul order="0x30" stat="mDef" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MA_UP,9;MD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1178,7 +1183,6 @@
 		<set name="magicLvl" val="72" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="MAX_HP_UP,9;MAX_MP_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1188,7 +1192,9 @@
 				<mul order="0x30" stat="maxHp" val="1.35" />
 				<mul order="0x30" stat="maxMp" val="1.35" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MAX_HP_UP,9;MAX_MP_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1206,7 +1212,6 @@
 		<set name="magicLvl" val="74" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="CRITICAL_PROB_UP,9;CRITICAL_DMG_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1216,7 +1221,9 @@
 				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="CRITICAL_PROB_UP,9;CRITICAL_DMG_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1234,7 +1241,6 @@
 		<set name="magicLvl" val="70" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="SHIELD_PROB_UP,9;SHIELD_DEFENCE_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1244,7 +1250,9 @@
 				<mul order="0x30" stat="rShld" val="1.3" />
 				<mul order="0x30" stat="sDef" val="1.5" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SHIELD_PROB_UP,9;SHIELD_DEFENCE_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1262,7 +1270,6 @@
 		<set name="magicLvl" val="72" />
 		<set name="mpConsume" val="1" />
 		<set name="mpInitialConsume" val="1" />
-		<set name="negateAbnormals" val="SPEED_UP,9;AVOID_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1272,7 +1279,9 @@
 				<add order="0x40" stat="runSpd" val="33" />
 				<add order="0x40" stat="rEvas" val="4" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="SPEED_UP,9;AVOID_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1347,7 +1356,6 @@
 		<set name="hitTime" val="500" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="77" />
-		<set name="negateAbnormals" val="HIT_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="5000" />
 		<set name="skillType" val="BUFF" />
@@ -1357,7 +1365,9 @@
 				<add order="0x40" stat="accCombat" val="4" />
 				<mul order="0x30" stat="critDamEvas" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="HIT_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1373,7 +1383,6 @@
 		<set name="hitTime" val="500" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="77" />
-		<set name="negateAbnormals" val="MA_UP,9;MD_UP,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="5000" />
 		<set name="skillType" val="BUFF" />
@@ -1383,7 +1392,9 @@
 				<mul order="0x30" stat="mAtk" val="1.75" />
 				<mul order="0x30" stat="mDef" val="1.3" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="MA_UP,9;MD_UP,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>
@@ -1431,7 +1442,6 @@
 		<set name="hitTime" val="500" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="74" />
-		<set name="negateAbnormals" val="VAMPIRIC_ATTACK,9;ATTACK_TIME_DOWN,9" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="2000" />
 		<set name="skillType" val="BUFF" />
@@ -1441,7 +1451,9 @@
 				<add order="0x40" stat="absorbDam" val="9" /> <!-- absorb 9% HP from damage inflicted on enemies -->
 				<mul order="0x30" stat="pAtkSpd" val="1.33" />
 			</effect>
-			<effect name="DispelBySlot" noicon="1" val="0" />
+			<effect name="DispelBySlot" noicon="1" val="0">
+				<param dispel="VAMPIRIC_ATTACK,9;ATTACK_TIME_DOWN,9" />
+			</effect>
 			<effect name="BlockBuffSlot" noicon="1" val="0" />
 		</for>
 	</skill>