From 957d961a050ffb0132df6c4967faf83a742f0fd6 Mon Sep 17 00:00:00 2001
From: Adry_85 <Adrya85@hotmail.it>
Date: Wed, 3 Apr 2013 20:22:02 +0000
Subject: [PATCH] BETA: Reworking skills:

	- Added effect !FocusSouls
	- Removed skillhandlers Heal
	- Removed skillhandlers !HealPercent
	- Removed skillhandlers !ManahealPercent
	- Removed skillhandlers Charge
	- Removed skillhandlers Soul
	- More improvements and cleanup

	Reviewed by: MELERIX, !UnAfraid, Zoey76
---
 .../scripts/handlers/EffectMasterHandler.java |   2 +
 .../data/scripts/handlers/MasterHandler.java  |  50 ++---
 .../handlers/effecthandlers/FocusSouls.java   |  79 +++++++
 .../handlers/effecthandlers/GiveSp.java       |   4 +-
 .../scripts/handlers/effecthandlers/Heal.java |  44 +---
 .../handlers/effecthandlers/ManaHeal.java     |   2 +-
 .../effecthandlers/ManaHealByLevel.java       |   2 +-
 .../scripts/handlers/skillhandlers/Blow.java  |   2 +-
 .../handlers/skillhandlers/Charge.java        |  70 ------
 .../handlers/skillhandlers/Continuous.java    |   3 -
 .../scripts/handlers/skillhandlers/Heal.java  | 203 ------------------
 .../handlers/skillhandlers/HealPercent.java   | 198 -----------------
 .../scripts/handlers/skillhandlers/Mdam.java  |   2 +-
 .../scripts/handlers/skillhandlers/Pdam.java  |   8 +-
 .../scripts/handlers/skillhandlers/Soul.java  |  88 --------
 .../scripts/handlers/targethandlers/One.java  |   3 +-
 .../game/data/stats/skills/00000-00099.xml    |   1 -
 .../game/data/stats/skills/00200-00299.xml    |   9 +-
 .../game/data/stats/skills/00300-00399.xml    |  10 +-
 .../game/data/stats/skills/00400-00499.xml    |  12 +-
 .../game/data/stats/skills/00500-00599.xml    |  14 +-
 .../game/data/stats/skills/00600-00699.xml    |  15 +-
 .../game/data/stats/skills/00700-00799.xml    |  12 +-
 .../game/data/stats/skills/00800-00899.xml    |   1 -
 .../game/data/stats/skills/00900-00999.xml    |  14 +-
 .../game/data/stats/skills/01000-01099.xml    |   3 -
 .../game/data/stats/skills/01100-01199.xml    |   1 -
 .../game/data/stats/skills/01200-01299.xml    |  10 +-
 .../game/data/stats/skills/01300-01399.xml    |   9 +-
 .../game/data/stats/skills/01400-01499.xml    |  15 +-
 .../game/data/stats/skills/01500-01599.xml    |   5 +-
 .../game/data/stats/skills/02300-02399.xml    |   2 +-
 .../game/data/stats/skills/02400-02499.xml    |   5 +-
 .../game/data/stats/skills/03100-03199.xml    |  12 +-
 .../game/data/stats/skills/03200-03299.xml    |  10 +-
 .../game/data/stats/skills/03300-03399.xml    |   6 +-
 .../game/data/stats/skills/03400-03499.xml    |   4 +-
 .../game/data/stats/skills/03500-03599.xml    |  12 +-
 .../game/data/stats/skills/03600-03699.xml    |   4 +-
 .../game/data/stats/skills/03700-03799.xml    |  10 +-
 .../game/data/stats/skills/03800-03899.xml    |   2 +-
 .../game/data/stats/skills/03900-03999.xml    |   4 +-
 .../game/data/stats/skills/04000-04099.xml    |   7 -
 .../game/data/stats/skills/04100-04199.xml    |   2 -
 .../game/data/stats/skills/04200-04299.xml    |   5 +-
 .../game/data/stats/skills/04400-04499.xml    |   2 -
 .../game/data/stats/skills/04500-04599.xml    |   1 -
 .../game/data/stats/skills/04600-04699.xml    |   2 +-
 .../game/data/stats/skills/04700-04799.xml    |  18 +-
 .../game/data/stats/skills/05000-05099.xml    |   4 +-
 .../game/data/stats/skills/05100-05199.xml    |  12 +-
 .../game/data/stats/skills/05200-05299.xml    |   1 -
 .../game/data/stats/skills/05500-05599.xml    |  21 +-
 .../game/data/stats/skills/05600-05699.xml    |   1 -
 .../game/data/stats/skills/05700-05799.xml    |   3 -
 .../game/data/stats/skills/05800-05899.xml    |   1 -
 .../game/data/stats/skills/06300-06399.xml    |   1 -
 .../game/data/stats/skills/06400-06499.xml    |   5 +-
 .../game/data/stats/skills/06600-06699.xml    |  30 +--
 .../game/data/stats/skills/06700-06799.xml    |   3 -
 .../game/data/stats/skills/06800-06899.xml    |   1 -
 .../game/data/stats/skills/08200-08299.xml    |   8 +-
 .../game/data/stats/skills/08400-08499.xml    |   2 +-
 63 files changed, 270 insertions(+), 822 deletions(-)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FocusSouls.java
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Charge.java
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Heal.java
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/HealPercent.java
 delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Soul.java

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
index 44744cbe91..763995dbcb 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -59,6 +59,7 @@ import handlers.effecthandlers.EnemyCharge;
 import handlers.effecthandlers.EnlargeAbnormalSlot;
 import handlers.effecthandlers.FakeDeath;
 import handlers.effecthandlers.Fear;
+import handlers.effecthandlers.FocusSouls;
 import handlers.effecthandlers.Fusion;
 import handlers.effecthandlers.GiveSp;
 import handlers.effecthandlers.Grow;
@@ -163,6 +164,7 @@ public final class EffectMasterHandler
 		EnlargeAbnormalSlot.class,
 		FakeDeath.class,
 		Fear.class,
+		FocusSouls.class,
 		Fusion.class,
 		GiveSp.class,
 		Grow.class,
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java
index d32d9f2410..2fd97c7b84 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java
@@ -210,7 +210,6 @@ import handlers.itemhandlers.TeleportBookmark;
 import handlers.skillhandlers.BallistaBomb;
 import handlers.skillhandlers.BeastSkills;
 import handlers.skillhandlers.Blow;
-import handlers.skillhandlers.Charge;
 import handlers.skillhandlers.Continuous;
 import handlers.skillhandlers.CpDamPercent;
 import handlers.skillhandlers.Craft;
@@ -223,8 +222,6 @@ import handlers.skillhandlers.FishingSkill;
 import handlers.skillhandlers.GetPlayer;
 import handlers.skillhandlers.GiveReco;
 import handlers.skillhandlers.GiveVitality;
-import handlers.skillhandlers.Heal;
-import handlers.skillhandlers.HealPercent;
 import handlers.skillhandlers.InstantJump;
 import handlers.skillhandlers.Manadam;
 import handlers.skillhandlers.Mdam;
@@ -233,7 +230,6 @@ import handlers.skillhandlers.Pdam;
 import handlers.skillhandlers.RefuelAirShip;
 import handlers.skillhandlers.Resurrect;
 import handlers.skillhandlers.ShiftTarget;
-import handlers.skillhandlers.Soul;
 import handlers.skillhandlers.Sow;
 import handlers.skillhandlers.StealBuffs;
 import handlers.skillhandlers.StrSiegeAssault;
@@ -523,42 +519,38 @@ public class MasterHandler
 		},
 		{
 			// Skill Handlers
+			BallistaBomb.class,
+			BeastSkills.class,
 			Blow.class,
-			Pdam.class,
-			Mdam.class,
-			Charge.class,
-			CpDamPercent.class,
-			Manadam.class,
-			Heal.class,
-			HealPercent.class,
 			Continuous.class,
+			CpDamPercent.class,
+			Craft.class,
+			DeluxeKey.class,
 			Detection.class,
-			Resurrect.class,
-			ShiftTarget.class,
-			StrSiegeAssault.class,
-			SummonFriend.class,
 			Disablers.class,
-			StealBuffs.class,
-			BallistaBomb.class,
-			TakeCastle.class,
-			TakeFort.class,
-			Unlock.class,
-			Craft.class,
+			Dummy.class,
 			Fishing.class,
 			FishingSkill.class,
-			BeastSkills.class,
-			DeluxeKey.class,
-			Sow.class,
-			Soul.class,
 			GetPlayer.class,
-			TransformDispel.class,
-			Trap.class,
 			GiveReco.class,
 			GiveVitality.class,
 			InstantJump.class,
-			Dummy.class,
-			RefuelAirShip.class,
+			Manadam.class,
+			Mdam.class,
 			NornilsPower.class,
+			Pdam.class,
+			RefuelAirShip.class,
+			Resurrect.class,
+			ShiftTarget.class,
+			Sow.class,
+			StealBuffs.class,
+			StrSiegeAssault.class,
+			SummonFriend.class,
+			TakeCastle.class,
+			TakeFort.class,
+			TransformDispel.class,
+			Trap.class,
+			Unlock.class,
 		},
 		{
 			// User Command Handlers
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FocusSouls.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FocusSouls.java
new file mode 100644
index 0000000000..c01fa4ec47
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FocusSouls.java
@@ -0,0 +1,79 @@
+/*
+ * 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.instance.L2PcInstance;
+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.gameserver.network.SystemMessageId;
+
+/**
+ * Focus Souls effect.
+ * @author nBd, Adry_85
+ */
+public class FocusSouls extends L2Effect
+{
+	public FocusSouls(Env env, EffectTemplate template)
+	{
+		super(env, template);
+	}
+	
+	@Override
+	public L2EffectType getEffectType()
+	{
+		return L2EffectType.FOCUS_SOULS;
+	}
+	
+	@Override
+	public boolean onStart()
+	{
+		if (!getEffected().isPlayer() || getEffected().isAlikeDead())
+		{
+			return false;
+		}
+		
+		L2PcInstance target = getEffected().getActingPlayer();
+		final L2Skill soulmastery = target.getSkills().get(467);
+		
+		if ((soulmastery != null))
+		{
+			int amount = (int) calc();
+			if ((target.getChargedSouls() < soulmastery.getNumSouls()))
+			{
+				int count = ((target.getChargedSouls() + amount) <= soulmastery.getNumSouls()) ? amount : (soulmastery.getNumSouls() - target.getChargedSouls());
+				target.increaseSouls(count);
+			}
+			else
+			{
+				target.sendPacket(SystemMessageId.SOUL_CANNOT_BE_INCREASED_ANYMORE);
+				return false;
+			}
+		}
+		return true;
+	}
+	
+	@Override
+	public boolean onActionTime()
+	{
+		return false;
+	}
+}
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveSp.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveSp.java
index 2f8f897a8c..66f5c40364 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveSp.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveSp.java
@@ -18,7 +18,6 @@
  */
 package handlers.effecthandlers;
 
-import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
@@ -55,8 +54,7 @@ public class GiveSp extends L2Effect
 			return false;
 		}
 		
-		final L2PcInstance player = getEffector().getActingPlayer();
-		player.addExpAndSp(0, (int) calc());
+		getEffector().getActingPlayer().addExpAndSp(0, (int) calc());
 		return true;
 	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java
index 79f77f1d26..8eb1e90986 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java
@@ -67,16 +67,8 @@ public class Heal extends L2Effect
 		if (((sps || bss) && (activeChar.isPlayer() && activeChar.getActingPlayer().isMageClass())) || activeChar.isSummon())
 		{
 			staticShotBonus = getSkill().getMpConsume(); // static bonus for spiritshots
-			
-			if (bss)
-			{
-				mAtkMul = 4;
-				staticShotBonus *= 2.4; // static bonus for blessed spiritshots
-			}
-			else
-			{
-				mAtkMul = 2;
-			}
+			mAtkMul = bss ? 4 : 2;
+			staticShotBonus *= bss ? 2.4 : 1.0;
 		}
 		else if ((sps || bss) && activeChar.isNpc())
 		{
@@ -88,37 +80,15 @@ public class Heal extends L2Effect
 			// no static bonus
 			// grade dynamic bonus
 			final L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
-			if (weaponInst != null)
-			{
-				switch (weaponInst.getItem().getItemGrade())
-				{
-					case L2Item.CRYSTAL_S84:
-						mAtkMul = 4;
-						break;
-					case L2Item.CRYSTAL_S80:
-						mAtkMul = 2;
-						break;
-				}
-			}
+			mAtkMul = weaponInst.getItem().getItemGrade() == L2Item.CRYSTAL_S84 ? 4 : weaponInst.getItem().getItemGrade() == L2Item.CRYSTAL_S80 ? 2 : 1;
 			// shot dynamic bonus
-			if (bss)
-			{
-				mAtkMul *= 4; // 16x/8x/4x s84/s80/other
-			}
-			else
-			{
-				mAtkMul += 1; // 5x/3x/1x s84/s80/other
-			}
+			mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;
 		}
 		
 		if (!getSkill().isStatic())
 		{
 			amount += staticShotBonus + Math.sqrt(mAtkMul * activeChar.getMAtk(activeChar, null));
-			amount *= target.calcStat(Stats.HEAL_EFFECTIVNESS, 100, null, null) / 100;
-			// Healer proficiency (since CT1)
-			amount *= activeChar.calcStat(Stats.HEAL_PROFICIENCY, 100, null, null) / 100;
-			// Extra bonus (since CT1.5)
-			amount += target.calcStat(Stats.HEAL_STATIC_BONUS, 0, null, null);
+			amount = target.calcStat(Stats.HEAL_EFFECT, amount, null, null);
 			// Heal critic, since CT2.3 Gracia Final
 			if (getSkill().isMagic() && Formulas.calcMCrit(activeChar.getMCriticalHit(target, getSkill())))
 			{
@@ -128,7 +98,6 @@ public class Heal extends L2Effect
 		
 		// Prevents overheal and negative amount
 		amount = Math.max(Math.min(amount, target.getMaxRecoverableHp() - target.getCurrentHp()), 0);
-		
 		target.setCurrentHp(amount + target.getCurrentHp());
 		StatusUpdate su = new StatusUpdate(target);
 		su.addAttribute(StatusUpdate.CUR_HP, (int) target.getCurrentHp());
@@ -138,8 +107,7 @@ public class Heal extends L2Effect
 		{
 			if (getSkill().getId() == 4051)
 			{
-				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.REJUVENATING_HP);
-				target.sendPacket(sm);
+				target.sendPacket(SystemMessageId.REJUVENATING_HP);
 			}
 			else
 			{
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java
index 7ce2a96483..48ffb3c485 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java
@@ -59,7 +59,7 @@ public class ManaHeal extends L2Effect
 		
 		if (!getSkill().isStatic())
 		{
-			amount = target.calcStat(Stats.RECHARGE_MP_RATE, amount, null, null);
+			amount = target.calcStat(Stats.MANA_CHARGE, amount, null, null);
 		}
 		
 		// Prevents overheal and negative amount
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java
index ea86199299..18f3d77365 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java
@@ -58,7 +58,7 @@ public class ManaHealByLevel extends L2Effect
 		
 		// recharged mp influenced by difference between target level and skill level
 		// if target is within 5 levels or lower then skill level there's no penalty.
-		amount = target.calcStat(Stats.RECHARGE_MP_RATE, amount, null, null);
+		amount = target.calcStat(Stats.MANA_CHARGE, amount, null, null);
 		if (target.getLevel() > getSkill().getMagicLevel())
 		{
 			int lvlDiff = target.getLevel() - getSkill().getMagicLevel();
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Blow.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Blow.java
index 04c64437b5..af6b931130 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Blow.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Blow.java
@@ -112,7 +112,7 @@ public class Blow implements ISkillHandler
 				if (!skill.isStaticDamage() && (skill.getMaxSoulConsumeCount() > 0) && activeChar.isPlayer())
 				{
 					// Souls Formula (each soul increase +4%)
-					int chargedSouls = (activeChar.getActingPlayer().getSouls() <= skill.getMaxSoulConsumeCount()) ? activeChar.getActingPlayer().getSouls() : skill.getMaxSoulConsumeCount();
+					int chargedSouls = (activeChar.getActingPlayer().getChargedSouls() <= skill.getMaxSoulConsumeCount()) ? activeChar.getActingPlayer().getChargedSouls() : skill.getMaxSoulConsumeCount();
 					damage *= 1 + (chargedSouls * 0.04);
 				}
 				
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Charge.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Charge.java
deleted file mode 100644
index 68cff18c65..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Charge.java
+++ /dev/null
@@ -1,70 +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.skillhandlers;
-
-import java.util.logging.Logger;
-
-import com.l2jserver.gameserver.handler.ISkillHandler;
-import com.l2jserver.gameserver.model.L2Object;
-import com.l2jserver.gameserver.model.actor.L2Character;
-import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.skills.L2Skill;
-import com.l2jserver.gameserver.model.skills.L2SkillType;
-
-/**
- * @version $Revision: 1.1.2.2.2.9 $ $Date: 2005/04/04 19:08:01 $
- */
-public class Charge implements ISkillHandler
-{
-	static Logger _log = Logger.getLogger(Charge.class.getName());
-	
-	private static final L2SkillType[] SKILL_IDS = {/* L2SkillType.CHARGE */};
-	
-	@Override
-	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
-	{
-		
-		for (L2Object target : targets)
-		{
-			if (!target.isPlayer())
-			{
-				continue;
-			}
-			skill.getEffects(activeChar, target.getActingPlayer());
-		}
-		
-		// self Effect :]
-		if (skill.hasSelfEffects())
-		{
-			final L2Effect effect = activeChar.getFirstEffect(skill.getId());
-			if ((effect != null) && effect.isSelfEffect())
-			{
-				// Replace old effect with new one.
-				effect.exit();
-			}
-			skill.getEffectsSelf(activeChar);
-		}
-	}
-	
-	@Override
-	public L2SkillType[] getSkillIds()
-	{
-		return SKILL_IDS;
-	}
-}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Continuous.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Continuous.java
index c9e18577e9..4d606189cd 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Continuous.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Continuous.java
@@ -190,9 +190,6 @@ public class Continuous implements ISkillHandler
 			{
 				activeChar.sendPacket(SystemMessageId.ATTACK_FAILED);
 			}
-			
-			// Possibility of a lethal strike
-			Formulas.calcLethalHit(activeChar, target, skill);
 		}
 		
 		// self Effect :]
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Heal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Heal.java
deleted file mode 100644
index 30662df554..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Heal.java
+++ /dev/null
@@ -1,203 +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.skillhandlers;
-
-import com.l2jserver.gameserver.handler.ISkillHandler;
-import com.l2jserver.gameserver.handler.SkillHandler;
-import com.l2jserver.gameserver.model.L2Object;
-import com.l2jserver.gameserver.model.ShotType;
-import com.l2jserver.gameserver.model.actor.L2Character;
-import com.l2jserver.gameserver.model.actor.instance.L2SiegeFlagInstance;
-import com.l2jserver.gameserver.model.items.L2Item;
-import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jserver.gameserver.model.skills.L2Skill;
-import com.l2jserver.gameserver.model.skills.L2SkillType;
-import com.l2jserver.gameserver.model.stats.Formulas;
-import com.l2jserver.gameserver.model.stats.Stats;
-import com.l2jserver.gameserver.network.SystemMessageId;
-import com.l2jserver.gameserver.network.serverpackets.StatusUpdate;
-import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
-
-public class Heal implements ISkillHandler
-{
-	private static final L2SkillType[] SKILL_IDS =
-	{
-		L2SkillType.HEAL,
-	};
-	
-	@Override
-	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
-	{
-		// check for other effects
-		ISkillHandler handler = SkillHandler.getInstance().getHandler(L2SkillType.BUFF);
-		
-		if (handler != null)
-		{
-			handler.useSkill(activeChar, skill, targets);
-		}
-		
-		double power = skill.getPower();
-		boolean sps = skill.isMagic() && activeChar.isChargedShot(ShotType.SPIRITSHOTS);
-		boolean bss = skill.isMagic() && activeChar.isChargedShot(ShotType.BLESSED_SPIRITSHOTS);
-		
-		double staticShotBonus = 0;
-		int mAtkMul = 1; // mAtk multiplier
-		if (((sps || bss) && (activeChar.isPlayer() && activeChar.getActingPlayer().isMageClass())) || activeChar.isSummon())
-		{
-			staticShotBonus = skill.getMpConsume(); // static bonus for spiritshots
-			
-			if (bss)
-			{
-				mAtkMul = 4;
-				staticShotBonus *= 2.4; // static bonus for blessed spiritshots
-			}
-			else
-			{
-				mAtkMul = 2;
-			}
-		}
-		else if ((sps || bss) && activeChar.isNpc())
-		{
-			staticShotBonus = 2.4 * skill.getMpConsume(); // always blessed spiritshots
-			mAtkMul = 4;
-		}
-		else
-		{
-			// no static bonus
-			// grade dynamic bonus
-			final L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
-			if (weaponInst != null)
-			{
-				switch (weaponInst.getItem().getItemGrade())
-				{
-					case L2Item.CRYSTAL_S84:
-						mAtkMul = 4;
-						break;
-					case L2Item.CRYSTAL_S80:
-						mAtkMul = 2;
-						break;
-				}
-			}
-			// shot dynamic bonus
-			if (bss)
-			{
-				mAtkMul *= 4; // 16x/8x/4x s84/s80/other
-			}
-			else
-			{
-				mAtkMul += 1; // 5x/3x/1x s84/s80/other
-			}
-		}
-		
-		power += staticShotBonus + Math.sqrt(mAtkMul * activeChar.getMAtk(activeChar, null));
-		activeChar.setChargedShot(bss ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS, false);
-		
-		double hp;
-		for (L2Character target : (L2Character[]) targets)
-		{
-			// if skill power is "0 or less" don't show heal system message.
-			if (skill.getPower() <= 0)
-			{
-				continue;
-			}
-			
-			// We should not heal if char is dead/invul
-			if ((target == null) || target.isDead() || target.isInvul())
-			{
-				continue;
-			}
-			
-			if (target.isDoor() || (target instanceof L2SiegeFlagInstance))
-			{
-				continue;
-			}
-			
-			// Player holding a cursed weapon can't be healed and can't heal
-			if (target != activeChar)
-			{
-				if (target.isPlayer() && target.getActingPlayer().isCursedWeaponEquipped())
-				{
-					continue;
-				}
-				else if (activeChar.isPlayer() && activeChar.getActingPlayer().isCursedWeaponEquipped())
-				{
-					continue;
-				}
-			}
-			
-			hp = (power * target.calcStat(Stats.HEAL_EFFECTIVNESS, 100, null, null)) / 100;
-			
-			// Healer proficiency (since CT1)
-			hp *= activeChar.calcStat(Stats.HEAL_PROFICIENCY, 100, null, null) / 100;
-			// Extra bonus (since CT1.5)
-			if (!skill.isStatic())
-			{
-				hp += target.calcStat(Stats.HEAL_STATIC_BONUS, 0, null, null);
-			}
-			
-			// Heal critic, since CT2.3 Gracia Final
-			if ((skill.getSkillType() == L2SkillType.HEAL) && !skill.isStatic() && Formulas.calcMCrit(activeChar.getMCriticalHit(target, skill)))
-			{
-				hp *= 3;
-			}
-			
-			// from CT2 u will receive exact HP, u can't go over it, if u have full HP and u get HP buff, u will receive 0HP restored message
-			hp = Math.min(hp, target.getMaxRecoverableHp() - target.getCurrentHp());
-			
-			// Prevent negative amounts
-			hp = Math.max(hp, 0);
-			
-			target.setCurrentHp(hp + target.getCurrentHp());
-			StatusUpdate su = new StatusUpdate(target);
-			su.addAttribute(StatusUpdate.CUR_HP, (int) target.getCurrentHp());
-			target.sendPacket(su);
-			
-			if (target.isPlayer())
-			{
-				if (skill.getId() == 4051)
-				{
-					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.REJUVENATING_HP);
-					target.sendPacket(sm);
-				}
-				else
-				{
-					if (activeChar.isPlayer() && (activeChar != target))
-					{
-						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_HP_RESTORED_BY_C1);
-						sm.addString(activeChar.getName());
-						sm.addNumber((int) hp);
-						target.sendPacket(sm);
-					}
-					else
-					{
-						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HP_RESTORED);
-						sm.addNumber((int) hp);
-						target.sendPacket(sm);
-					}
-				}
-			}
-		}
-	}
-	
-	@Override
-	public L2SkillType[] getSkillIds()
-	{
-		return SKILL_IDS;
-	}
-}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/HealPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/HealPercent.java
deleted file mode 100644
index ff6737fcec..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/HealPercent.java
+++ /dev/null
@@ -1,198 +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.skillhandlers;
-
-import com.l2jserver.gameserver.handler.ISkillHandler;
-import com.l2jserver.gameserver.handler.SkillHandler;
-import com.l2jserver.gameserver.model.L2Object;
-import com.l2jserver.gameserver.model.actor.L2Character;
-import com.l2jserver.gameserver.model.actor.instance.L2SiegeFlagInstance;
-import com.l2jserver.gameserver.model.skills.L2Skill;
-import com.l2jserver.gameserver.model.skills.L2SkillType;
-import com.l2jserver.gameserver.network.SystemMessageId;
-import com.l2jserver.gameserver.network.serverpackets.StatusUpdate;
-import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
-
-public class HealPercent implements ISkillHandler
-{
-	private static final L2SkillType[] SKILL_IDS =
-	{
-		L2SkillType.HEAL_PERCENT,
-		L2SkillType.MANAHEAL_PERCENT,
-	};
-	
-	@Override
-	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
-	{
-		// check for other effects
-		ISkillHandler handler = SkillHandler.getInstance().getHandler(L2SkillType.BUFF);
-		
-		if (handler != null)
-		{
-			handler.useSkill(activeChar, skill, targets);
-		}
-		
-		boolean hp = false;
-		boolean mp = false;
-		switch (skill.getSkillType())
-		{
-			case HEAL_PERCENT:
-				hp = true;
-				break;
-			case MANAHEAL_PERCENT:
-				mp = true;
-				break;
-		}
-		
-		StatusUpdate su = null;
-		SystemMessage sm;
-		double amount = 0;
-		boolean full = skill.getPower() == 100.0;
-		for (L2Character target : (L2Character[]) targets)
-		{
-			// if skill power is "0 or less" don't show heal system message.
-			if (skill.getPower() <= 0)
-			{
-				continue;
-			}
-			
-			// 1505 - sublime self sacrifice
-			if ((target.isDead() || target.isInvul()) && (skill.getId() != 1505))
-			{
-				continue;
-			}
-			
-			// Cursed weapon owner can't heal or be healed
-			if (target != activeChar)
-			{
-				if (activeChar.isPlayer() && activeChar.getActingPlayer().isCursedWeaponEquipped())
-				{
-					continue;
-				}
-				if (target.isPlayer() && target.getActingPlayer().isCursedWeaponEquipped())
-				{
-					continue;
-				}
-			}
-			
-			// Doors and flags can't be healed in any way
-			if (hp && (target.isDoor() || (target instanceof L2SiegeFlagInstance)))
-			{
-				continue;
-			}
-			
-			if (hp)
-			{
-				if (full)
-				{
-					amount = target.getMaxHp();
-				}
-				else
-				{
-					amount = (target.getMaxHp() * skill.getPower()) / 100.0;
-				}
-				
-				amount = Math.min(amount, target.getMaxRecoverableHp() - target.getCurrentHp());
-				
-				// Prevent negative amounts
-				if (amount < 0)
-				{
-					amount = 0;
-				}
-				
-				// To prevent -value heals, set the value only if current hp is less than max recoverable.
-				if (target.getCurrentHp() < target.getMaxRecoverableHp())
-				{
-					target.setCurrentHp(amount + target.getCurrentHp());
-				}
-				
-				if (target.isPlayer())
-				{
-					if (activeChar != target)
-					{
-						sm = SystemMessage.getSystemMessage(SystemMessageId.S2_HP_RESTORED_BY_C1);
-						sm.addCharName(activeChar);
-					}
-					else
-					{
-						sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HP_RESTORED);
-					}
-					sm.addNumber((int) amount);
-					target.sendPacket(sm);
-					su = new StatusUpdate(target);
-					su.addAttribute(StatusUpdate.CUR_HP, (int) target.getCurrentHp());
-				}
-			}
-			
-			if (mp)
-			{
-				if (full)
-				{
-					amount = target.getMaxMp();
-				}
-				else
-				{
-					amount = (target.getMaxMp() * skill.getPower()) / 100.0;
-				}
-				
-				amount = Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp());
-				
-				// Prevent negative amounts
-				if (amount < 0)
-				{
-					amount = 0;
-				}
-				
-				// To prevent -value heals, set the value only if current mp is less than max recoverable.
-				if (target.getCurrentMp() < target.getMaxRecoverableMp())
-				{
-					target.setCurrentMp(amount + target.getCurrentMp());
-				}
-				
-				if (target.isPlayer())
-				{
-					if (activeChar != target)
-					{
-						sm = SystemMessage.getSystemMessage(SystemMessageId.S2_MP_RESTORED_BY_C1);
-						sm.addCharName(activeChar);
-					}
-					else
-					{
-						sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MP_RESTORED);
-					}
-					sm.addNumber((int) amount);
-					target.sendPacket(sm);
-					su = new StatusUpdate(target);
-					su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp());
-				}
-			}
-			
-			if (target.isPlayer())
-			{
-				target.sendPacket(su);
-			}
-		}
-	}
-	
-	@Override
-	public L2SkillType[] getSkillIds()
-	{
-		return SKILL_IDS;
-	}
-}
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Mdam.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Mdam.java
index 70bc4a3983..cd7027f2f1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Mdam.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Mdam.java
@@ -84,7 +84,7 @@ public class Mdam implements ISkillHandler
 			if (!skill.isStaticDamage() && (skill.getMaxSoulConsumeCount() > 0) && activeChar.isPlayer())
 			{
 				// Souls Formula (each soul increase +4%)
-				int chargedSouls = (activeChar.getActingPlayer().getSouls() <= skill.getMaxSoulConsumeCount()) ? activeChar.getActingPlayer().getSouls() : skill.getMaxSoulConsumeCount();
+				int chargedSouls = (activeChar.getActingPlayer().getChargedSouls() <= skill.getMaxSoulConsumeCount()) ? activeChar.getActingPlayer().getChargedSouls() : skill.getMaxSoulConsumeCount();
 				damage *= 1 + (chargedSouls * 0.04);
 			}
 			
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Pdam.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Pdam.java
index 970ecbfb89..85c05ed324 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Pdam.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Pdam.java
@@ -99,7 +99,7 @@ public class Pdam implements ISkillHandler
 			if (!skill.isStaticDamage() && (skill.getMaxSoulConsumeCount() > 0) && activeChar.isPlayer())
 			{
 				// Souls Formula (each soul increase +4%)
-				int chargedSouls = (activeChar.getActingPlayer().getSouls() <= skill.getMaxSoulConsumeCount()) ? activeChar.getActingPlayer().getSouls() : skill.getMaxSoulConsumeCount();
+				int chargedSouls = (activeChar.getActingPlayer().getChargedSouls() <= skill.getMaxSoulConsumeCount()) ? activeChar.getActingPlayer().getChargedSouls() : skill.getMaxSoulConsumeCount();
 				damage *= 1 + (chargedSouls * 0.04);
 			}
 			if (crit)
@@ -219,17 +219,17 @@ public class Pdam implements ISkillHandler
 					L2Skill soulmastery = SkillTable.getInstance().getInfo(467, soulMasteryLevel);
 					if (soulmastery != null)
 					{
-						if (activeChar.getActingPlayer().getSouls() < soulmastery.getNumSouls())
+						if (activeChar.getActingPlayer().getChargedSouls() < soulmastery.getNumSouls())
 						{
 							int count = 0;
 							
-							if ((activeChar.getActingPlayer().getSouls() + skill.getNumSouls()) <= soulmastery.getNumSouls())
+							if ((activeChar.getActingPlayer().getChargedSouls() + skill.getNumSouls()) <= soulmastery.getNumSouls())
 							{
 								count = skill.getNumSouls();
 							}
 							else
 							{
-								count = soulmastery.getNumSouls() - activeChar.getActingPlayer().getSouls();
+								count = soulmastery.getNumSouls() - activeChar.getActingPlayer().getChargedSouls();
 							}
 							activeChar.getActingPlayer().increaseSouls(count);
 						}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Soul.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Soul.java
deleted file mode 100644
index 6ffc3cd2eb..0000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Soul.java
+++ /dev/null
@@ -1,88 +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.skillhandlers;
-
-import com.l2jserver.gameserver.datatables.SkillTable;
-import com.l2jserver.gameserver.handler.ISkillHandler;
-import com.l2jserver.gameserver.model.L2Object;
-import com.l2jserver.gameserver.model.actor.L2Character;
-import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.skills.L2Skill;
-import com.l2jserver.gameserver.model.skills.L2SkillType;
-import com.l2jserver.gameserver.network.SystemMessageId;
-import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
-
-/**
- * @author nBd
- */
-public class Soul implements ISkillHandler
-{
-	private static final L2SkillType[] SKILL_IDS =
-	{
-		L2SkillType.CHARGESOUL
-	};
-	
-	@Override
-	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
-	{
-		if (!activeChar.isPlayer() || activeChar.isAlikeDead())
-		{
-			return;
-		}
-		
-		L2PcInstance player = activeChar.getActingPlayer();
-		
-		int level = player.getSkillLevel(467);
-		if (level > 0)
-		{
-			L2Skill soulmastery = SkillTable.getInstance().getInfo(467, level);
-			
-			if (soulmastery != null)
-			{
-				if (player.getSouls() < soulmastery.getNumSouls())
-				{
-					int count = 0;
-					
-					if ((player.getSouls() + skill.getNumSouls()) <= soulmastery.getNumSouls())
-					{
-						count = skill.getNumSouls();
-					}
-					else
-					{
-						count = soulmastery.getNumSouls() - player.getSouls();
-					}
-					
-					player.increaseSouls(count);
-				}
-				else
-				{
-					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.SOUL_CANNOT_BE_INCREASED_ANYMORE);
-					player.sendPacket(sm);
-					return;
-				}
-			}
-		}
-	}
-	
-	@Override
-	public L2SkillType[] getSkillIds()
-	{
-		return SKILL_IDS;
-	}
-}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/One.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/One.java
index d2e6423d48..f95c7f7c57 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/One.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/One.java
@@ -39,13 +39,12 @@ public class One implements ITargetTypeHandler
 		switch (skill.getSkillType())
 		{
 			case BUFF:
-			case HEAL:
 			case DUMMY:
 				canTargetSelf = true;
 				break;
 			default:
 			{
-				canTargetSelf = skill.hasEffectType(L2EffectType.CANCEL_DEBUFF, L2EffectType.NEGATE, L2EffectType.CPHEAL, L2EffectType.HEAL_PERCENT, L2EffectType.MANAHEAL_BY_LEVEL);
+				canTargetSelf = skill.hasEffectType(L2EffectType.CANCEL_DEBUFF, L2EffectType.NEGATE, L2EffectType.CPHEAL, L2EffectType.HEAL, L2EffectType.HEAL_PERCENT, L2EffectType.MANAHEAL_BY_LEVEL);
 				break;
 			}
 		}
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00000-00099.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00000-00099.xml
index 1dd101c26e..8aa7639e55 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00000-00099.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00000-00099.xml
@@ -1482,7 +1482,6 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="2000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="hpConsume" val="#ench2HpConsume" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml
index 02fc5ce9ca..e8ec586547 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00200-00299.xml
@@ -1433,7 +1433,6 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
@@ -2318,17 +2317,17 @@
 		</cond>
 	</skill>
 	<skill id="285" levels="27" name="Higher Mana Gain" enchantGroup1="1">
-		<table name="#gainMp"> 22 24 28 29 31 32 38 39 41 42 48 49 50 52 53 59 61 62 64 66 72 73 75 76 78 79 81 </table>
 		<table name="#magicLvl"> 17 20 23 25 28 30 33 35 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 </table>
-		<table name="#ench1gainMp"> 82 83 84 85 85 86 87 88 89 89 90 91 92 93 94 94 95 96 97 98 99 100 101 101 102 103 104 105 106 107 </table>
+		<table name="#manaCharge"> 22 24 28 29 31 32 38 39 41 42 48 49 50 52 53 59 61 62 64 66 72 73 75 76 78 79 81 </table>
+		<table name="#ench1manaCharge"> 82 83 84 85 85 86 87 88 89 89 90 91 92 93 94 94 95 96 97 98 99 100 101 101 102 103 104 105 106 107 </table>
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<add order="0x40" stat="gainMp" val="#gainMp" />
+			<add order="0x40" stat="manaCharge" val="#manaCharge" />
 		</for>
 		<enchant1for>
-			<add order="0x40" stat="gainMp" val="#ench1gainMp" />
+			<add order="0x40" stat="manaCharge" val="#ench1manaCharge" />
 		</enchant1for>
 	</skill>
 	<skill id="286" levels="3" name="Provoke">
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00300-00399.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00300-00399.xml
index e034fa0e88..13e65a5e25 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00300-00399.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00300-00399.xml
@@ -1207,7 +1207,7 @@
 			<effect name="Buff" abnormalTime="120" val="0" abnormalLvl="1" abnormalType="touch_of_life">
 				<sub order="0x40" stat="cancelVuln" val="100" />
 				<sub order="0x40" stat="debuffVuln" val="30" />
-				<mul order="0x30" stat="gainHp" val="1.3" />
+				<mul order="0x30" stat="healEffect" val="1.3" />
 			</effect>
 			<!-- 50HP * 5 during 120 seconds -->
 			<effect count="24" name="HealOverTime" abnormalTime="5" noicon="1" val="250" />
@@ -1217,7 +1217,7 @@
 			<effect name="Buff" abnormalTime="#ench2Time" val="0" abnormalLvl="1" abnormalType="touch_of_life">
 				<sub order="0x40" stat="cancelVuln" val="100" />
 				<sub order="0x40" stat="debuffVuln" val="30" />
-				<mul order="0x30" stat="gainHp" val="1.3" />
+				<mul order="0x30" stat="healEffect" val="1.3" />
 			</effect>
 			<!-- 50HP * 1 during #ench2Time -->
 			<effect count="#ench2Time" name="HealOverTime" noicon="1" val="50" />
@@ -1255,7 +1255,7 @@
 			<effect name="Debuff" abnormalTime="120" val="0" effectPower="80" abnormalLvl="1" abnormalType="touch_of_death">
 				<mul order="0x30" stat="maxCp" val="0.1" />
 				<add order="0x40" stat="debuffVuln" val="30" />
-				<mul order="0x30" stat="gainHp" val="0.7" />
+				<mul order="0x30" stat="healEffect" val="0.7" />
 			</effect>
 			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
 			<effect name="CpDamPercent" noicon="1" val="0" effectPower="90" />
@@ -1264,7 +1264,7 @@
 			<effect name="Debuff" abnormalTime="120" val="0" effectPower="#ench2effectPower" abnormalLvl="1" abnormalType="touch_of_death">
 				<mul order="0x30" stat="maxCp" val="0.1" />
 				<add order="0x40" stat="debuffVuln" val="30" />
-				<mul order="0x30" stat="gainHp" val="0.7" />
+				<mul order="0x30" stat="healEffect" val="0.7" />
 			</effect>
 			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
 			<effect name="CpDamPercent" noicon="1" val="0" effectPower="90" />
@@ -2709,7 +2709,7 @@
 				<add order="0x40" stat="accCombat" val="8" />
 				<sub order="0x40" stat="cancelVuln" val="80" />
 				<set order="0x08" stat="debuffImmunity" val="1" />
-				<mul order="0x30" stat="gainHp" val="2" />
+				<mul order="0x30" stat="healEffect" val="2" />
 				<add order="0x40" stat="mAtk" val="500" />
 				<add order="0x40" stat="mAtkSpd" val="100" />
 				<sub order="0x40" stat="mDef" val="25" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00400-00499.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00400-00499.xml
index 2dbe3701cf..b0a9e8017e 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00400-00499.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00400-00499.xml
@@ -404,7 +404,7 @@
 					<using kind="Blunt,Big Blunt" />
 				</mul>
 				<sub order="0x40" stat="cancelVuln" val="40" />
-				<mul order="0x30" stat="gainHp" val="0.2" />
+				<mul order="0x30" stat="healEffect" val="0.2" />
 			</effect>
 		</for>
 		<enchant1for>
@@ -426,7 +426,7 @@
 					<using kind="Blunt,Big Blunt" />
 				</mul>
 				<sub order="0x40" stat="cancelVuln" val="40" />
-				<mul order="0x30" stat="gainHp" val="0.2" />
+				<mul order="0x30" stat="healEffect" val="0.2" />
 			</effect>
 		</enchant1for>
 		<enchant4for>
@@ -448,7 +448,7 @@
 					<using kind="Blunt,Big Blunt" />
 				</mul>
 				<sub order="0x40" stat="cancelVuln" val="40" />
-				<mul order="0x30" stat="gainHp" val="0.2" />
+				<mul order="0x30" stat="healEffect" val="0.2" />
 			</effect>
 		</enchant4for>
 	</skill>
@@ -973,7 +973,7 @@
 					<using kind="Blunt,Big Blunt,Dual Fist" />
 				</mul>
 				<mul order="0x30" stat="PhysicalMpConsumeRate" val="0.5" />
-				<mul order="0x30" stat="gainHp" val="0.5" />
+				<mul order="0x30" stat="healEffect" val="0.5" />
 			</effect>
 		</for>
 		<enchant2for>
@@ -994,7 +994,7 @@
 					<using kind="Blunt,Big Blunt,Dual Fist" />
 				</mul>
 				<mul order="0x30" stat="PhysicalMpConsumeRate" val="0.5" />
-				<mul order="0x30" stat="gainHp" val="0.5" />
+				<mul order="0x30" stat="healEffect" val="0.5" />
 			</effect>
 		</enchant2for>
 	</skill>
@@ -2004,7 +2004,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainHp" val="0.95" />
+			<mul order="0x30" stat="healEffect" val="0.95" />
 			<mul order="0x30" stat="weightLimit" val="1.25" />
 		</for>
 	</skill>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00500-00599.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00500-00599.xml
index bc2ebe12cb..213e23dc07 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00500-00599.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00500-00599.xml
@@ -89,21 +89,18 @@
 		<!-- Confirmed CT2.5 -->
 		<table name="#hpConsume"> 193 237 279 311 328 </table>
 		<table name="#magicLvl"> 40 49 58 66 72 </table>
-		<table name="#num_souls"> 1 2 3 4 5 </table>
-		<table name="#ench1num_souls"> 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 </table>
+		<table name="#souls"> 1 2 3 4 5 </table>
+		<table name="#ench1souls"> 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 </table>
 		<table name="#ench2hpConsume"> 323 318 312 307 301 296 290 285 279 274 268 263 257 252 247 241 236 230 225 219 214 208 203 197 192 186 181 175 170 165 </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="aggroPoints" val="150" />
 		<set name="hitTime" val="900" />
 		<set name="hpConsume" val="#hpConsume" />
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="num_souls" val="#num_souls" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="11000" />
-		<set name="skillType" val="CHARGESOUL" />
 		<set name="targetType" val="SELF" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
-		<enchant1 name="num_souls" val="#ench1num_souls" />
 		<enchant2 name="hpConsume" val="#ench2hpConsume" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<cond msgId="2163">
@@ -111,6 +108,12 @@
 				<player souls="40" /> <!-- Max Amount of Souls -->
 			</not>
 		</cond>
+		<for>
+			<effect name="FocusSouls" noicon="1" val="#souls" />
+		</for>
+		<enchant1for>
+			<effect name="FocusSouls" noicon="1" val="#ench1souls" />
+		</enchant1for>
 	</skill>
 	<skill id="503" levels="3" name="Scorn">
 		<!-- Confirmed CT2.5 -->
@@ -1956,7 +1959,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00600-00699.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00600-00699.xml
index e64b4c70c4..6fb3d667ae 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00600-00699.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00600-00699.xml
@@ -157,7 +157,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<add order="0x40" stat="bonusHp" val="20" />
+			<add order="0x40" stat="healEffect" val="20" />
 			<mul order="0x30" stat="maxMp" val="#maxMp" />
 			<mul order="0x30" stat="MagicalMpConsumeRate" val="#MpConsumeRate" />
 			<mul order="0x30" stat="PhysicalMpConsumeRate" val="#MpConsumeRate" />
@@ -350,10 +350,8 @@
 		<set name="itemConsumeCount" val="10" />
 		<set name="itemConsumeId" val="3031" />
 		<set name="magicLvl" val="46" />
-		<set name="num_souls" val="50" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1800000" />
-		<set name="skillType" val="CHARGESOUL" />
 		<set name="staticReuse" val="true" />
 		<set name="targetType" val="SELF" />
 		<enchant1 name="hpConsume" val="#ench1hpConsume" />
@@ -362,9 +360,12 @@
 		<enchant2 name="reuseDelay" val="#ench2reuseDelay" />
 		<cond msgId="2163">
 			<not>
-				<player souls="50" /> <!-- Max Amount of Souls -->
+				<player souls="40" /> <!-- Max Amount of Souls -->
 			</not>
 		</cond>
+		<for>
+			<effect name="FocusSouls" noicon="1" val="50" />
+		</for>
 	</skill>
 	<skill id="626" levels="4" name="Critical Sense" enchantGroup1="1" enchantGroup2="1">
 		<!-- Confirmed CT2.5 -->
@@ -741,7 +742,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<add order="0x40" stat="gainMp" val="20" />
+			<add order="0x40" stat="manaCharge" val="20" />
 		</for>
 	</skill>
 	<skill id="647" levels="1" name="Enchanter Ability - Mana Recovery">
@@ -761,7 +762,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainHp" val="1.06" />
+			<mul order="0x30" stat="healEffect" val="1.06" />
 		</for>
 	</skill>
 	<skill id="650" levels="1" name="Warrior Ability - Resist Trait">
@@ -1838,7 +1839,6 @@
 		<set name="mpConsume" val="84" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="946" />
@@ -1853,7 +1853,6 @@
 		<set name="mpConsume" val="189" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="826" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00700-00799.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00700-00799.xml
index da060dd334..7b880d8ea1 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00700-00799.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00700-00799.xml
@@ -300,7 +300,6 @@
 		<set name="mpInitialConsume" val="15" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="60000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="PET" />
 		<for>
 			<effect name="Buff" abnormalTime="300" val="0" abnormalLvl="1" abnormalType="multi_buff">
@@ -329,7 +328,6 @@
 		<set name="mpConsume" val="127" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="PET" />
 		<for>
 			<effect name="Heal" noicon="1" val="991" />
@@ -837,7 +835,6 @@
 		<set name="mpInitialConsume" val="12" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -858,7 +855,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -1371,7 +1367,7 @@
 			<effect name="Debuff" abnormalTime="60" val="0" abnormalLvl="1" abnormalType="touch_of_death" effectPower="60" >
 				<mul order="0x30" stat="maxCp" val="0.1" />
 				<add order="0x40" stat="debuffVuln" val="30" />
-				<mul order="0x30" stat="gainHp" val="0.7" />
+				<mul order="0x30" stat="healEffect" val="0.7" />
 			</effect>
 			<effect name="Cancel" noicon="1" val="0" effectPower="25" />
 		</for>
@@ -1953,7 +1949,7 @@
 					<using kind="Blunt,Big Blunt" />
 				</mul>
 				<sub order="0x40" stat="cancelVuln" val="40" />
-				<mul order="0x30" stat="gainHp" val="0.2" />
+				<mul order="0x30" stat="healEffect" val="0.2" />
 			</effect>
 		</for>
 	</skill>
@@ -2003,7 +1999,7 @@
 			<effect name="Buff" abnormalTime="60" val="0" abnormalLvl="1" abnormalType="touch_of_life">
 				<sub order="0x40" stat="cancelVuln" val="100" />
 				<sub order="0x40" stat="debuffVuln" val="30" />
-				<mul order="0x30" stat="gainHp" val="1.3" />
+				<mul order="0x30" stat="healEffect" val="1.3" />
 			</effect>
 			<!-- 50HP * 5 during 60 seconds -->
 			<effect count="12" name="HealOverTime" abnormalTime="5" noicon="1" val="250" />
@@ -2061,7 +2057,7 @@
 					<using kind="Blunt,Big Blunt" />
 				</mul>
 				<add order="0x40" stat="absorbDam" val="40" /> <!-- Recovers as HP 40% of general close rate physical damage inflicted on the enemy -->
-				<mul order="0x30" stat="gainHp" val="0.2" />
+				<mul order="0x30" stat="healEffect" val="0.2" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00800-00899.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00800-00899.xml
index 3cbf1646fe..caedfa90b7 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00800-00899.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00800-00899.xml
@@ -375,7 +375,6 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="2000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="SUMMON" />
 		<!-- FIXME: It shouldn't affect all summons, missing condition for target race "construct" -->
 		<for>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/00900-00999.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/00900-00999.xml
index cb9a669275..528fbf1c3e 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/00900-00999.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/00900-00999.xml
@@ -328,7 +328,7 @@
 		<for>
 			<effect name="Buff" abnormalTime="120" val="0" abnormalLvl="1" abnormalType="song_of_purification">
 				<sub order="0x40" stat="debuffVuln" val="30" />
-				<mul order="0x30" stat="gainHp" val="1.3" />
+				<mul order="0x30" stat="healEffect" val="1.3" />
 			</effect>
 			<effect name="CancelDebuff" noicon="1" val="0" effectPower="80" />
 		</for>
@@ -574,7 +574,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<add order="0x40" stat="bonusHp" val="30">
+			<add order="0x40" stat="healEffect" val="30">
 				<using kind="Sigil" />
 			</add>
 			<mul order="0x30" stat="regMp" val="1.17">
@@ -873,13 +873,16 @@
 		<set name="magicLvl" val="78" />
 		<set name="mpConsume" val="5" />
 		<set name="nextActionAttack" val="true" />
-		<set name="num_souls" val="1" />
 		<set name="offensive" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="overHit" val="true" />
+		<set name="power" val="10" />
 		<set name="skillType" val="PDAM" />
 		<set name="SSBoost" val="2.0" />
 		<set name="targetType" val="ONE" />
+		<for>
+			<effect self="1" name="FocusSouls" noicon="1" val="1" />
+		</for>
 	</skill>
 	<skill id="940" levels="1" name="Fake Attack">
 		<set name="hitTime" val="1000" />
@@ -1077,16 +1080,17 @@
 		<set name="hitTime" val="900" />
 		<set name="hpConsume" val="328" />
 		<set name="magicLvl" val="82" />
-		<set name="num_souls" val="5" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="11000" />
-		<set name="skillType" val="CHARGESOUL" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2163">
 			<not>
 				<player souls="40" /> <!-- Max Amount of Souls -->
 			</not>
 		</cond>
+		<for>
+			<effect name="FocusSouls" noicon="1" val="5" />
+		</for>
 	</skill>
 	<skill id="954" levels="1" name="Strider Bite">
 		<!-- Confirmed CT2.5 -->
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml
index b7007f2813..4d1cfbb0b7 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml
@@ -403,7 +403,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -480,7 +479,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -547,7 +545,6 @@
 		<set name="negateAbnormals" val="#negateAbnormals" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01100-01199.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01100-01199.xml
index 89daec005c..01f9bb6727 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01100-01199.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01100-01199.xml
@@ -312,7 +312,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="PET" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01200-01299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01200-01299.xml
index 4400e8ff16..d6ae8ef03f 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01200-01299.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01200-01299.xml
@@ -342,7 +342,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
@@ -1868,7 +1867,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="30000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
@@ -2324,17 +2322,17 @@
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
 		<for>
 			<effect name="Debuff" abnormalTime="120" val="0" abnormalLvl="1" abnormalType="heal_effect_down">
-				<mul order="0x30" stat="gainHp" val="0.5" />
+				<mul order="0x30" stat="healEffect" val="0.5" />
 			</effect>
 		</for>
 		<enchant2for>
 			<effect name="Debuff" abnormalTime="#ench2Time" val="0" abnormalLvl="1" abnormalType="heal_effect_down">
-				<mul order="0x30" stat="gainHp" val="0.5" />
+				<mul order="0x30" stat="healEffect" val="0.5" />
 			</effect>
 		</enchant2for>
 		<enchant3for>
 			<effect name="Debuff" abnormalTime="120" val="0" abnormalLvl="1" abnormalType="heal_effect_down">
-				<mul order="0x30" stat="gainHp" val="#ench3Power" />
+				<mul order="0x30" stat="healEffect" val="#ench3Power" />
 			</effect>
 		</enchant3for>
 	</skill>
@@ -2947,7 +2945,7 @@
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
 		<for>
 			<effect name="Debuff" abnormalTime="120" val="0" abnormalLvl="1" abnormalType="heal_effect_down" effectPower="80" >
-				<mul order="0x30" stat="gainHp" val="0.5" />
+				<mul order="0x30" stat="healEffect" val="0.5" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01300-01399.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01300-01399.xml
index 4732b39793..0befbb852c 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01300-01399.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01300-01399.xml
@@ -184,7 +184,7 @@
 	<skill id="1307" levels="3" name="Prayer" enchantGroup1="1" enchantGroup2="1">
 		<table name="#abnormalLvls"> 1 2 3 </table>
 		<table name="#aggro"> 611 635 655 </table>
-		<table name="#gainHp"> 1.08 1.1 1.12 </table>
+		<table name="#healEffect"> 1.08 1.1 1.12 </table>
 		<table name="#mpConsume"> 195 207 217 </table>
 		<table name="#mpInitialConsume"> 49 52 55 </table>
 		<table name="#ench1AbnormalTimes"> 1240 1280 1320 1360 1400 1440 1480 1520 1560 1600 1640 1680 1720 1760 1800 1840 1880 1920 1960 2000 2040 2080 2120 2160 2200 2240 2280 2320 2360 2400 </table>
@@ -212,12 +212,12 @@
 		<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
 		<for>
 			<effect name="Buff" abnormalTime="1200" val="0" abnormalLvl="#abnormalLvls" abnormalType="heal_effect_up">
-				<mul order="0x30" stat="gainHp" val="#gainHp" />
+				<mul order="0x30" stat="healEffect" val="#healEffect" />
 			</effect>
 		</for>
 		<enchant1for>
 			<effect name="Buff" abnormalTime="#ench1time" val="0" abnormalLvl="3" abnormalType="heal_effect_up">
-				<mul order="0x30" stat="gainHp" val="1.12" />
+				<mul order="0x30" stat="healEffect" val="1.12" />
 			</effect>
 		</enchant1for>
 	</skill>
@@ -1474,7 +1474,6 @@
 		<set name="mpInitialConsume" val="15" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="60000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="PET" />
 		<enchant1 name="abnormalTime" val="#ench1AbnormalTimes" />
 		<enchant2 name="mpConsume" val="#ench2mpConsume" />
@@ -2365,7 +2364,7 @@
 		<enchant2 name="power" val="#ench2Power" />
 		<for>
 			<effect name="Debuff" abnormalTime="120" val="0" abnormalLvl="1" abnormalType="heal_effect_down">
-				<mul order="0x30" stat="gainHp" val="0.5" />
+				<mul order="0x30" stat="healEffect" val="0.5" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01400-01499.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01400-01499.xml
index 1e12590a1b..e119faebbf 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01400-01499.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01400-01499.xml
@@ -81,7 +81,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
@@ -1638,9 +1637,7 @@
 		<set name="hpConsume" val="20" />
 		<set name="magicLvl" val="24" />
 		<set name="mpConsume" val="5" />
-		<set name="num_souls" val="1" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="CHARGESOUL" />
 		<set name="soulMaxConsumeCount" val="1" />
 		<set name="targetType" val="ONE" />
 		<cond msgId="2195">
@@ -1649,6 +1646,9 @@
 		<cond msgId="113" addName="1">
 			<target races="Kamael" />
 		</cond>
+		<for>
+			<effect name="FocusSouls" noicon="1" val="1" />
+		</for>
 	</skill>
 	<skill id="1450" levels="1" name="Chain Lightning" enchantGroup1="6" enchantGroup2="6" enchantGroup3="6" enchantGroup4="6">
 		<!-- Confirmed CT2.5 -->
@@ -1994,12 +1994,12 @@
 		<enchant2 name="mpConsume" val="#ench2mpConsume" />
 		<for>
 			<effect name="Buff" abnormalTime="15" val="0" abnormalLvl="1" abnormalType="heal_power_up">
-				<add order="0x40" stat="bonusHp" val="1000" />
+				<add order="0x40" stat="healEffect" val="1000" />
 			</effect>
 		</for>
 		<enchant1for>
 			<effect name="Buff" abnormalTime="15" val="0" abnormalLvl="1" abnormalType="heal_power_up">
-				<add order="0x40" stat="bonusHp" val="#ench1Power" />
+				<add order="0x40" stat="healEffect" val="#ench1Power" />
 			</effect>
 		</enchant1for>
 	</skill>
@@ -2031,12 +2031,12 @@
 		</cond>
 		<for>
 			<effect name="Buff" abnormalTime="1200" val="0" abnormalLvl="1" abnormalType="recharge_up">
-				<mul order="0x30" stat="gainMp" val="1.85" />
+				<add order="0x40" stat="manaCharge" val="85" />
 			</effect>
 		</for>
 		<enchant1for>
 			<effect name="Buff" abnormalTime="#ench1Time" val="0" abnormalLvl="1" abnormalType="recharge_up">
-				<mul order="0x30" stat="gainMp" val="1.85" />
+				<add order="0x40" stat="manaCharge" val="85" />
 			</effect>
 		</enchant1for>
 	</skill>
@@ -2998,7 +2998,6 @@
 		<set name="negateAbnormals" val="life_force_kamael,9" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="15000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<cond msgId="109">
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01500-01599.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01500-01599.xml
index 94dabddf59..4dfb39018c 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01500-01599.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01500-01599.xml
@@ -178,7 +178,6 @@
 		<set name="mpInitialConsume" val="15" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1200000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<cond msgId="113" addName="1">
 			<not>
@@ -754,7 +753,7 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect count="120" name="DamOverTime" val="#dot" abnormalLvl="1" abnormalType="heal_effect_down">
-				<mul order="0x30" stat="gainHp" val="0.5" />
+				<mul order="0x30" stat="healEffect" val="0.5" />
 			</effect>
 		</for>
 	</skill>
@@ -968,7 +967,7 @@
 		<for>
 			<effect name="Buff" abnormalTime="20" val="0" abnormalLvl="1" abnormalType="final_secret">
 				<mul order="0x30" stat="mAtk" val="1.1" />
-				<mul order="0x30" stat="gainHp" val="1.4" />
+				<mul order="0x30" stat="healEffect" val="1.4" />
 				<mul order="0x30" stat="mAtkSpd" val="1.5" />
 				<basemul order="0x30" stat="mCritRate" val="0.5" />
 				<mul order="0x30" stat="MagicalMpConsumeRate" val="0.1" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/02300-02399.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/02300-02399.xml
index aee799cce6..c4ee49d534 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/02300-02399.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/02300-02399.xml
@@ -1358,7 +1358,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff" abnormalTime="1200" val="0" abnormalLvl="1" abnormalType="heal_power_up">
-				<add order="0x40" stat="bonusHp" val="100" />
+				<add order="0x40" stat="healEffect" val="100" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/02400-02499.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/02400-02499.xml
index 08d17c3351..b634dee3b7 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/02400-02499.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/02400-02499.xml
@@ -1683,9 +1683,10 @@
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
 		<set name="magicLvl" val="1" />
-		<set name="num_souls" val="5" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="CHARGESOUL" />
 		<set name="targetType" val="SELF" />
+		<for>
+			<effect name="FocusSouls" noicon="1" val="5" />
+		</for>
 	</skill>
 </list>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml
index 9c307d4ac6..6c77272f48 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml
@@ -498,7 +498,7 @@
 		</for>
 	</skill>
 	<skill id="3126" levels="10" name="Item Skill: Prayer">
-		<table name="#gainHp"> 1.04 1.04 1.04 1.05 1.05 1.05 1.06 1.06 1.06 1.07 </table>
+		<table name="#healEffect"> 1.04 1.04 1.04 1.05 1.05 1.05 1.06 1.06 1.06 1.07 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<table name="#mpConsume"> 38 42 44 47 51 52 55 58 61 65 </table>
 		<table name="#mpInitialConsume"> 10 11 11 12 13 13 14 15 16 17 </table>
@@ -516,7 +516,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff" abnormalTime="120" val="0" abnormalLvl="1" abnormalType="abnormal_item">
-				<mul order="0x30" stat="gainHp" val="#gainHp" />
+				<mul order="0x30" stat="healEffect" val="#healEffect" />
 			</effect>
 		</for>
 	</skill>
@@ -563,8 +563,8 @@
 		</for>
 	</skill>
 	<skill id="3129" levels="10" name="Item Skill: Mana Gain">
-		<table name="#gainMp"> 25 27 30 31 32 36 37 38 39 41 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
+		<table name="#manaCharge"> 25 27 30 31 32 36 37 38 39 41 </table>
 		<table name="#mpConsume"> 38 42 44 47 51 52 55 58 61 65 </table>
 		<table name="#mpInitialConsume"> 10 11 11 12 13 13 14 15 16 17 </table>
 		<set name="abnormalLvl" val="1" />
@@ -581,7 +581,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff" abnormalTime="120" val="0" abnormalLvl="1" abnormalType="abnormal_item">
-				<add order="0x40" stat="gainMp" val="#gainMp" />
+				<add order="0x40" stat="manaCharge" val="#manaCharge" />
 			</effect>
 		</for>
 	</skill>
@@ -770,7 +770,7 @@
 		</for>
 	</skill>
 	<skill id="3138" levels="10" name="Item Skill: Heal Empower">
-		<table name="#bonusHp"> 44 49 53 57 61 64 68 72 75 79 </table>
+		<table name="#healEffect"> 44 49 53 57 61 64 68 72 75 79 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<table name="#mpConsume"> 38 42 44 47 51 52 55 58 61 65 </table>
 		<table name="#mpInitialConsume"> 10 11 11 12 13 13 14 15 16 17 </table>
@@ -788,7 +788,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff" abnormalTime="120" val="0" abnormalLvl="1" abnormalType="abnormal_item">
-				<add order="0x40" stat="bonusHp" val="#bonusHp" />
+				<add order="0x40" stat="healEffect" val="#healEffect" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03200-03299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03200-03299.xml
index 74f70896eb..5867207ae8 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03200-03299.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03200-03299.xml
@@ -514,7 +514,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainHp" val="1.01" />
+			<mul order="0x30" stat="healEffect" val="1.01" />
 		</for>
 	</skill>
 	<skill id="3239" levels="10" name="Item Skill: Mana Gain">
@@ -524,7 +524,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainMp" val="1.01" />
+			<add order="0x40" stat="manaCharge" val="1" />
 		</for>
 	</skill>
 	<skill id="3240" levels="10" name="Item Skill: Might">
@@ -583,13 +583,13 @@
 	</skill>
 	<skill id="3246" levels="10" name="Item Skill: Heal Empower">
 		<!-- Confirmed CT2.5 -->
-		<table name="#bonusHp"> 10 11 12 13 14 16 17 18 19 20 </table>
+		<table name="#healEffect"> 10 11 12 13 14 16 17 18 19 20 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<add order="0x40" stat="bonusHp" val="#bonusHp" />
+			<add order="0x40" stat="healEffect" val="#healEffect" />
 		</for>
 	</skill>
 	<skill id="3247" levels="10" name="Item Skill: Agility">
@@ -1158,7 +1158,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff" abnormalTime="120" val="0" abnormalLvl="1" abnormalType="talisman">
-				<add order="0x40" stat="bonusHp" val="100" />
+				<add order="0x40" stat="healEffect" val="100" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml
index b67297493e..1a8e9a78d2 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml
@@ -114,7 +114,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<add order="0x40" stat="bonusHp" val="40" />
+			<add order="0x40" stat="healEffect" val="40" />
 		</for>
 	</skill>
 	<skill id="3313" levels="1" name="Yellow Talisman of Alacrity">
@@ -473,7 +473,7 @@
 		<for>
 			<mul order="0x30" stat="pDef" val="1.054" /> <!-- P. Def. +5.4% -->
 			<add order="0x40" stat="maxHp" val="492" /> <!-- Max HP +492 effect -->
-			<mul order="0x30" stat="gainHp" val="1.03" /> <!-- Received Increased Heal +3% -->
+			<mul order="0x30" stat="healEffect" val="1.03" /> <!-- Received Increased Heal +3% -->
 			<sub order="0x40" stat="stunVuln" val="13" /> <!-- Shock resistance is increased +13% -->
 			<add order="0x40" stat="darkRes" val="8" /> <!-- Darkness resistance is increased +8 -->
 			<add order="0x10" stat="cloak" val="1" /> <!-- Opens cloak slot -->
@@ -555,7 +555,7 @@
 		<for>
 			<mul order="0x30" stat="mAtkSpd" val="1.15" /> <!-- Casting Spd. +15% -->
 			<add order="0x40" stat="maxMp" val="321" /> <!-- Max MP +321 -->
-			<add order="0x40" stat="bonusHp" val="20" /> <!-- Increase amount of heal +20 -->
+			<add order="0x40" stat="healEffect" val="20" /> <!-- Increase amount of heal +20 -->
 			<sub order="0x40" stat="cancel" val="15" /> <!-- Decrease magic cancel rate -15% -->
 			<add order="0x40" stat="darkRes" val="8" /> <!-- Dark Resistance +8 -->
 			<add order="0x10" stat="cloak" val="1" /> <!-- Opens cloak slot -->
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03400-03499.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03400-03499.xml
index 5ced774a96..1090edbf7c 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03400-03499.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03400-03499.xml
@@ -542,7 +542,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff" abnormalTime="10" val="0" abnormalLvl="1" abnormalType="talisman">
-				<add order="0x40" stat="bonusHp" val="1000" />
+				<add order="0x40" stat="healEffect" val="1000" />
 			</effect>
 		</for>
 	</skill>
@@ -1008,7 +1008,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<add order="0x40" stat="bonusHp" val="8" />
+			<add order="0x40" stat="healEffect" val="8" />
 		</for>
 	</skill>
 	<skill id="3496" levels="1" name="Red Talisman of Recovery">
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03500-03599.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03500-03599.xml
index d475b4f1d2..a3d08a6f78 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03500-03599.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03500-03599.xml
@@ -230,7 +230,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainHp" val="1.04" /> <!-- Heal +4% -->
+			<mul order="0x30" stat="healEffect" val="1.04" /> <!-- Heal +4% -->
 			<sub order="0x40" stat="paralyzeVuln" val="50" /> <!-- Paralysis Resistance +50% -->
 		</for>
 	</skill>
@@ -515,7 +515,7 @@
 			<add order="0x40" stat="stunProf" val="30" />
 			<sub order="0x40" stat="derangementVuln" val="30" />
 			<add order="0x40" stat="derangementProf" val="30" />
-			<mul order="0x30" stat="gainHp" val="1.1" />
+			<mul order="0x30" stat="healEffect" val="1.1" />
 			<mul order="0x30" stat="MagicalMpConsumeRate" val="0.95" />
 			<mul order="0x30" stat="PhysicalMpConsumeRate" val="0.95" />
 			<add order="0x40" stat="absorbDam" val="4" /> <!-- absorb 4% HP from damage inflicted on enemies -->
@@ -526,7 +526,7 @@
 		<!-- Boss Jewel Skill -->
 		<table name="#bonus"> 20 30 </table>
 		<table name="#darkRes"> 0 15 </table>
-		<table name="#hpGain"> 1.1 1.15 </table>
+		<table name="#healEffect"> 1.1 1.15 </table>
 		<table name="#magicLvl"> 75 80 </table>
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="P" />
@@ -538,7 +538,7 @@
 			<add order="0x40" stat="bleedProf" val="30" />
 			<add order="0x40" stat="stunProf" val="#bonus" />
 			<add order="0x40" stat="derangementProf" val="#bonus" />
-			<mul order="0x30" stat="gainHp" val="#hpGain" />
+			<mul order="0x30" stat="healEffect" val="#healEffect" />
 			<add order="0x40" stat="absorbDam" val="4" />
 			<add order="0x40" stat="darkRes" val="#darkRes" />
 		</for>
@@ -552,7 +552,7 @@
 		<for>
 			<sub order="0x40" stat="bleedVuln" val="20" />
 			<add order="0x40" stat="bleedProf" val="20" />
-			<mul order="0x30" stat="gainHp" val="1.06" />
+			<mul order="0x30" stat="healEffect" val="1.06" />
 		</for>
 	</skill>
 	<skill id="3561" levels="1" name="Ring of Baium">
@@ -1149,7 +1149,6 @@
 		<set name="aggroPoints" val="100" />
 		<set name="magicLvl" val="80" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<cond msgId="113" addName="1">
 			<not>
@@ -1182,7 +1181,6 @@
 		<set name="aggroPoints" val="100" />
 		<set name="magicLvl" val="80" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<cond>
 			<not>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03600-03699.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03600-03699.xml
index 1379cff6fc..985eebc6e5 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03600-03699.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03600-03699.xml
@@ -618,7 +618,7 @@
 		<for>
 			<mul order="0x30" stat="pDef" val="1.066" /> <!-- P. Def. +6.6% -->
 			<add order="0x40" stat="maxHp" val="492" /> <!-- Max HP +492 -->
-			<mul order="0x30" stat="gainHp" val="1.04" /> <!-- Heal Capacity +4% -->
+			<mul order="0x30" stat="healEffect" val="1.04" /> <!-- Heal Capacity +4% -->
 			<sub order="0x40" stat="stunVuln" val="15" /> <!-- Stun Resistance +15 -->
 			<add order="0x40" stat="darkRes" val="8" /> <!-- Dark Resistance +8 -->
 			<add order="0x10" stat="cloak" val="1" /> <!-- Opens cloak slot -->
@@ -741,7 +741,7 @@
 		<for>
 			<mul order="0x30" stat="mAtkSpd" val="1.15" /> <!-- Casting Spd. +15% -->
 			<add order="0x40" stat="maxMp" val="321" /> <!-- Max MP +321 -->
-			<add order="0x40" stat="bonusHp" val="22" /> <!-- Heal Capacity +22 -->
+			<add order="0x40" stat="healEffect" val="22" /> <!-- Heal Capacity +22 -->
 			<sub order="0x40" stat="cancel" val="15" /> <!-- Magic Cancel Rate -15 -->
 			<add order="0x40" stat="darkRes" val="8" /> <!-- Dark Resistance +8 -->
 			<add order="0x10" stat="cloak" val="1" /> <!-- Opens cloak slot -->
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03700-03799.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03700-03799.xml
index 30bdedbf2d..5a8a826c05 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03700-03799.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03700-03799.xml
@@ -235,7 +235,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainHp" val="1.01" />
+			<mul order="0x30" stat="healEffect" val="1.01" />
 			<sub order="0x40" stat="paralyzeVuln" val="7.5" />
 		</for>
 	</skill>
@@ -245,7 +245,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainHp" val="1.12" />
+			<mul order="0x30" stat="healEffect" val="1.12" />
 			<add order="0x40" stat="paralyzeVuln" val="20" />
 		</for>
 	</skill>
@@ -254,7 +254,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainHp" val="1.02" />
+			<mul order="0x30" stat="healEffect" val="1.02" />
 			<sub order="0x40" stat="paralyzeVuln" val="12.5" />
 		</for>
 	</skill>
@@ -263,7 +263,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainHp" val="1.01" />
+			<mul order="0x30" stat="healEffect" val="1.01" />
 			<sub order="0x40" stat="paralyzeVuln" val="5" />
 		</for>
 	</skill>
@@ -272,7 +272,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainHp" val="1.01" />
+			<mul order="0x30" stat="healEffect" val="1.01" />
 			<sub order="0x40" stat="paralyzeVuln" val="5" />
 		</for>
 	</skill>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03800-03899.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03800-03899.xml
index c17a5b5c14..8ba8118d65 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03800-03899.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03800-03899.xml
@@ -488,7 +488,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<add order="0x40" stat="bonusHp" val="37" />
+			<add order="0x40" stat="healEffect" val="37" />
 		</for>
 	</skill>
 	<skill id="3857" levels="1" name="Sword of Clarity">
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03900-03999.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03900-03999.xml
index eefce72e33..ea27cc9996 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03900-03999.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03900-03999.xml
@@ -2,13 +2,13 @@
 <list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/skills.xsd">
 	<skill id="3900" levels="2" name="Staff of Divine Power">
 		<!-- CT2.5 retail confirmed -->
-		<table name="#bonusHp"> 33 43 </table>
+		<table name="#healEffect"> 33 43 </table>
 		<table name="#magicLvl"> 61 80 </table>
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<add order="0x40" stat="bonusHp" val="#bonusHp" />
+			<add order="0x40" stat="healEffect" val="#healEffect" />
 		</for>
 	</skill>
 	<skill id="3901" levels="2" name="Staff of Mana Boost">
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml
index ef54873495..60219b933c 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml
@@ -226,7 +226,6 @@
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="35" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="10846" />
@@ -265,7 +264,6 @@
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="35" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="10846" />
@@ -319,7 +317,6 @@
 		<set name="mpConsume" val="98" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="10000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="628" />
@@ -706,7 +703,6 @@
 		<set name="mpConsume" val="70" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="10000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="427" />
@@ -840,7 +836,6 @@
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -1060,7 +1055,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -1374,7 +1368,6 @@
 		<set name="magicLvl" val="60" />
 		<set name="mpConsume" val="98" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="628" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/04100-04199.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/04100-04199.xml
index b675c890bf..f59c28a8e6 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/04100-04199.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/04100-04199.xml
@@ -364,7 +364,6 @@
 		<set name="mpConsume" val="105" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="10000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="689" />
@@ -690,7 +689,6 @@
 		<set name="hitTime" val="2000" />
 		<set name="magicLvl" val="75" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="1000" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/04200-04299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/04200-04299.xml
index efe53fedf3..b9c891c04b 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/04200-04299.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/04200-04299.xml
@@ -231,7 +231,6 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -519,7 +518,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<mul order="0x30" stat="gainHp" val="0" />
+			<mul order="0x30" stat="healEffect" val="0" />
 		</for>
 	</skill>
 	<skill id="4227" levels="1" name="Zaken Regeneration">
@@ -679,7 +678,7 @@
 		<set name="targetType" val="AREA" />
 		<for>
 			<effect name="Debuff" abnormalTime="120" val="0" effectPower="90" abnormalLvl="1" abnormalType="heal_effect_down">
-				<mul order="0x30" stat="gainHp" val="0.5" />
+				<mul order="0x30" stat="healEffect" val="0.5" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/04400-04499.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/04400-04499.xml
index d36c0e2114..05960d4e1d 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/04400-04499.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/04400-04499.xml
@@ -1031,7 +1031,6 @@
 		<set name="aggroPoints" val="100" />
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="HealPercent" noicon="1" val="#amount" />
@@ -1248,7 +1247,6 @@
 		<set name="hitTime" val="100" />
 		<set name="magicLvl" val="75" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="HealPercent" noicon="1" val="50" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/04500-04599.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/04500-04599.xml
index 25e1be7e30..450f35d9ff 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/04500-04599.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/04500-04599.xml
@@ -119,7 +119,6 @@
 		<set name="mpInitialConsume" val="16" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="5600" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/04600-04699.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/04600-04699.xml
index d514de847e..0d062ada4c 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/04600-04699.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/04600-04699.xml
@@ -573,7 +573,7 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Debuff" abnormalTime="5" val="0" abnormalLvl="1" abnormalType="heal_effect_down">
-				<mul order="0x30" stat="gainHp" val="0" />
+				<mul order="0x30" stat="healEffect" val="0" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/04700-04799.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/04700-04799.xml
index cf4b668ad3..5011ea6e03 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/04700-04799.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/04700-04799.xml
@@ -214,7 +214,6 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="HEAL" />
 		<!-- NOTE: skill description mention party members, but is client typo, it could affect any single target -->
 		<set name="targetType" val="ONE" />
 		<for>
@@ -383,10 +382,12 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#amount" />
+		<set name="power" val="#amount" /> <!-- TODO: remove after BabyPet rework -->
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="OWNER_PET" />
+		<for>
+			<effect name="Heal" noicon="1" val="#amount" />
+		</for>
 	</skill>
 	<skill id="4718" levels="12" name="Greater Heal Trick">
 		<table name="#amount"> 62 113 184 272 371 471 558 592 617 634 640 640 </table>
@@ -400,10 +401,12 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#amount" />
+		<set name="power" val="#amount" /> <!-- TODO: remove after BabyPet rework -->
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="OWNER_PET" />
+		<for>
+			<effect name="Heal" noicon="1" val="#amount" />
+		</for>
 	</skill>
 	<skill id="4719" levels="12" name="BOSS Strike">
 		<!-- Boss Skill -->
@@ -1588,7 +1591,6 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -1607,7 +1609,6 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -1626,7 +1627,6 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -1645,7 +1645,6 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
@@ -1664,7 +1663,6 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05000-05099.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05000-05099.xml
index faa045fec9..f1538311d4 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05000-05099.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05000-05099.xml
@@ -138,7 +138,7 @@
 		<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="#gainHp"> 1 1 1 0.5 1 </table>
+		<table name="#healEffect"> 1 1 1 0.5 1 </table>
 		<table name="#healPercent"> 3 0 0 0 0 </table>
 		<table name="#isDebuff"> false false false true true </table>
 		<table name="#isMagic"> 1 0 0 1 1 </table>
@@ -168,7 +168,7 @@
 				<mul order="0x30" stat="pAtkSpd" val="#attackAndSpeed" />
 				<mul order="0x30" stat="mAtkSpd" val="#attackAndSpeed" />
 				<add order="0x40" stat="runSpd" val="#attackAndSpeed" />
-				<mul order="0x30" stat="gainHp" val="#gainHp" />
+				<mul order="0x30" stat="healEffect" val="#healEffect" />
 			</effect>
 			<effect name="#effectname2" noicon="1" val="0" effectPower="#effectPower" />
 			<effect name="HealPercent" noicon="1" val="#healPercent" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05100-05199.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05100-05199.xml
index 31bfdc01f3..35af9d23ec 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05100-05199.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05100-05199.xml
@@ -807,7 +807,7 @@
 	<skill id="5148" levels="10" name="Prayer">
 		<!-- Confirmed CT2.5 -->
 		<!-- Augmentation Skill (Trigger) -->
-		<table name="#gainHp"> 1.04 1.04 1.04 1.05 1.05 1.05 1.06 1.06 1.06 1.07 </table>
+		<table name="#healEffect"> 1.04 1.04 1.04 1.05 1.05 1.05 1.06 1.06 1.06 1.07 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="60" />
@@ -822,7 +822,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff" abnormalTime="60" val="0" abnormalLvl="1" abnormalType="abnormal_item">
-				<mul order="0x30" stat="gainHp" val="#gainHp" />
+				<mul order="0x30" stat="healEffect" val="#healEffect" />
 			</effect>
 		</for>
 	</skill>
@@ -881,7 +881,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff" abnormalTime="60" val="0" abnormalLvl="1" abnormalType="abnormal_item">
-				<mul order="0x30" stat="gainMp" val="1.01" />
+				<add order="0x40" stat="manaCharge" val="1" />
 			</effect>
 		</for>
 	</skill>
@@ -1846,11 +1846,13 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A2" />
-		<set name="power" val="#amount" />
+		<set name="power" val="#amount" /> <!-- TODO: remove after BabyPet rework -->
 		<set name="reuseDelay" val="6000" />
 		<set name="reuseDelay" val="10000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="OWNER_PET" />
+		<for>
+			<effect name="Heal" noicon="1" val="#amount" />
+		</for>
 	</skill>
 	<skill id="5196" levels="3" name="Pet Wind Shackle">
 		<table name="#magicLvl"> 64 66 68 </table>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05200-05299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05200-05299.xml
index 234fe19d3c..b8d5304aae 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05200-05299.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05200-05299.xml
@@ -115,7 +115,6 @@
 		<!-- CT2.5 retail confirmed -->
 		<set name="magicLvl" val="99" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="HealPercent" noicon="1" val="100" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml
index 6bc716aa01..9d96f49d72 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml
@@ -731,7 +731,7 @@
 				<mul order="0x30" stat="mAtk" val="1.1" />
 				<mul order="0x30" stat="MagicalMpConsumeRate" val="0" />
 				<mul order="0x30" stat="PhysicalMpConsumeRate" val="0" />
-				<mul order="0x30" stat="gainHp" val="1.1" />
+				<mul order="0x30" stat="healEffect" val="1.1" />
 			</effect>
 		</for>
 	</skill>
@@ -740,16 +740,17 @@
 		<table name="#magicLvl"> 20 40 58 70 </table>
 		<set name="isTriggeredSkill" val="true" />
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="num_souls" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="10000" />
-		<set name="skillType" val="CHARGESOUL" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2163">
 			<not>
 				<player souls="40" /> <!-- Max Amount of Souls -->
 			</not>
 		</cond>
+		<for>
+			<effect name="FocusSouls" noicon="1" val="1" />
+		</for>
 	</skill>
 	<skill id="5549" levels="1" name="Physical Short-range Weakness">
 		<set name="operateType" val="P" />
@@ -798,7 +799,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<add order="0x40" stat="gainHp" val="#power" />
+			<add order="0x40" stat="healEffect" val="#power" />
 		</for>
 	</skill>
 	<skill id="5553" levels="12" name="NPC HP Region">
@@ -938,7 +939,7 @@
 		<table name="#abnormalLvls"> 2 3 4 </table>
 		<table name="#activationChance"> 10 10 0 </table>
 		<table name="#elementRes"> 0 30 30 </table>
-		<table name="#gainHp"> 1 1 1.3 </table>
+		<table name="#healEffect"> 1 1 1.3 </table>
 		<table name="#triggeredLevel"> 2 3 0 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="20" />
@@ -954,7 +955,7 @@
 				<add order="0x40" stat="pDef" val="500" />
 				<add order="0x40" stat="fireRes" val="#elementRes" />
 				<add order="0x40" stat="darkRes" val="#elementRes" />
-				<mul order="0x30" stat="gainHp" val="#gainHp" />
+				<mul order="0x30" stat="healEffect" val="#healEffect" />
 			</effect>
 		</for>
 	</skill>
@@ -1130,7 +1131,6 @@
 		<set name="isTriggeredSkill" val="true" />
 		<set name="magicLvl" val="81" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="SUMMON" />
 		<for>
 			<effect name="Heal" noicon="1" val="418" />
@@ -1501,10 +1501,12 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#amount" />
+		<set name="power" val="#amount" /> <!-- TODO: remove after BabyPet rework -->
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="OWNER_PET" />
+		<for>
+			<effect name="Heal" noicon="1" val="#amount" />
+		</for>
 	</skill>
 	<skill id="5591" levels="8" name="Light Flow">
 		<!-- Confirmed CT2.5 -->
@@ -1516,7 +1518,6 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="#amount" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml
index 179decbd0b..2bee6c5a10 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml
@@ -1575,7 +1575,6 @@
 		<set name="magicLvl" val="80" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="10000" />
-		<set name="skillType" val="HEAL" />
 		<set name="staticReuse" val="true" />
 		<set name="targetType" val="ONE" />
 		<for>
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05700-05799.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05700-05799.xml
index 48cae9b0a0..1cdf66f277 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05700-05799.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05700-05799.xml
@@ -160,7 +160,6 @@
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="operateType" val="CA5" />
 		<set name="reuseDelay" val="10000" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="200" />
@@ -666,7 +665,6 @@
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="99" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="CpHeal" noicon="1" val="5000" />
@@ -682,7 +680,6 @@
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="99" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="ManaHealPercent" noicon="1" val="100" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05800-05899.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05800-05899.xml
index ce02cb3a43..df8ff85352 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05800-05899.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05800-05899.xml
@@ -399,7 +399,6 @@
 		<set name="mpInitialConsume" val="26" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<for>
 			<effect name="HealPercent" noicon="1" val="10" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/06300-06399.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/06300-06399.xml
index ead094808e..7100bd5c21 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/06300-06399.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/06300-06399.xml
@@ -634,7 +634,6 @@
 		<set name="magicLvl" val="83" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="HealPercent" noicon="1" val="5" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/06400-06499.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/06400-06499.xml
index c1b196250a..2b64beac15 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/06400-06499.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/06400-06499.xml
@@ -559,9 +559,10 @@
 		<set name="hitTime" val="500" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="operateType" val="A1" />
-		<set name="power" val="30" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
+		<for>
+			<effect name="HealPercent" noicon="1" val="30" />
+		</for>
 	</skill>
 	<skill id="6431" levels="1" name="Feral Might">
 		<!-- P. Atk. increases by 19 % for 5 minutes -->
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/06600-06699.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/06600-06699.xml
index 99931132d3..678d36faf8 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/06600-06699.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/06600-06699.xml
@@ -264,10 +264,11 @@
 		<set name="hitTime" val="100" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="operateType" val="A1" />
-		<set name="power" val="15" />
 		<set name="reuseDelay" val="2000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
+		<for>
+			<effect name="HealPercent" noicon="1" val="15" />
+		</for>
 	</skill>
 	<skill id="6626" levels="2" name="Energy of Life's Power">
 		<!-- This skill only has one level, 2. -->
@@ -276,10 +277,11 @@
 		<set name="hitTime" val="100" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="operateType" val="A1" />
-		<set name="power" val="25" />
 		<set name="reuseDelay" val="2000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
+		<for>
+			<effect name="HealPercent" noicon="1" val="25" />
+		</for>
 	</skill>
 	<skill id="6627" levels="3" name="Energy of Life's Highest Power">
 		<!-- This skill only has one level, 3. -->
@@ -288,10 +290,11 @@
 		<set name="hitTime" val="100" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="operateType" val="A1" />
-		<set name="power" val="100" />
 		<set name="reuseDelay" val="2000" />
-		<set name="skillType" val="HEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
+		<for>
+			<effect name="HealPercent" noicon="1" val="100" />
+		</for>
 	</skill>
 	<skill id="6628" levels="1" name="Energy of Mana">
 		<set name="castRange" val="2000" />
@@ -299,10 +302,11 @@
 		<set name="hitTime" val="100" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="operateType" val="A1" />
-		<set name="power" val="11" />
 		<set name="reuseDelay" val="2000" />
-		<set name="skillType" val="MANAHEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
+		<for>
+			<effect name="ManaHealPercent" noicon="1" val="11" />
+		</for>
 	</skill>
 	<skill id="6629" levels="2" name="Energy of Mana's Power">
 		<!-- This skill only has one level, 2. -->
@@ -311,10 +315,11 @@
 		<set name="hitTime" val="100" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="operateType" val="A1" />
-		<set name="power" val="18" />
 		<set name="reuseDelay" val="2000" />
-		<set name="skillType" val="MANAHEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
+		<for>
+			<effect name="ManaHealPercent" noicon="1" val="18" />
+		</for>
 	</skill>
 	<skill id="6630" levels="3" name="Energy of Mana's Highest Power">
 		<!-- This skill only has one level, 3. -->
@@ -323,10 +328,11 @@
 		<set name="hitTime" val="100" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="operateType" val="A1" />
-		<set name="power" val="100" />
 		<set name="reuseDelay" val="2000" />
-		<set name="skillType" val="MANAHEAL_PERCENT" />
 		<set name="targetType" val="ONE" />
+		<for>
+			<effect name="ManaHealPercent" noicon="1" val="100" />
+		</for>
 	</skill>
 	<skill id="6631" levels="1" name="Energy of Power">
 		<set name="abnormalLvl" val="3" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/06700-06799.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/06700-06799.xml
index a8a7bd9ff7..9b0e762080 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/06700-06799.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/06700-06799.xml
@@ -350,7 +350,6 @@
 		<set name="hitTime" val="2000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="858" />
@@ -420,7 +419,6 @@
 		<set name="magicLvl" val="85" />
 		<set name="mpConsume" val="130" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Heal" noicon="1" val="800" />
@@ -908,7 +906,6 @@
 		<set name="magicLvl" val="85" />
 		<set name="mpConsume" val="130" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="CLAN" />
 		<for>
 			<effect name="Heal" noicon="1" val="800" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/06800-06899.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/06800-06899.xml
index 6f28e04cbe..4188fb6f9d 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/06800-06899.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/06800-06899.xml
@@ -231,7 +231,6 @@
 		<set name="effectRange" val="900" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" /> <!-- FIXME: value unconfirmed -->
-		<set name="skillType" val="HEAL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Heal" noicon="1" val="5000" /> <!-- FIXME: value unconfirmed -->
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/08200-08299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/08200-08299.xml
index 687962f03a..1ed437e09d 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/08200-08299.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/08200-08299.xml
@@ -57,7 +57,7 @@
 		<for>
 			<mul order="0x30" stat="pDef" val="1.054" /> <!-- P. Def. +5.4% -->
 			<add order="0x40" stat="maxHp" val="492" /> <!-- Max HP +492 effect -->
-			<mul order="0x30" stat="gainHp" val="1.03" /> <!-- Received Increased Heal +3% -->
+			<mul order="0x30" stat="healEffect" val="1.03" /> <!-- Received Increased Heal +3% -->
 			<sub order="0x40" stat="stunVuln" val="13" /> <!-- Shock resistance is increased +13% -->
 			<add order="0x40" stat="darkRes" val="8" /> <!-- Darkness resistance is increased +8 -->
 			<mul order="0x30" stat="pvpMagicalDef" val="1.05" />
@@ -196,7 +196,7 @@
 		<for>
 			<mul order="0x30" stat="mAtkSpd" val="1.15" /> <!-- Casting Spd. +15% -->
 			<add order="0x40" stat="maxMp" val="321" /> <!-- Max MP +321 -->
-			<add order="0x40" stat="bonusHp" val="20" /> <!-- Increase amount of heal +20 -->
+			<add order="0x40" stat="healEffect" val="20" /> <!-- Increase amount of heal +20 -->
 			<sub order="0x40" stat="cancel" val="15" /> <!-- Decrease magic cancel rate -15% -->
 			<add order="0x40" stat="darkRes" val="8" /> <!-- Dark Resistance +8 -->
 			<mul order="0x30" stat="pvpMagicalDef" val="1.05" />
@@ -338,7 +338,7 @@
 		<for>
 			<mul order="0x30" stat="pDef" val="1.066" /> <!-- P. Def. +6.6% -->
 			<add order="0x40" stat="maxHp" val="492" /> <!-- Max HP +492 -->
-			<mul order="0x30" stat="gainHp" val="1.04" /> <!-- Heal Capacity +4% -->
+			<mul order="0x30" stat="healEffect" val="1.04" /> <!-- Heal Capacity +4% -->
 			<sub order="0x40" stat="stunVuln" val="15" /> <!-- Stun Resistance +15 -->
 			<add order="0x40" stat="darkRes" val="8" /> <!-- Dark Resistance +8 -->
 			<mul order="0x30" stat="pvpMagicalDef" val="1.05" />
@@ -515,7 +515,7 @@
 		<for>
 			<mul order="0x30" stat="mAtkSpd" val="1.15" /> <!-- Casting Spd. +15% -->
 			<add order="0x40" stat="maxMp" val="321" /> <!-- Max MP +321 -->
-			<add order="0x40" stat="bonusHp" val="22" /> <!-- Heal Capacity +22 -->
+			<add order="0x40" stat="healEffect" val="22" /> <!-- Heal Capacity +22 -->
 			<sub order="0x40" stat="cancel" val="15" /> <!-- Magic Cancel Rate -15 -->
 			<add order="0x40" stat="darkRes" val="8" /> <!-- Dark Resistance +8 -->
 			<mul order="0x30" stat="pvpMagicalDef" val="1.05" />
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/08400-08499.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/08400-08499.xml
index e1dfa17a73..305453ab29 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/skills/08400-08499.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/08400-08499.xml
@@ -805,7 +805,7 @@
 			<add order="0x40" stat="reflectDam" val="4" />
 			<mul order="0x30" stat="MagicalMpConsumeRate" val="0.95" />
 			<sub order="0x40" stat="derangementVuln" val="10" />
-			<add order="0x40" stat="bonusHp" val="15" />
+			<add order="0x40" stat="healEffect" val="15" />
 			<add order="0x10" stat="MEN" val="2" />
 			<add order="0x10" stat="CON" val="1" />
 			<sub order="0x10" stat="STR" val="1" />
-- 
GitLab