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 45e1753c4218dbd78cf573aa37be5f70c2563538..d32d9f24106751df7b66440841d3fcc647f3edea 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java
@@ -226,7 +226,6 @@ import handlers.skillhandlers.GiveVitality;
 import handlers.skillhandlers.Heal;
 import handlers.skillhandlers.HealPercent;
 import handlers.skillhandlers.InstantJump;
-import handlers.skillhandlers.ManaHealByLevel;
 import handlers.skillhandlers.Manadam;
 import handlers.skillhandlers.Mdam;
 import handlers.skillhandlers.NornilsPower;
@@ -560,7 +559,6 @@ public class MasterHandler
 			Dummy.class,
 			RefuelAirShip.class,
 			NornilsPower.class,
-			ManaHealByLevel.class,
 		},
 		{
 			// User Command Handlers
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 f057fdb2fcf5b21b3c7b36359af2e4045f2efc71..ea86199299ae62aa080db65b750e37cd8c9d4b0f 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
@@ -48,13 +48,12 @@ public class ManaHealByLevel extends L2Effect
 	public boolean onStart()
 	{
 		L2Character target = getEffected();
-		if ((target == null) || target.isDead() || target.isDoor())
+		if ((target == null) || target.isDead() || target.isDoor() || target.isInvul())
 		{
 			return false;
 		}
 		
 		StatusUpdate su = new StatusUpdate(target);
-		
 		double amount = calc();
 		
 		// recharged mp influenced by difference between target level and skill level
@@ -125,7 +124,6 @@ public class ManaHealByLevel extends L2Effect
 		target.sendPacket(sm);
 		su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp());
 		target.sendPacket(su);
-		
 		return true;
 	}
 	
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ManaHealByLevel.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ManaHealByLevel.java
deleted file mode 100644
index 7251f58c01a3ce94bda211ae8ce6e6007baf30b8..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ManaHealByLevel.java
+++ /dev/null
@@ -1,165 +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.model.L2Object;
-import com.l2jserver.gameserver.model.ShotType;
-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;
-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;
-
-/**
- * @version $Revision: 1.1.2.2.2.1 $ $Date: 2005/03/02 15:38:36 $
- */
-public class ManaHealByLevel implements ISkillHandler
-{
-	private static final L2SkillType[] SKILL_IDS =
-	{
-		L2SkillType.MANAHEAL_BY_LEVEL
-	};
-	
-	@Override
-	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
-	{
-		for (L2Character target : (L2Character[]) targets)
-		{
-			if (target.isInvul())
-			{
-				continue;
-			}
-			
-			double mp = skill.getPower();
-			
-			// 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.
-			mp = target.calcStat(Stats.RECHARGE_MP_RATE, mp, null, null);
-			if (target.getLevel() > skill.getMagicLevel())
-			{
-				int lvlDiff = target.getLevel() - skill.getMagicLevel();
-				// if target is too high compared to skill level, the amount of recharged mp gradually decreases.
-				if (lvlDiff == 6)
-				{
-					mp *= 0.9; // only 90% effective
-				}
-				else if (lvlDiff == 7)
-				{
-					mp *= 0.8; // 80%
-				}
-				else if (lvlDiff == 8)
-				{
-					mp *= 0.7; // 70%
-				}
-				else if (lvlDiff == 9)
-				{
-					mp *= 0.6; // 60%
-				}
-				else if (lvlDiff == 10)
-				{
-					mp *= 0.5; // 50%
-				}
-				else if (lvlDiff == 11)
-				{
-					mp *= 0.4; // 40%
-				}
-				else if (lvlDiff == 12)
-				{
-					mp *= 0.3; // 30%
-				}
-				else if (lvlDiff == 13)
-				{
-					mp *= 0.2; // 20%
-				}
-				else if (lvlDiff == 14)
-				{
-					mp *= 0.1; // 10%
-				}
-				else if (lvlDiff >= 15)
-				{
-					mp = 0; // 0mp recharged
-				}
-			}
-			
-			// from CT2 u will receive exact MP, u can't go over it, if u have full MP and u get MP buff, u will receive 0MP restored message
-			mp = Math.min(mp, target.getMaxRecoverableMp() - target.getCurrentMp());
-			
-			// Prevent negative amounts
-			if (mp < 0)
-			{
-				mp = 0;
-			}
-			
-			target.setCurrentMp(mp + target.getCurrentMp());
-			StatusUpdate sump = new StatusUpdate(target);
-			sump.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp());
-			target.sendPacket(sump);
-			
-			SystemMessage sm;
-			// if skill power is "0 or less" don't show heal system message.
-			if (skill.getPower() > 0)
-			{
-				if (activeChar.isPlayer() && (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) mp);
-				target.sendPacket(sm);
-			}
-			
-			if (skill.hasEffects())
-			{
-				target.stopSkillEffects(skill.getId());
-				skill.getEffects(activeChar, target);
-				sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
-				sm.addSkillName(skill);
-				target.sendPacket(sm);
-			}
-		}
-		
-		if (skill.hasSelfEffects())
-		{
-			L2Effect effect = activeChar.getFirstEffect(skill.getId());
-			if ((effect != null) && effect.isSelfEffect())
-			{
-				// Replace old effect with new one.
-				effect.exit();
-			}
-			// cast self effect if any
-			skill.getEffectsSelf(activeChar);
-		}
-		
-		activeChar.setChargedShot(activeChar.isChargedShot(ShotType.BLESSED_SPIRITSHOTS) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS, false);
-	}
-	
-	@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 3d97e2779a752f80debc7e172bb3c560b3f3d805..d2e6423d48180978fdc63b4e4d392b21121c5bac 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
@@ -40,14 +40,12 @@ public class One implements ITargetTypeHandler
 		{
 			case BUFF:
 			case HEAL:
-			case HEAL_PERCENT:
-			case MANAHEAL_BY_LEVEL:
 			case DUMMY:
 				canTargetSelf = true;
 				break;
 			default:
 			{
-				canTargetSelf = skill.hasEffectType(L2EffectType.CANCEL_DEBUFF, L2EffectType.NEGATE, L2EffectType.CPHEAL);
+				canTargetSelf = skill.hasEffectType(L2EffectType.CANCEL_DEBUFF, L2EffectType.NEGATE, L2EffectType.CPHEAL, L2EffectType.HEAL_PERCENT, L2EffectType.MANAHEAL_BY_LEVEL);
 				break;
 			}
 		}
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 f41db48e8b479dfc5e448c87ca514c37ce0e408a..b7007f28136061ab28cf34cafad50b240371f6f4 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
@@ -449,7 +449,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<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 390f62523971e147ddf0fc749828ec4503cb869d..89daec005c37535d0b02cad35fac16058401b2d9 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
@@ -279,7 +279,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3000" />
-		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<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/03100-03199.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml
index f67ed8dbea143e3fdefa5670041a591629db5e96..9c307d4ac6fc126f3b53018b29809fced6ae46f8 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
@@ -534,7 +534,6 @@
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="30000" />
-		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="ManaHealByLevel" noicon="1" val="#amount" />
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 711c218d998049473017eda9b4fe904fa17fdadc..ef548734954951c365c24be6ff14dc85dfe50f84 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
@@ -286,7 +286,6 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="8000" />
-		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="ManaHealByLevel" noicon="1" val="#amount" />
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 f32a8a297da6b6eb7f0e24515f25b143edb7a26c..234fe19d3c947eaf7978be220fef8404c2b54dee 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
@@ -16,10 +16,11 @@
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="mpInitialConsume" val="#mpInitialConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#amount" />
 		<set name="reuseDelay" val="12000" />
-		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<set name="targetType" val="OWNER_PET" />
+		<for>
+			<effect name="ManaHealByLevel" noicon="1" val="#amount" />
+		</for>
 	</skill>
 	<skill id="5201" levels="6" name="Pet Concentration">
 		<!-- CT2.5 retail confirmed -->
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 6b81e746a5f58840f2c7c2701898d95f6ecb2032..a8a7bd9ff7093789620f7b0da7caa0ae7f0eb487 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
@@ -320,8 +320,8 @@
 		<set name="effectRange" val="900" />
 		<set name="hitTime" val="6000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="magicLvl" val="80" />
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="ManaHealByLevel" noicon="1" val="136" />