diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/PlainsOfLizardman.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/PlainsOfLizardman.java
index f52aed0054e63ef2f308d0afd3044293e2411fb4..57b5fd3728d408e0bacbe9c7558ba21ba059fc77 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/PlainsOfLizardman.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/PlainsOfLizardman.java
@@ -159,7 +159,7 @@ public class PlainsOfLizardman extends L2AttackableAIScript
 		{
 			playable.broadcastPacket(new MagicSkillUse(playable, playable, skill_id, skill_level, 0, 0));
 			
-			ISkillHandler handler = SkillHandler.getInstance().getSkillHandler(trigger.getSkillType());
+			ISkillHandler handler = SkillHandler.getInstance().getHandler(trigger.getSkillType());
 			if (handler != null)
 				handler.useSkill(playable, trigger, targets);
 			else
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 b25ee53f2d706ff388c6baf57a66ed39ac8eaa6d..1cc72d97ba38f01332bf867761a16d20f472ea08 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -14,75 +14,80 @@
  */
 package handlers;
 
-import handlers.effecthandlers.EffectAbortCast;
-import handlers.effecthandlers.EffectBetray;
-import handlers.effecthandlers.EffectBigHead;
-import handlers.effecthandlers.EffectBlockResurrection;
-import handlers.effecthandlers.EffectBluff;
-import handlers.effecthandlers.EffectBuff;
-import handlers.effecthandlers.EffectCancel;
-import handlers.effecthandlers.EffectCancelAll;
-import handlers.effecthandlers.EffectCancelDebuff;
-import handlers.effecthandlers.EffectChameleonRest;
-import handlers.effecthandlers.EffectChanceSkillTrigger;
-import handlers.effecthandlers.EffectCharmOfCourage;
-import handlers.effecthandlers.EffectCharmOfLuck;
-import handlers.effecthandlers.EffectClanGate;
-import handlers.effecthandlers.EffectCombatPointHealOverTime;
-import handlers.effecthandlers.EffectConfuseMob;
-import handlers.effecthandlers.EffectConfusion;
-import handlers.effecthandlers.EffectCpDamPercent;
-import handlers.effecthandlers.EffectCpHeal;
-import handlers.effecthandlers.EffectCpHealPercent;
-import handlers.effecthandlers.EffectDamOverTime;
-import handlers.effecthandlers.EffectDebuff;
-import handlers.effecthandlers.EffectDisarm;
-import handlers.effecthandlers.EffectDispelBySlot;
-import handlers.effecthandlers.EffectEnemyCharge;
-import handlers.effecthandlers.EffectFakeDeath;
-import handlers.effecthandlers.EffectFear;
-import handlers.effecthandlers.EffectFusion;
-import handlers.effecthandlers.EffectGrow;
-import handlers.effecthandlers.EffectHeal;
-import handlers.effecthandlers.EffectHealOverTime;
-import handlers.effecthandlers.EffectHealPercent;
-import handlers.effecthandlers.EffectHide;
-import handlers.effecthandlers.EffectImmobileBuff;
-import handlers.effecthandlers.EffectImmobilePetBuff;
-import handlers.effecthandlers.EffectIncreaseCharges;
-import handlers.effecthandlers.EffectInvincible;
-import handlers.effecthandlers.EffectManaDamOverTime;
-import handlers.effecthandlers.EffectManaHeal;
-import handlers.effecthandlers.EffectManaHealOverTime;
-import handlers.effecthandlers.EffectManaHealPercent;
-import handlers.effecthandlers.EffectMpConsumePerLevel;
-import handlers.effecthandlers.EffectMute;
-import handlers.effecthandlers.EffectNegate;
-import handlers.effecthandlers.EffectNoblesseBless;
-import handlers.effecthandlers.EffectParalyze;
-import handlers.effecthandlers.EffectPetrification;
-import handlers.effecthandlers.EffectPhoenixBless;
-import handlers.effecthandlers.EffectPhysicalAttackMute;
-import handlers.effecthandlers.EffectPhysicalMute;
-import handlers.effecthandlers.EffectProtectionBlessing;
-import handlers.effecthandlers.EffectRandomizeHate;
-import handlers.effecthandlers.EffectRecovery;
-import handlers.effecthandlers.EffectRelax;
-import handlers.effecthandlers.EffectRemoveTarget;
-import handlers.effecthandlers.EffectRoot;
-import handlers.effecthandlers.EffectSignet;
-import handlers.effecthandlers.EffectSignetAntiSummon;
-import handlers.effecthandlers.EffectSignetMDam;
-import handlers.effecthandlers.EffectSignetNoise;
-import handlers.effecthandlers.EffectSilentMove;
-import handlers.effecthandlers.EffectSleep;
-import handlers.effecthandlers.EffectSpoil;
-import handlers.effecthandlers.EffectStun;
-import handlers.effecthandlers.EffectTargetMe;
-import handlers.effecthandlers.EffectThrowUp;
-import handlers.effecthandlers.EffectTransferDamage;
-import handlers.effecthandlers.EffectTransformation;
-import handlers.effecthandlers.EffectWarp;
+import handlers.effecthandlers.AbortCast;
+import handlers.effecthandlers.Betray;
+import handlers.effecthandlers.BigHead;
+import handlers.effecthandlers.BlockResurrection;
+import handlers.effecthandlers.Bluff;
+import handlers.effecthandlers.Buff;
+import handlers.effecthandlers.Cancel;
+import handlers.effecthandlers.CancelAll;
+import handlers.effecthandlers.CancelDebuff;
+import handlers.effecthandlers.ChameleonRest;
+import handlers.effecthandlers.ChanceSkillTrigger;
+import handlers.effecthandlers.CharmOfCourage;
+import handlers.effecthandlers.CharmOfLuck;
+import handlers.effecthandlers.ClanGate;
+import handlers.effecthandlers.CombatPointHeal;
+import handlers.effecthandlers.CombatPointHealOverTime;
+import handlers.effecthandlers.ConfuseMob;
+import handlers.effecthandlers.Confusion;
+import handlers.effecthandlers.CpDamPercent;
+import handlers.effecthandlers.CpHeal;
+import handlers.effecthandlers.CpHealPercent;
+import handlers.effecthandlers.DamOverTime;
+import handlers.effecthandlers.Debuff;
+import handlers.effecthandlers.Disarm;
+import handlers.effecthandlers.DispelBySlot;
+import handlers.effecthandlers.EnemyCharge;
+import handlers.effecthandlers.FakeDeath;
+import handlers.effecthandlers.Fear;
+import handlers.effecthandlers.Fusion;
+import handlers.effecthandlers.Grow;
+import handlers.effecthandlers.Heal;
+import handlers.effecthandlers.HealOverTime;
+import handlers.effecthandlers.HealPercent;
+import handlers.effecthandlers.Hide;
+import handlers.effecthandlers.ImmobileBuff;
+import handlers.effecthandlers.ImmobilePetBuff;
+import handlers.effecthandlers.IncreaseCharges;
+import handlers.effecthandlers.Invincible;
+import handlers.effecthandlers.ManaDamOverTime;
+import handlers.effecthandlers.ManaHeal;
+import handlers.effecthandlers.ManaHealOverTime;
+import handlers.effecthandlers.ManaHealPercent;
+import handlers.effecthandlers.MpConsumePerLevel;
+import handlers.effecthandlers.Mute;
+import handlers.effecthandlers.Negate;
+import handlers.effecthandlers.NoblesseBless;
+import handlers.effecthandlers.Paralyze;
+import handlers.effecthandlers.Petrification;
+import handlers.effecthandlers.PhoenixBless;
+import handlers.effecthandlers.PhysicalAttackMute;
+import handlers.effecthandlers.PhysicalMute;
+import handlers.effecthandlers.ProtectionBlessing;
+import handlers.effecthandlers.RandomizeHate;
+import handlers.effecthandlers.Recovery;
+import handlers.effecthandlers.Relax;
+import handlers.effecthandlers.RemoveTarget;
+import handlers.effecthandlers.Root;
+import handlers.effecthandlers.Signet;
+import handlers.effecthandlers.SignetAntiSummon;
+import handlers.effecthandlers.SignetMDam;
+import handlers.effecthandlers.SignetNoise;
+import handlers.effecthandlers.SilentMove;
+import handlers.effecthandlers.Sleep;
+import handlers.effecthandlers.Spoil;
+import handlers.effecthandlers.Stun;
+import handlers.effecthandlers.TargetMe;
+import handlers.effecthandlers.ThrowUp;
+import handlers.effecthandlers.TransferDamage;
+import handlers.effecthandlers.Transformation;
+import handlers.effecthandlers.Warp;
+
+import java.lang.reflect.Method;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import com.l2jserver.gameserver.handler.EffectHandler;
 
@@ -91,81 +96,132 @@ import com.l2jserver.gameserver.handler.EffectHandler;
  */
 public final class EffectMasterHandler
 {
-	private static void loadEffectHandlers()
+	private static final Logger _log = Logger.getLogger(EffectMasterHandler.class.getName());
+	
+	private static final Class<?> _loadInstances = EffectHandler.class;
+	
+	private static final Class<?>[] _effects =
 	{
-		EffectHandler.getInstance().registerHandler("AbortCast", EffectAbortCast.class);
-		EffectHandler.getInstance().registerHandler("Betray", EffectBetray.class);
-		EffectHandler.getInstance().registerHandler("BigHead", EffectBigHead.class);
-		EffectHandler.getInstance().registerHandler("BlockResurrection", EffectBlockResurrection.class);
-		EffectHandler.getInstance().registerHandler("Bluff", EffectBluff.class);
-		EffectHandler.getInstance().registerHandler("Buff", EffectBuff.class);
-		EffectHandler.getInstance().registerHandler("Cancel", EffectCancel.class);
-		EffectHandler.getInstance().registerHandler("CancelAll", EffectCancelAll.class);
-		EffectHandler.getInstance().registerHandler("CancelDebuff", EffectCancelDebuff.class);
-		EffectHandler.getInstance().registerHandler("ChameleonRest", EffectChameleonRest.class);
-		EffectHandler.getInstance().registerHandler("ChanceSkillTrigger", EffectChanceSkillTrigger.class);
-		EffectHandler.getInstance().registerHandler("CharmOfCourage", EffectCharmOfCourage.class);
-		EffectHandler.getInstance().registerHandler("CharmOfLuck", EffectCharmOfLuck.class);
-		EffectHandler.getInstance().registerHandler("ClanGate", EffectClanGate.class);
-		EffectHandler.getInstance().registerHandler("CombatPointHealOverTime", EffectCombatPointHealOverTime.class);
-		EffectHandler.getInstance().registerHandler("ConfuseMob", EffectConfuseMob.class);
-		EffectHandler.getInstance().registerHandler("Confusion", EffectConfusion.class);
-		EffectHandler.getInstance().registerHandler("CpDamPercent", EffectCpDamPercent.class);
-		EffectHandler.getInstance().registerHandler("CpHealPercent", EffectCpHealPercent.class);
-		EffectHandler.getInstance().registerHandler("CpHeal", EffectCpHeal.class);
-		EffectHandler.getInstance().registerHandler("DamOverTime", EffectDamOverTime.class);
-		EffectHandler.getInstance().registerHandler("Debuff", EffectDebuff.class);
-		EffectHandler.getInstance().registerHandler("DispelBySlot", EffectDispelBySlot.class);
-		EffectHandler.getInstance().registerHandler("Disarm", EffectDisarm.class);
-		EffectHandler.getInstance().registerHandler("EnemyCharge", EffectEnemyCharge.class);
-		EffectHandler.getInstance().registerHandler("FakeDeath", EffectFakeDeath.class);
-		EffectHandler.getInstance().registerHandler("Fear", EffectFear.class);
-		EffectHandler.getInstance().registerHandler("Fusion", EffectFusion.class);
-		EffectHandler.getInstance().registerHandler("Grow", EffectGrow.class);
-		EffectHandler.getInstance().registerHandler("HealOverTime", EffectHealOverTime.class);
-		EffectHandler.getInstance().registerHandler("HealPercent", EffectHealPercent.class);
-		EffectHandler.getInstance().registerHandler("Heal", EffectHeal.class);
-		EffectHandler.getInstance().registerHandler("Hide", EffectHide.class);
-		EffectHandler.getInstance().registerHandler("ImmobileBuff", EffectImmobileBuff.class);
-		EffectHandler.getInstance().registerHandler("IncreaseCharges", EffectIncreaseCharges.class);
-		EffectHandler.getInstance().registerHandler("ImmobilePetBuff", EffectImmobilePetBuff.class);
-		EffectHandler.getInstance().registerHandler("Invincible", EffectInvincible.class);
-		EffectHandler.getInstance().registerHandler("ManaDamOverTime", EffectManaDamOverTime.class);
-		EffectHandler.getInstance().registerHandler("ManaHealOverTime", EffectManaHealOverTime.class);
-		EffectHandler.getInstance().registerHandler("ManaHealPercent", EffectManaHealPercent.class);
-		EffectHandler.getInstance().registerHandler("ManaHeal", EffectManaHeal.class);
-		EffectHandler.getInstance().registerHandler("MpConsumePerLevel", EffectMpConsumePerLevel.class);
-		EffectHandler.getInstance().registerHandler("Mute", EffectMute.class);
-		EffectHandler.getInstance().registerHandler("Negate", EffectNegate.class);
-		EffectHandler.getInstance().registerHandler("NoblesseBless", EffectNoblesseBless.class);
-		EffectHandler.getInstance().registerHandler("Paralyze", EffectParalyze.class);
-		EffectHandler.getInstance().registerHandler("Petrification", EffectPetrification.class);
-		EffectHandler.getInstance().registerHandler("PhoenixBless", EffectPhoenixBless.class);
-		EffectHandler.getInstance().registerHandler("PhysicalAttackMute", EffectPhysicalAttackMute.class);
-		EffectHandler.getInstance().registerHandler("PhysicalMute", EffectPhysicalMute.class);
-		EffectHandler.getInstance().registerHandler("ProtectionBlessing", EffectProtectionBlessing.class);
-		EffectHandler.getInstance().registerHandler("RandomizeHate", EffectRandomizeHate.class);
-		EffectHandler.getInstance().registerHandler("Recovery", EffectRecovery.class);
-		EffectHandler.getInstance().registerHandler("Relax", EffectRelax.class);
-		EffectHandler.getInstance().registerHandler("RemoveTarget", EffectRemoveTarget.class);
-		EffectHandler.getInstance().registerHandler("Root", EffectRoot.class);
-		EffectHandler.getInstance().registerHandler("Signet", EffectSignet.class);
-		EffectHandler.getInstance().registerHandler("SignetAntiSummon", EffectSignetAntiSummon.class);
-		EffectHandler.getInstance().registerHandler("SignetMDam", EffectSignetMDam.class);
-		EffectHandler.getInstance().registerHandler("SignetNoise", EffectSignetNoise.class);
-		EffectHandler.getInstance().registerHandler("SilentMove", EffectSilentMove.class);
-		EffectHandler.getInstance().registerHandler("Sleep", EffectSleep.class);
-		EffectHandler.getInstance().registerHandler("Spoil", EffectSpoil.class);
-		EffectHandler.getInstance().registerHandler("Stun", EffectStun.class);
-		EffectHandler.getInstance().registerHandler("TargetMe", EffectTargetMe.class);
-		EffectHandler.getInstance().registerHandler("ThrowUp", EffectThrowUp.class);
-		EffectHandler.getInstance().registerHandler("TransferDamage", EffectTransferDamage.class);
-		EffectHandler.getInstance().registerHandler("Transformation", EffectTransformation.class);
-		EffectHandler.getInstance().registerHandler("Warp", EffectWarp.class);
-	}
+		AbortCast.class,
+		Betray.class,
+		BigHead.class,
+		BlockResurrection.class,
+		Bluff.class,
+		Buff.class,
+		Cancel.class,
+		CancelAll.class,
+		CancelDebuff.class,
+		ChameleonRest.class,
+		ChanceSkillTrigger.class,
+		CharmOfCourage.class,
+		CharmOfLuck.class,
+		ClanGate.class,
+		CombatPointHeal.class,
+		CombatPointHealOverTime.class,
+		ConfuseMob.class,
+		Confusion.class,
+		CpHeal.class,
+		CpHealPercent.class,
+		CpDamPercent.class,
+		DamOverTime.class,
+		Debuff.class,
+		DispelBySlot.class,
+		Disarm.class,
+		EnemyCharge.class,
+		FakeDeath.class,
+		Fear.class,
+		Fusion.class,
+		Grow.class,
+		HealOverTime.class,
+		HealPercent.class,
+		Heal.class,
+		Hide.class,
+		ImmobileBuff.class,
+		IncreaseCharges.class,
+		ImmobilePetBuff.class,
+		Invincible.class,
+		ManaDamOverTime.class,
+		ManaHeal.class,
+		ManaHealOverTime.class,
+		ManaHealPercent.class,
+		MpConsumePerLevel.class,
+		Mute.class,
+		Negate.class,
+		NoblesseBless.class,
+		Paralyze.class,
+		Petrification.class,
+		PhoenixBless.class,
+		PhysicalAttackMute.class,
+		PhysicalMute.class,
+		ProtectionBlessing.class,
+		RandomizeHate.class,
+		Recovery.class,
+		Relax.class,
+		RemoveTarget.class,
+		Root.class,
+		Signet.class,
+		SignetAntiSummon.class,
+		SignetMDam.class,
+		SignetNoise.class,
+		SilentMove.class,
+		Sleep.class,
+		Spoil.class,
+		Stun.class,
+		TargetMe.class,
+		ThrowUp.class,
+		TransferDamage.class,
+		Transformation.class,
+		Warp.class,
+	};
 	
 	public static void main(String[] args)
 	{
-		loadEffectHandlers();
+		Object loadInstance = null;
+		Method method = null;
+		
+		try
+		{
+			method = _loadInstances.getMethod("getInstance");
+			loadInstance = method.invoke(_loadInstances);
+		}
+		catch (Exception e)
+		{
+			_log.log(Level.WARNING, "Failed invoking getInstance method for handler: " + _loadInstances.getSimpleName(), e);
+			return;
+		}
+		
+		method = null; // Releasing variable for next method
+		
+		for (Class<?> c : _effects)
+		{
+			try
+			{
+				if (c == null)
+					continue; // Disabled handler
+					
+				if (method == null)
+					method = loadInstance.getClass().getMethod("registerHandler", String.class, Class.class);
+				
+				method.invoke(loadInstance, c.getSimpleName(), c);
+				
+			}
+			catch (Exception e)
+			{
+				_log.log(Level.WARNING, "Failed loading handler: " + c.getSimpleName(), e);
+				continue;
+			}
+		}
+		
+		// And lets try get size
+		try
+		{
+			method = loadInstance.getClass().getMethod("size");
+			Object returnVal = method.invoke(loadInstance);
+			_log.log(Level.INFO, loadInstance.getClass().getSimpleName() + ": Loaded " + returnVal + " Handlers");
+		}
+		catch (Exception e)
+		{
+			_log.log(Level.WARNING, "Failed invoking size method for handler: " + loadInstance.getClass().getSimpleName(), e);
+		}
 	}
 }
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 e85ae98ac438fd2d3f47370a38ce0f07c3bc6b2b..17fa6dd793bd12ce323431768a2b6893af1f0e1a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java
@@ -13,7 +13,6 @@
  * this program. If not, see <http://www.gnu.org/licenses/>.
  */
 package handlers;
-
 import handlers.actionhandlers.L2ArtefactInstanceAction;
 import handlers.actionhandlers.L2DecoyAction;
 import handlers.actionhandlers.L2DoorInstanceAction;
@@ -295,11 +294,13 @@ import handlers.voicedcommandhandlers.TvTVoicedInfo;
 import handlers.voicedcommandhandlers.Wedding;
 import handlers.voicedcommandhandlers.stats;
 
+import java.lang.reflect.Method;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.handler.ActionHandler;
+import com.l2jserver.gameserver.handler.ActionShiftHandler;
 import com.l2jserver.gameserver.handler.AdminCommandHandler;
 import com.l2jserver.gameserver.handler.BypassHandler;
 import com.l2jserver.gameserver.handler.ChatHandler;
@@ -311,365 +312,332 @@ import com.l2jserver.gameserver.handler.UserCommandHandler;
 import com.l2jserver.gameserver.handler.VoicedCommandHandler;
 
 /**
- * @author  nBd
+ * @author UnAfraid
  */
 public class MasterHandler
 {
 	private static Logger _log = Logger.getLogger(MasterHandler.class.getName());
 	
-	private static final ActionHandler ACTION = ActionHandler.getInstance();
-	private static final AdminCommandHandler ADMIN = AdminCommandHandler.getInstance();
-	private static final BypassHandler BYPASS = BypassHandler.getInstance();
-	private static final ChatHandler CHAT = ChatHandler.getInstance();
-	private static final ItemHandler ITEM = ItemHandler.getInstance();
-	private static final SkillHandler SKILL = SkillHandler.getInstance();
-	private static final UserCommandHandler USER = UserCommandHandler.getInstance();
-	private static final VoicedCommandHandler VOICE = VoicedCommandHandler.getInstance();
-	private static final TargetHandler TARGET = TargetHandler.getInstance();
-	private static final TelnetHandler TELNET = TelnetHandler.getInstance();
-	
-	private static void loadActionHandlers()
-	{
-		ACTION.registerActionHandler(new L2ArtefactInstanceAction());
-		ACTION.registerActionHandler(new L2DecoyAction());
-		ACTION.registerActionHandler(new L2DoorInstanceAction());
-		ACTION.registerActionHandler(new L2ItemInstanceAction());
-		ACTION.registerActionHandler(new L2NpcAction());
-		ACTION.registerActionHandler(new L2PcInstanceAction());
-		ACTION.registerActionHandler(new L2PetInstanceAction());
-		ACTION.registerActionHandler(new L2StaticObjectInstanceAction());
-		ACTION.registerActionHandler(new L2SummonAction());
-		ACTION.registerActionHandler(new L2TrapAction());
-		_log.log(Level.INFO, "Loaded " + ACTION.size() + " ActionHandlers");
-	}
-	
-	private static void loadActionShiftHandlers()
-	{
-		ACTION.registerActionShiftHandler(new L2DoorInstanceActionShift());
-		ACTION.registerActionShiftHandler(new L2ItemInstanceActionShift());
-		ACTION.registerActionShiftHandler(new L2NpcActionShift());
-		ACTION.registerActionShiftHandler(new L2PcInstanceActionShift());
-		ACTION.registerActionShiftHandler(new L2StaticObjectInstanceActionShift());
-		ACTION.registerActionShiftHandler(new L2SummonActionShift());
-		_log.log(Level.INFO, "Loaded " + ACTION.sizeShift() + " ActionShiftHandlers");
-	}
-	
-	private static void loadAdminHandlers()
+	private static final Class<?>[] _loadInstances =
 	{
-		ADMIN.registerAdminCommandHandler(new AdminAdmin());
-		ADMIN.registerAdminCommandHandler(new AdminAnnouncements());
-		ADMIN.registerAdminCommandHandler(new AdminBan());
-		ADMIN.registerAdminCommandHandler(new AdminBBS());
-		ADMIN.registerAdminCommandHandler(new AdminBuffs());
-		ADMIN.registerAdminCommandHandler(new AdminCache());
-		ADMIN.registerAdminCommandHandler(new AdminCamera());
-		ADMIN.registerAdminCommandHandler(new AdminChangeAccessLevel());
-		ADMIN.registerAdminCommandHandler(new AdminCHSiege());
-		ADMIN.registerAdminCommandHandler(new AdminClan());
-		ADMIN.registerAdminCommandHandler(new AdminCreateItem());
-		ADMIN.registerAdminCommandHandler(new AdminCursedWeapons());
-		ADMIN.registerAdminCommandHandler(new AdminDebug());
-		ADMIN.registerAdminCommandHandler(new AdminDelete());
-		ADMIN.registerAdminCommandHandler(new AdminDisconnect());
-		ADMIN.registerAdminCommandHandler(new AdminDoorControl());
-		ADMIN.registerAdminCommandHandler(new AdminEditChar());
-		ADMIN.registerAdminCommandHandler(new AdminEditNpc());
-		ADMIN.registerAdminCommandHandler(new AdminEffects());
-		ADMIN.registerAdminCommandHandler(new AdminElement());
-		ADMIN.registerAdminCommandHandler(new AdminEnchant());
-		ADMIN.registerAdminCommandHandler(new AdminEventEngine());
-		ADMIN.registerAdminCommandHandler(new AdminEvents());
-		ADMIN.registerAdminCommandHandler(new AdminExpSp());
-		ADMIN.registerAdminCommandHandler(new AdminFightCalculator());
-		ADMIN.registerAdminCommandHandler(new AdminFortSiege());
-		ADMIN.registerAdminCommandHandler(new AdminGeodata());
-		ADMIN.registerAdminCommandHandler(new AdminGeoEditor());
-		ADMIN.registerAdminCommandHandler(new AdminGm());
-		ADMIN.registerAdminCommandHandler(new AdminGmChat());
-		ADMIN.registerAdminCommandHandler(new AdminGraciaSeeds());
-		ADMIN.registerAdminCommandHandler(new AdminHeal());
-		ADMIN.registerAdminCommandHandler(new AdminHellbound());
-		ADMIN.registerAdminCommandHandler(new AdminHelpPage());
-		ADMIN.registerAdminCommandHandler(new AdminInstance());
-		ADMIN.registerAdminCommandHandler(new AdminInstanceZone());
-		ADMIN.registerAdminCommandHandler(new AdminInvul());
-		ADMIN.registerAdminCommandHandler(new AdminKick());
-		ADMIN.registerAdminCommandHandler(new AdminKill());
-		ADMIN.registerAdminCommandHandler(new AdminLevel());
-		ADMIN.registerAdminCommandHandler(new AdminLogin());
-		ADMIN.registerAdminCommandHandler(new AdminMammon());
-		ADMIN.registerAdminCommandHandler(new AdminManor());
-		ADMIN.registerAdminCommandHandler(new AdminMenu());
-		ADMIN.registerAdminCommandHandler(new AdminMessages());
-		ADMIN.registerAdminCommandHandler(new AdminMobGroup());
-		ADMIN.registerAdminCommandHandler(new AdminMonsterRace());
-		ADMIN.registerAdminCommandHandler(new AdminPathNode());
-		ADMIN.registerAdminCommandHandler(new AdminPetition());
-		ADMIN.registerAdminCommandHandler(new AdminPForge());
-		ADMIN.registerAdminCommandHandler(new AdminPledge());
-		ADMIN.registerAdminCommandHandler(new AdminPolymorph());
-		ADMIN.registerAdminCommandHandler(new AdminQuest());
-		ADMIN.registerAdminCommandHandler(new AdminRepairChar());
-		ADMIN.registerAdminCommandHandler(new AdminRes());
-		ADMIN.registerAdminCommandHandler(new AdminRide());
-		ADMIN.registerAdminCommandHandler(new AdminShop());
-		ADMIN.registerAdminCommandHandler(new AdminShowQuests());
-		ADMIN.registerAdminCommandHandler(new AdminShutdown());
-		ADMIN.registerAdminCommandHandler(new AdminSiege());
-		ADMIN.registerAdminCommandHandler(new AdminSkill());
-		ADMIN.registerAdminCommandHandler(new AdminSpawn());
-		ADMIN.registerAdminCommandHandler(new AdminSummon());
-		ADMIN.registerAdminCommandHandler(new AdminTarget());
-		ADMIN.registerAdminCommandHandler(new AdminTeleport());
-		ADMIN.registerAdminCommandHandler(new AdminTerritoryWar());
-		ADMIN.registerAdminCommandHandler(new AdminTest());
-		ADMIN.registerAdminCommandHandler(new AdminTvTEvent());
-		ADMIN.registerAdminCommandHandler(new AdminUnblockIp());
-		ADMIN.registerAdminCommandHandler(new AdminVitality());
-		ADMIN.registerAdminCommandHandler(new AdminZone());
-		_log.log(Level.INFO, "Loaded " + ADMIN.size() + " AdminCommandHandlers");
-	}
-	
-	private static void loadBypassHandlers()
-	{
-		BYPASS.registerBypassHandler(new Augment());
-		BYPASS.registerBypassHandler(new ArenaBuff());
-		BYPASS.registerBypassHandler(new BloodAlliance());
-		BYPASS.registerBypassHandler(new Buy());
-		BYPASS.registerBypassHandler(new BuyShadowItem());
-		BYPASS.registerBypassHandler(new ChatLink());
-		BYPASS.registerBypassHandler(new ClanWarehouse());
-		BYPASS.registerBypassHandler(new DrawHenna());
-		BYPASS.registerBypassHandler(new EventEngine());
-		BYPASS.registerBypassHandler(new Festival());
-		BYPASS.registerBypassHandler(new FortSiege());
-		BYPASS.registerBypassHandler(new Freight());
-		BYPASS.registerBypassHandler(new ItemAuctionLink());
-		BYPASS.registerBypassHandler(new Link());
-		BYPASS.registerBypassHandler(new Loto());
-		BYPASS.registerBypassHandler(new ManorManager());
-		BYPASS.registerBypassHandler(new Multisell());
-		BYPASS.registerBypassHandler(new Observation());
-		BYPASS.registerBypassHandler(new OlympiadObservation());
-		BYPASS.registerBypassHandler(new OlympiadManagerLink());
-		BYPASS.registerBypassHandler(new QuestLink());
-		BYPASS.registerBypassHandler(new PlayerHelp());
-		BYPASS.registerBypassHandler(new PrivateWarehouse());
-		BYPASS.registerBypassHandler(new QuestList());
-		BYPASS.registerBypassHandler(new ReceivePremium());
-		BYPASS.registerBypassHandler(new ReleaseAttribute());
-		BYPASS.registerBypassHandler(new RemoveDeathPenalty());
-		BYPASS.registerBypassHandler(new RemoveHennaList());
-		BYPASS.registerBypassHandler(new RentPet());
-		BYPASS.registerBypassHandler(new RideWyvern());
-		BYPASS.registerBypassHandler(new Rift());
-		BYPASS.registerBypassHandler(new SkillList());
-		BYPASS.registerBypassHandler(new SupportBlessing());
-		BYPASS.registerBypassHandler(new SupportMagic());
-		BYPASS.registerBypassHandler(new TerritoryStatus());
-		BYPASS.registerBypassHandler(new TerritoryWar());
-		BYPASS.registerBypassHandler(new VoiceCommand());
-		BYPASS.registerBypassHandler(new Wear());
-		_log.log(Level.INFO, "Loaded " + BYPASS.size() + " BypassHandlers");
-	}
+		ActionHandler.class,
+		ActionShiftHandler.class,
+		AdminCommandHandler.class,
+		BypassHandler.class,
+		ChatHandler.class,
+		ItemHandler.class,
+		SkillHandler.class,
+		UserCommandHandler.class,
+		VoicedCommandHandler.class,
+		TargetHandler.class,
+		TelnetHandler.class,
+	};
 	
-	private static void loadChatHandlers()
+	private static final Class<?>[][] _handlers = 
 	{
-		CHAT.registerChatHandler(new ChatAll());
-		CHAT.registerChatHandler(new ChatAlliance());
-		CHAT.registerChatHandler(new ChatBattlefield());
-		CHAT.registerChatHandler(new ChatClan());
-		CHAT.registerChatHandler(new ChatHeroVoice());
-		CHAT.registerChatHandler(new ChatParty());
-		CHAT.registerChatHandler(new ChatPartyMatchRoom());
-		CHAT.registerChatHandler(new ChatPartyRoomAll());
-		CHAT.registerChatHandler(new ChatPartyRoomCommander());
-		CHAT.registerChatHandler(new ChatPetition());
-		CHAT.registerChatHandler(new ChatShout());
-		CHAT.registerChatHandler(new ChatTell());
-		CHAT.registerChatHandler(new ChatTrade());
-		_log.log(Level.INFO, "Loaded " + CHAT.size() + " ChatHandlers");
-	}
-	
-	private static void loadItemHandlers()
-	{
-		ITEM.registerItemHandler(new ScrollOfResurrection());
-		ITEM.registerItemHandler(new SoulShots());
-		ITEM.registerItemHandler(new SpiritShot());
-		ITEM.registerItemHandler(new BlessedSpiritShot());
-		ITEM.registerItemHandler(new BeastSoulShot());
-		ITEM.registerItemHandler(new BeastSpiritShot());
-		ITEM.registerItemHandler(new PaganKeys());
-		ITEM.registerItemHandler(new Maps());
-		ITEM.registerItemHandler(new NicknameColor());
-		ITEM.registerItemHandler(new Recipes());
-		ITEM.registerItemHandler(new RollingDice());
-		ITEM.registerItemHandler(new EnchantAttribute());
-		ITEM.registerItemHandler(new EnchantScrolls());
-		ITEM.registerItemHandler(new ExtractableItems());
-		ITEM.registerItemHandler(new Book());
-		ITEM.registerItemHandler(new SevenSignsRecord());
-		ITEM.registerItemHandler(new ItemSkills());
-		ITEM.registerItemHandler(new ItemSkillsTemplate());
-		ITEM.registerItemHandler(new Seed());
-		ITEM.registerItemHandler(new Harvester());
-		ITEM.registerItemHandler(new MercTicket());
-		ITEM.registerItemHandler(new FishShots());
-		ITEM.registerItemHandler(new PetFood());
-		ITEM.registerItemHandler(new SpecialXMas());
-		ITEM.registerItemHandler(new SummonItems());
-		ITEM.registerItemHandler(new BeastSpice());
-		ITEM.registerItemHandler(new TeleportBookmark());
-		ITEM.registerItemHandler(new Elixir());
-		ITEM.registerItemHandler(new Disguise());
-		ITEM.registerItemHandler(new ManaPotion());
-		ITEM.registerItemHandler(new EnergyStarStone());
-		ITEM.registerItemHandler(new EventItem());
-		_log.log(Level.INFO, "Loaded " + ITEM.size() + " ItemHandlers");
-	}
-	
-	private static void loadSkillHandlers()
-	{
-		SKILL.registerSkillHandler(new Blow());
-		SKILL.registerSkillHandler(new Pdam());
-		SKILL.registerSkillHandler(new Mdam());
-		SKILL.registerSkillHandler(new CpDam());
-		SKILL.registerSkillHandler(new CpDamPercent());
-		SKILL.registerSkillHandler(new Manadam());
-		SKILL.registerSkillHandler(new Heal());
-		SKILL.registerSkillHandler(new HealPercent());
-		SKILL.registerSkillHandler(new CombatPointHeal());
-		SKILL.registerSkillHandler(new ManaHeal());
-		SKILL.registerSkillHandler(new BalanceLife());
-		SKILL.registerSkillHandler(new Charge());
-		SKILL.registerSkillHandler(new Continuous());
-		SKILL.registerSkillHandler(new Detection());
-		SKILL.registerSkillHandler(new Resurrect());
-		SKILL.registerSkillHandler(new ShiftTarget());
-		SKILL.registerSkillHandler(new Spoil());
-		SKILL.registerSkillHandler(new Sweep());
-		SKILL.registerSkillHandler(new StrSiegeAssault());
-		SKILL.registerSkillHandler(new SummonFriend());
-		SKILL.registerSkillHandler(new Disablers());
-		SKILL.registerSkillHandler(new Cancel());
-		SKILL.registerSkillHandler(new ChainHeal());
-		SKILL.registerSkillHandler(new StealBuffs());
-		SKILL.registerSkillHandler(new BallistaBomb());
-		SKILL.registerSkillHandler(new TakeCastle());
-		SKILL.registerSkillHandler(new TakeFort());
-		SKILL.registerSkillHandler(new Unlock());
-		SKILL.registerSkillHandler(new Craft());
-		SKILL.registerSkillHandler(new Fishing());
-		SKILL.registerSkillHandler(new FishingSkill());
-		SKILL.registerSkillHandler(new BeastSkills());
-		SKILL.registerSkillHandler(new DeluxeKey());
-		SKILL.registerSkillHandler(new Sow());
-		SKILL.registerSkillHandler(new Soul());
-		SKILL.registerSkillHandler(new Harvest());
-		SKILL.registerSkillHandler(new GetPlayer());
-		SKILL.registerSkillHandler(new TransformDispel());
-		SKILL.registerSkillHandler(new Trap());
-		SKILL.registerSkillHandler(new GiveSp());
-		SKILL.registerSkillHandler(new GiveReco());
-		SKILL.registerSkillHandler(new GiveVitality());
-		SKILL.registerSkillHandler(new InstantJump());
-		SKILL.registerSkillHandler(new Dummy());
-		SKILL.registerSkillHandler(new Extractable());
-		SKILL.registerSkillHandler(new RefuelAirShip());
-		SKILL.registerSkillHandler(new NornilsPower());
-		_log.log(Level.INFO, "Loaded " + SKILL.size() + " SkillHandlers");
-	}
-	
-	private static void loadUserHandlers()
-	{
-		USER.registerUserCommandHandler(new ClanPenalty());
-		USER.registerUserCommandHandler(new ClanWarsList());
-		USER.registerUserCommandHandler(new DisMount());
-		USER.registerUserCommandHandler(new Escape());
-		USER.registerUserCommandHandler(new InstanceZone());
-		USER.registerUserCommandHandler(new Loc());
-		USER.registerUserCommandHandler(new Mount());
-		USER.registerUserCommandHandler(new PartyInfo());
-		USER.registerUserCommandHandler(new Time());
-		USER.registerUserCommandHandler(new OlympiadStat());
-		USER.registerUserCommandHandler(new ChannelLeave());
-		USER.registerUserCommandHandler(new ChannelDelete());
-		USER.registerUserCommandHandler(new ChannelListUpdate());
-		USER.registerUserCommandHandler(new Birthday());
-		_log.log(Level.INFO, "Loaded " + USER.size() + " UserHandlers");
-	}
-	
-	private static void loadVoicedHandlers()
-	{
-		VOICE.registerVoicedCommandHandler(new stats());
-		if (Config.L2JMOD_ALLOW_WEDDING)
-			VOICE.registerVoicedCommandHandler(new Wedding());
-		if (Config.BANKING_SYSTEM_ENABLED)
-			VOICE.registerVoicedCommandHandler(new Banking());
-		if (Config.TVT_ALLOW_VOICED_COMMAND)
-			VOICE.registerVoicedCommandHandler(new TvTVoicedInfo());
-		if (Config.L2JMOD_CHAT_ADMIN)
-			VOICE.registerVoicedCommandHandler(new ChatAdmin());
-		if (Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW)
-			VOICE.registerVoicedCommandHandler(new Lang());
-		if (Config.L2JMOD_DEBUG_VOICE_COMMAND)
-			VOICE.registerVoicedCommandHandler(new Debug());
-		if (Config.L2JMOD_ALLOW_CHANGE_PASSWORD)
-			VOICE.registerVoicedCommandHandler(new ChangePassword());
-		if (Config.L2JMOD_HELLBOUND_STATUS)
-			VOICE.registerVoicedCommandHandler(new Hellbound());
-		_log.log(Level.INFO, "Loaded " + VOICE.size() + " VoicedHandlers");
-	}
-	
-	private static void loadTargetHandlers()
-	{
-		TARGET.registerTargetType(new TargetAlly());
-		TARGET.registerTargetType(new TargetArea());
-		TARGET.registerTargetType(new TargetAreaCorpseMob());
-		TARGET.registerTargetType(new TargetAreaSummon());
-		TARGET.registerTargetType(new TargetAura());
-		TARGET.registerTargetType(new TargetAuraCorpseMob());
-		TARGET.registerTargetType(new TargetBehindArea());
-		TARGET.registerTargetType(new TargetBehindAura());
-		TARGET.registerTargetType(new TargetClan());
-		TARGET.registerTargetType(new TargetClanMember());
-		TARGET.registerTargetType(new TargetCorpseAlly());
-		TARGET.registerTargetType(new TargetCorpseClan());
-		TARGET.registerTargetType(new TargetCorpseMob());
-		TARGET.registerTargetType(new TargetCorpsePet());
-		TARGET.registerTargetType(new TargetCorpsePlayer());
-		TARGET.registerTargetType(new TargetEnemySummon());
-		TARGET.registerTargetType(new TargetFlagPole());
-		TARGET.registerTargetType(new TargetFrontArea());
-		TARGET.registerTargetType(new TargetFrontAura());
-		TARGET.registerTargetType(new TargetGround());
-		TARGET.registerTargetType(new TargetHoly());
-		TARGET.registerTargetType(new TargetOne());
-		TARGET.registerTargetType(new TargetOwnerPet());
-		TARGET.registerTargetType(new TargetParty());
-		TARGET.registerTargetType(new TargetPartyClan());
-		TARGET.registerTargetType(new TargetPartyMember());
-		TARGET.registerTargetType(new TargetPartyNotMe());
-		TARGET.registerTargetType(new TargetPartyOther());
-		TARGET.registerTargetType(new TargetPet());
-		TARGET.registerTargetType(new TargetSelf());
-		TARGET.registerTargetType(new TargetSummon());
-		TARGET.registerTargetType(new TargetUnlockable());
-		_log.log(Level.INFO, "Loaded " + TARGET.size() + " Target Handlers");
-	}
-	
-	public static void loadTelnetHandlers()
-	{
-		TELNET.registerCommandHandler(new ChatsHandler());
-		TELNET.registerCommandHandler(new DebugHandler());
-		TELNET.registerCommandHandler(new HelpHandler());
-		TELNET.registerCommandHandler(new PlayerHandler());
-		TELNET.registerCommandHandler(new ReloadHandler());
-		TELNET.registerCommandHandler(new ServerHandler());
-		TELNET.registerCommandHandler(new StatusHandler());
-		TELNET.registerCommandHandler(new ThreadHandler());
-		_log.log(Level.INFO, "Loaded " + TELNET.size() + " Telnet Handlers");
-	}
+		{ // Action Handlers
+			L2ArtefactInstanceAction.class,
+			L2DecoyAction.class,
+			L2DoorInstanceAction.class,
+			L2ItemInstanceAction.class,
+			L2NpcAction.class,
+			L2PcInstanceAction.class,
+			L2PetInstanceAction.class,
+			L2StaticObjectInstanceAction.class,
+			L2SummonAction.class,
+			L2TrapAction.class,
+		},
+		{ // Action Shift Handlers
+			L2DoorInstanceActionShift.class,
+			L2ItemInstanceActionShift.class,
+			L2NpcActionShift.class,
+			L2PcInstanceActionShift.class,
+			L2StaticObjectInstanceActionShift.class,
+			L2SummonActionShift.class,
+		},
+		{ // Admin Command Handlers
+			AdminAdmin.class,
+			AdminAnnouncements.class,
+			AdminBan.class,
+			AdminBBS.class,
+			AdminBuffs.class,
+			AdminCache.class,
+			AdminCamera.class,
+			AdminChangeAccessLevel.class,
+			AdminCHSiege.class,
+			AdminClan.class,
+			AdminCreateItem.class,
+			AdminCursedWeapons.class,
+			AdminDebug.class,
+			AdminDelete.class,
+			AdminDisconnect.class,
+			AdminDoorControl.class,
+			AdminEditChar.class,
+			AdminEditNpc.class,
+			AdminEffects.class,
+			AdminElement.class,
+			AdminEnchant.class,
+			AdminEventEngine.class,
+			AdminEvents.class,
+			AdminExpSp.class,
+			AdminFightCalculator.class,
+			AdminFortSiege.class,
+			AdminGeodata.class,
+			AdminGeoEditor.class,
+			AdminGm.class,
+			AdminGmChat.class,
+			AdminGraciaSeeds.class,
+			AdminHeal.class,
+			AdminHellbound.class,
+			AdminHelpPage.class,
+			AdminInstance.class,
+			AdminInstanceZone.class,
+			AdminInvul.class,
+			AdminKick.class,
+			AdminKill.class,
+			AdminLevel.class,
+			AdminLogin.class,
+			AdminMammon.class,
+			AdminManor.class,
+			AdminMenu.class,
+			AdminMessages.class,
+			AdminMobGroup.class,
+			AdminMonsterRace.class,
+			AdminPathNode.class,
+			AdminPetition.class,
+			AdminPForge.class,
+			AdminPledge.class,
+			AdminPolymorph.class,
+			AdminQuest.class,
+			AdminRepairChar.class,
+			AdminRes.class,
+			AdminRide.class,
+			AdminShop.class,
+			AdminShowQuests.class,
+			AdminShutdown.class,
+			AdminSiege.class,
+			AdminSkill.class,
+			AdminSpawn.class,
+			AdminSummon.class,
+			AdminTarget.class,
+			AdminTeleport.class,
+			AdminTerritoryWar.class,
+			AdminTest.class,
+			AdminTvTEvent.class,
+			AdminUnblockIp.class,
+			AdminVitality.class,
+			AdminZone.class,
+		},
+		{ // Bypass Handlers
+			Augment.class,
+			ArenaBuff.class,
+			BloodAlliance.class,
+			Buy.class,
+			BuyShadowItem.class,
+			ChatLink.class,
+			ClanWarehouse.class,
+			DrawHenna.class,
+			EventEngine.class,
+			Festival.class,
+			FortSiege.class,
+			Freight.class,
+			ItemAuctionLink.class,
+			Link.class,
+			Loto.class,
+			ManorManager.class,
+			Multisell.class,
+			Observation.class,
+			OlympiadObservation.class,
+			OlympiadManagerLink.class,
+			QuestLink.class,
+			PlayerHelp.class,
+			PrivateWarehouse.class,
+			QuestList.class,
+			ReceivePremium.class,
+			ReleaseAttribute.class,
+			RemoveDeathPenalty.class,
+			RemoveHennaList.class,
+			RentPet.class,
+			RideWyvern.class,
+			Rift.class,
+			SkillList.class,
+			SupportBlessing.class,
+			SupportMagic.class,
+			TerritoryStatus.class,
+			TerritoryWar.class,
+			VoiceCommand.class,
+			Wear.class,
+		},
+		{ // Chat Handlers
+			ChatAll.class,
+			ChatAlliance.class,
+			ChatBattlefield.class,
+			ChatClan.class,
+			ChatHeroVoice.class,
+			ChatParty.class,
+			ChatPartyMatchRoom.class,
+			ChatPartyRoomAll.class,
+			ChatPartyRoomCommander.class,
+			ChatPetition.class,
+			ChatShout.class,
+			ChatTell.class,
+			ChatTrade.class,
+		},
+		{ // Item Handlers
+			ScrollOfResurrection.class,
+			SoulShots.class,
+			SpiritShot.class,
+			BlessedSpiritShot.class,
+			BeastSoulShot.class,
+			BeastSpiritShot.class,
+			PaganKeys.class,
+			Maps.class,
+			NicknameColor.class,
+			Recipes.class,
+			RollingDice.class,
+			EnchantAttribute.class,
+			EnchantScrolls.class,
+			ExtractableItems.class,
+			Book.class,
+			SevenSignsRecord.class,
+			ItemSkills.class,
+			ItemSkillsTemplate.class,
+			Seed.class,
+			Harvester.class,
+			MercTicket.class,
+			FishShots.class,
+			PetFood.class,
+			SpecialXMas.class,
+			SummonItems.class,
+			BeastSpice.class,
+			TeleportBookmark.class,
+			Elixir.class,
+			Disguise.class,
+			ManaPotion.class,
+			EnergyStarStone.class,
+			EventItem.class,
+		},
+		{ // Skill Handlers
+			Blow.class,
+			Pdam.class,
+			Mdam.class,
+			CpDam.class,
+			CpDamPercent.class,
+			Manadam.class,
+			Heal.class,
+			HealPercent.class,
+			CombatPointHeal.class,
+			ManaHeal.class,
+			BalanceLife.class,
+			Charge.class,
+			Continuous.class,
+			Detection.class,
+			Resurrect.class,
+			ShiftTarget.class,
+			Spoil.class,
+			Sweep.class,
+			StrSiegeAssault.class,
+			SummonFriend.class,
+			Disablers.class,
+			Cancel.class,
+			ChainHeal.class,
+			StealBuffs.class,
+			BallistaBomb.class,
+			TakeCastle.class,
+			TakeFort.class,
+			Unlock.class,
+			Craft.class,
+			Fishing.class,
+			FishingSkill.class,
+			BeastSkills.class,
+			DeluxeKey.class,
+			Sow.class,
+			Soul.class,
+			Harvest.class,
+			GetPlayer.class,
+			TransformDispel.class,
+			Trap.class,
+			GiveSp.class,
+			GiveReco.class,
+			GiveVitality.class,
+			InstantJump.class,
+			Dummy.class,
+			Extractable.class,
+			RefuelAirShip.class,
+			NornilsPower.class,
+		},
+		{ // User Command Handlers
+			ClanPenalty.class,
+			ClanWarsList.class,
+			DisMount.class,
+			Escape.class,
+			InstanceZone.class,
+			Loc.class,
+			Mount.class,
+			PartyInfo.class,
+			Time.class,
+			OlympiadStat.class,
+			ChannelLeave.class,
+			ChannelDelete.class,
+			ChannelListUpdate.class,
+			Birthday.class,
+		},
+		{ // Voiced Command Handlers
+			stats.class,
+			(Config.L2JMOD_ALLOW_WEDDING ? Wedding.class : null),
+			(Config.BANKING_SYSTEM_ENABLED ? Banking.class : null),
+			(Config.TVT_ALLOW_VOICED_COMMAND ? TvTVoicedInfo.class : null),
+			(Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null),
+			(Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null),
+			(Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null),
+			(Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null),
+			(Config.L2JMOD_HELLBOUND_STATUS ? Hellbound.class : null),
+		},
+		{ // Target Handlers
+			TargetAlly.class,
+			TargetArea.class,
+			TargetAreaCorpseMob.class,
+			TargetAreaSummon.class,
+			TargetAura.class,
+			TargetAuraCorpseMob.class,
+			TargetBehindArea.class,
+			TargetBehindAura.class,
+			TargetClan.class,
+			TargetClanMember.class,
+			TargetCorpseAlly.class,
+			TargetCorpseClan.class,
+			TargetCorpseMob.class,
+			TargetCorpsePet.class,
+			TargetCorpsePlayer.class,
+			TargetEnemySummon.class,
+			TargetFlagPole.class,
+			TargetFrontArea.class,
+			TargetFrontAura.class,
+			TargetGround.class,
+			TargetHoly.class,
+			TargetOne.class,
+			TargetOwnerPet.class,
+			TargetParty.class,
+			TargetPartyClan.class,
+			TargetPartyMember.class,
+			TargetPartyNotMe.class,
+			TargetPartyOther.class,
+			TargetPet.class,
+			TargetSelf.class,
+			TargetSummon.class,
+			TargetUnlockable.class,
+		},
+		{ // Telnet Handlers
+			ChatsHandler.class,
+			DebugHandler.class,
+			HelpHandler.class,
+			PlayerHandler.class,
+			ReloadHandler.class,
+			ServerHandler.class,
+			StatusHandler.class,
+			ThreadHandler.class,
+		},
+	};
 	
 	/**
 	 * @param args
@@ -677,17 +645,65 @@ public class MasterHandler
 	public static void main(String[] args)
 	{
 		_log.log(Level.INFO, "Loading Handlers...");
-		loadActionHandlers();
-		loadActionShiftHandlers();
-		loadAdminHandlers();
-		loadBypassHandlers();
-		loadChatHandlers();
-		loadItemHandlers();
-		loadSkillHandlers();
-		loadUserHandlers();
-		loadVoicedHandlers();
-		loadTargetHandlers();
-		loadTelnetHandlers();
+		
+		Object loadInstance = null;
+		Method method = null;
+		Class<?>[]  interfaces = null;
+		Object handler = null;
+		
+		for (int i = 0; i < _loadInstances.length; i++)
+		{
+			try
+			{
+				method = _loadInstances[i].getMethod("getInstance");
+				loadInstance = method.invoke(_loadInstances[i]);
+			}
+			catch (Exception e)
+			{
+				_log.log(Level.WARNING, "Failed invoking getInstance method for handler: " + _loadInstances[i].getSimpleName(), e);
+				continue;
+			}
+			
+			method = null;
+			
+			for (Class<?> c : _handlers[i])
+			{
+				try
+				{
+					if (c == null)
+						continue; // Disabled handler
+					// Don't wtf some classes extending anothers like ItemHandler, Elixir, etc.. and we need to find where the hell is interface xD
+					interfaces = c.getInterfaces().length > 0 ? // Standartly handler has implementation
+						c.getInterfaces() : c.getSuperclass().getInterfaces().length > 0 ? // No? then it extends another handler like (ItemSkills->ItemSkillsTemplate)
+							c.getSuperclass().getInterfaces() : c.getSuperclass().getSuperclass().getInterfaces(); // O noh that's Elixir->ItemSkills->ItemSkillsTemplate
+					if (method == null)
+						method = loadInstance.getClass().getMethod("registerHandler", interfaces);
+					handler = c.newInstance();
+					if (method.getParameterTypes()[0].isInstance(handler))
+					{
+						method.invoke(loadInstance, handler);
+					}
+				}
+				catch (Exception e)
+				{
+					_log.log(Level.WARNING, "Failed loading handler: " + c.getSimpleName(), e);
+					continue;
+				}
+			}
+			// And lets try get size
+			try
+			{
+				method = loadInstance.getClass().getMethod("size");
+				Object returnVal = method.invoke(loadInstance);
+				_log.log(Level.INFO, loadInstance.getClass().getSimpleName() + ": Loaded " + returnVal + " Handlers");	
+			}
+			catch (Exception e)
+			{
+				_log.log(Level.WARNING, "Failed invoking size method for handler: " + loadInstance.getClass().getSimpleName(), e);
+				continue;
+			}
+		}
+		
 		_log.log(Level.INFO, "Handlers Loaded...");
 	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/actionhandlers/L2PcInstanceActionShift.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/actionhandlers/L2PcInstanceActionShift.java
index 0fb3808969e7d2294f0fe09594ccea2778bc3e70..c0d2f8b983cdb78fd980daf971105497b9c38645 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/actionhandlers/L2PcInstanceActionShift.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/actionhandlers/L2PcInstanceActionShift.java
@@ -26,6 +26,7 @@ import com.l2jserver.gameserver.network.serverpackets.ValidateLocation;
 
 public class L2PcInstanceActionShift implements IActionHandler
 {
+	@Override
 	public boolean action(L2PcInstance activeChar, L2Object target, boolean interact)
 	{
 		if (activeChar.isGM())
@@ -44,13 +45,14 @@ public class L2PcInstanceActionShift implements IActionHandler
 			if (activeChar != target)
 				activeChar.sendPacket(new ValidateLocation((L2Character)target));
 			
-			IAdminCommandHandler ach = AdminCommandHandler.getInstance().getAdminCommandHandler("admin_character_info");
+			IAdminCommandHandler ach = AdminCommandHandler.getInstance().getHandler("admin_character_info");
 			if (ach != null)
 				ach.useAdminCommand("admin_character_info " + target.getName(), activeChar);
 		}
 		return true;
 	}
 	
+	@Override
 	public InstanceType getInstanceType()
 	{
 		return InstanceType.L2PcInstance;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/actionhandlers/L2SummonActionShift.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/actionhandlers/L2SummonActionShift.java
index e6b2b7ec7052f7d5c4093cb6f282503a831405f0..722376dc24cc57def7be4364b34b010dda9c8d9e 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/actionhandlers/L2SummonActionShift.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/actionhandlers/L2SummonActionShift.java
@@ -26,6 +26,7 @@ import com.l2jserver.gameserver.network.serverpackets.ValidateLocation;
 
 public class L2SummonActionShift implements IActionHandler
 {
+	@Override
 	public boolean action(L2PcInstance activeChar, L2Object target, boolean interact)
 	{
 		if (activeChar.isGM())
@@ -42,13 +43,14 @@ public class L2SummonActionShift implements IActionHandler
 			// Send a Server->Client packet ValidateLocation to correct the L2PcInstance position and heading on the client
 			activeChar.sendPacket(new ValidateLocation((L2Character)target));
 			
-			IAdminCommandHandler ach = AdminCommandHandler.getInstance().getAdminCommandHandler("admin_summon_info");
+			IAdminCommandHandler ach = AdminCommandHandler.getInstance().getHandler("admin_summon_info");
 			if (ach != null)
 				ach.useAdminCommand("admin_summon_info", activeChar);
 		}
 		return true;
 	}
 	
+	@Override
 	public InstanceType getInstanceType()
 	{
 		return InstanceType.L2Summon;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMenu.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMenu.java
index f2c75cabdbd7f3c2df02ef2c0e5fd23ad1b1fedf..11570d8282f5a9f1897ba8bb026c1d3a06a95ca8 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMenu.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMenu.java
@@ -55,6 +55,7 @@ public class AdminMenu implements IAdminCommandHandler
 		"admin_unban_menu"
 	};
 	
+	@Override
 	public boolean useAdminCommand(String command, L2PcInstance activeChar)
 	{
 		if (command.equals("admin_char_manage"))
@@ -186,7 +187,7 @@ public class AdminMenu implements IAdminCommandHandler
 					_log.warning("Character " + activeChar.getName() + " tryed to use admin command " + subCommand + ", but have no access to it!");
 					return false;
 				}
-				IAdminCommandHandler ach = AdminCommandHandler.getInstance().getAdminCommandHandler(subCommand);
+				IAdminCommandHandler ach = AdminCommandHandler.getInstance().getHandler(subCommand);
 				ach.useAdminCommand(subCommand+command.substring(14), activeChar);
 			}
 			showMainPage(activeChar);
@@ -203,7 +204,7 @@ public class AdminMenu implements IAdminCommandHandler
 					_log.warning("Character " + activeChar.getName() + " tryed to use admin command " + subCommand + ", but have no access to it!");
 					return false;
 				}
-				IAdminCommandHandler ach = AdminCommandHandler.getInstance().getAdminCommandHandler(subCommand);
+				IAdminCommandHandler ach = AdminCommandHandler.getInstance().getHandler(subCommand);
 				ach.useAdminCommand(subCommand+command.substring(16), activeChar);
 			}
 			showMainPage(activeChar);
@@ -211,6 +212,7 @@ public class AdminMenu implements IAdminCommandHandler
 		return true;
 	}
 	
+	@Override
 	public String[] getAdminCommandList()
 	{
 		return ADMIN_COMMANDS;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSummon.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSummon.java
index eb3eb482a08171dfef6d8e2666edbe1a054c5391..27a6bd387e7c78f0d6d29e64ffbdef711a231125 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSummon.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSummon.java
@@ -37,6 +37,7 @@ public class AdminSummon implements IAdminCommandHandler
 	/**
 	 * @see com.l2jserver.gameserver.handler.IAdminCommandHandler#getAdminCommandList()
 	 */
+	@Override
 	public String[] getAdminCommandList()
 	{
 		
@@ -46,6 +47,7 @@ public class AdminSummon implements IAdminCommandHandler
 	/**
 	 * @see com.l2jserver.gameserver.handler.IAdminCommandHandler#useAdminCommand(java.lang.String, com.l2jserver.gameserver.model.actor.instance.L2PcInstance)
 	 */
+	@Override
 	public boolean useAdminCommand(String command, L2PcInstance activeChar)
 	{
 		int id;
@@ -75,7 +77,7 @@ public class AdminSummon implements IAdminCommandHandler
 				_log.warning("Character " + activeChar.getName() + " tryed to use admin command " + subCommand + ", but have no access to it!");
 				return false;
 			}
-			IAdminCommandHandler ach = AdminCommandHandler.getInstance().getAdminCommandHandler(subCommand);
+			IAdminCommandHandler ach = AdminCommandHandler.getInstance().getHandler(subCommand);
 			ach.useAdminCommand(subCommand + " " + id + " " + count, activeChar);
 		}
 		else
@@ -87,7 +89,7 @@ public class AdminSummon implements IAdminCommandHandler
 				_log.warning("Character " + activeChar.getName() + " tryed to use admin command " + subCommand + ", but have no access to it!");
 				return false;
 			}
-			IAdminCommandHandler ach = AdminCommandHandler.getInstance().getAdminCommandHandler(subCommand);
+			IAdminCommandHandler ach = AdminCommandHandler.getInstance().getHandler(subCommand);
 			
 			activeChar.sendMessage("This is only a temporary spawn.  The mob(s) will NOT respawn.");
 			id -= 1000000;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/VoiceCommand.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/VoiceCommand.java
index e87ecb8fcd5470db9c3eaa0a4ed8edb6fb430864..c571bdcde5a9e45ec586bf3cf01b95942f38ca29 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/VoiceCommand.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/VoiceCommand.java
@@ -51,7 +51,7 @@ public class VoiceCommand implements IBypassHandler
 			
 			if (vc.length() > 0)
 			{
-				IVoicedCommandHandler vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(vc);
+				IVoicedCommandHandler vch = VoicedCommandHandler.getInstance().getHandler(vc);
 				if (vch != null)
 				{
 					return vch.useVoicedCommand(vc, activeChar, vparams);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/chathandlers/ChatAll.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/chathandlers/ChatAll.java
index 38c553cb6275c0424e51e93f6bf1c13da6e2e0c0..70200b7e37c10606bf211ad92f902e4a88a65640 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/chathandlers/ChatAll.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/chathandlers/ChatAll.java
@@ -62,14 +62,14 @@ public class ChatAll implements IChatHandler
 			{
 				command = st.nextToken().substring(1);
 				params = text.substring(command.length() + 2);
-				vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command);
+				vch = VoicedCommandHandler.getInstance().getHandler(command);
 			}
 			else
 			{
 				command = text.substring(1);
 				if (Config.DEBUG)
 					_log.info("Command: " + command);
-				vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command);
+				vch = VoicedCommandHandler.getInstance().getHandler(command);
 			}
 			if (vch != null)
 			{
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectAbortCast.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/AbortCast.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectAbortCast.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/AbortCast.java
index 56cba08a5bc6d9fe0be59c17aea3a789050caf40..7dd740d7d267f23ba64e408b890e549f6c629dd2 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectAbortCast.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/AbortCast.java
@@ -19,9 +19,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectAbortCast extends L2Effect
+public class AbortCast extends L2Effect
 {
-	public EffectAbortCast(Env env, EffectTemplate template)
+	public AbortCast(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBetray.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Betray.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBetray.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Betray.java
index b8bb2f0f7b28f77bc44bf453b5e6c564e9bfb963..f735a7dc5ac232b92a611932746087cd61859e59 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBetray.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Betray.java
@@ -27,9 +27,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author decad
  * 
  */
-public class EffectBetray extends L2Effect
+public class Betray extends L2Effect
 {
-	public EffectBetray(Env env, EffectTemplate template)
+	public Betray(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBigHead.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BigHead.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBigHead.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BigHead.java
index 24745cf68e8eba18c08318207083f884b9ac28fb..57bfe7eb26bc47a860af42e90c6047de08dd47a2 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBigHead.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BigHead.java
@@ -24,9 +24,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * 
  * @author LBaldi
  */
-public class EffectBigHead extends L2Effect
+public class BigHead extends L2Effect
 {
-	public EffectBigHead(Env env, EffectTemplate template)
+	public BigHead(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBlockResurrection.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BlockResurrection.java
similarity index 89%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBlockResurrection.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BlockResurrection.java
index efc8b362064a0552913a59a23687defddc2c878d..bc1ec54c90bc49e386e2014b5d2e4f9e221ba656 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBlockResurrection.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BlockResurrection.java
@@ -24,9 +24,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author UnAfraid
  *
  */
-public class EffectBlockResurrection extends L2Effect
+public class BlockResurrection extends L2Effect
 {
-	public EffectBlockResurrection(Env env, EffectTemplate template)
+	public BlockResurrection(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBluff.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Bluff.java
similarity index 93%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBluff.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Bluff.java
index dfff23ce7e70d74e99d76489dc7c0a34b9f24fa8..dc4fd97d3f385bdc0eee19cb2807eb0b0dd01411 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBluff.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Bluff.java
@@ -29,9 +29,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * 
  *         Implementation of the Bluff Effect
  */
-public class EffectBluff extends L2Effect
+public class Bluff extends L2Effect
 {
-	public EffectBluff(Env env, EffectTemplate template)
+	public Bluff(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBuff.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Buff.java
similarity index 87%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBuff.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Buff.java
index ac6743dfa117d2008ab5a96195c9a6760fbc5616..b065a0b509b33fcd047b389ff39635e7ddac875f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectBuff.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Buff.java
@@ -22,15 +22,15 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author mkizub
  */
-public class EffectBuff extends L2Effect
+public class Buff extends L2Effect
 {
-	public EffectBuff(Env env, EffectTemplate template)
+	public Buff(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
 	// Special constructor to steal this effect
-	public EffectBuff(Env env, L2Effect effect)
+	public Buff(Env env, L2Effect effect)
 	{
 		super(env, effect);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCancel.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Cancel.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCancel.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Cancel.java
index 6953acfe11f628330311ca485461044e791d6c1c..b2a6245e8a9c36df0db39c67db2ebe8c0f93d672 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCancel.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Cancel.java
@@ -32,11 +32,11 @@ import com.l2jserver.util.StringUtil;
  * @author DS
  *
  */
-public class EffectCancel extends L2Effect
+public class Cancel extends L2Effect
 {
-	protected static final Logger _log = Logger.getLogger(EffectCancel.class.getName());
+	protected static final Logger _log = Logger.getLogger(Cancel.class.getName());
 	
-	public EffectCancel(Env env, EffectTemplate template)
+	public Cancel(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCancelAll.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CancelAll.java
similarity index 88%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCancelAll.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CancelAll.java
index 8a0675a095469ecc20073344c434ead9021e3ebd..b286fa1522cf79f08b43e48fc12db73094fa57fc 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCancelAll.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CancelAll.java
@@ -23,9 +23,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author UnAfraid
  * Removes all effects.
  */
-public class EffectCancelAll extends L2Effect
+public class CancelAll extends L2Effect
 {
-	public EffectCancelAll(Env env, EffectTemplate template)
+	public CancelAll(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCancelDebuff.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CancelDebuff.java
similarity index 93%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCancelDebuff.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CancelDebuff.java
index 1b37fc971043b660e771bf907348bec2a073502f..56b90710fa817f4e294ca394ab452b6bf6ee63d1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCancelDebuff.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CancelDebuff.java
@@ -28,9 +28,9 @@ import com.l2jserver.util.Rnd;
  * @author UnAfraid
  *
  */
-public class EffectCancelDebuff extends L2Effect
+public class CancelDebuff extends L2Effect
 {
-    public EffectCancelDebuff(Env env, EffectTemplate template)
+    public CancelDebuff(Env env, EffectTemplate template)
     {
         super(env, template);
     }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectChameleonRest.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChameleonRest.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectChameleonRest.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChameleonRest.java
index d60a52b0f48bd0c042e13b742c1949b78b6f9703..f28ed1ac019aed08d0e1bc712768188b46b4e9ce 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectChameleonRest.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChameleonRest.java
@@ -25,9 +25,9 @@ import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 import com.l2jserver.gameserver.templates.skills.L2SkillType;
 
-public class EffectChameleonRest extends L2Effect
+public class ChameleonRest extends L2Effect
 {
-	public EffectChameleonRest(Env env, EffectTemplate template)
+	public ChameleonRest(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectChanceSkillTrigger.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChanceSkillTrigger.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectChanceSkillTrigger.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChanceSkillTrigger.java
index 4d15f344bc655947ade540dd754c19d969645e73..f8ee8a4b55e4bd056138e9e498c6a8bead654cc1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectChanceSkillTrigger.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChanceSkillTrigger.java
@@ -20,13 +20,13 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectChanceSkillTrigger extends L2Effect
+public class ChanceSkillTrigger extends L2Effect
 {
 	private final int _triggeredId;
 	private final int _triggeredLevel;
 	private final ChanceCondition _chanceCondition;
 	
-	public EffectChanceSkillTrigger(Env env, EffectTemplate template)
+	public ChanceSkillTrigger(Env env, EffectTemplate template)
 	{
 		super(env, template);
 		
@@ -36,7 +36,7 @@ public class EffectChanceSkillTrigger extends L2Effect
 	}
 	
 	// Special constructor to steal this effect
-	public EffectChanceSkillTrigger(Env env, L2Effect effect)
+	public ChanceSkillTrigger(Env env, L2Effect effect)
 	{
 		super(env, effect);
 		
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCharmOfCourage.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CharmOfCourage.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCharmOfCourage.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CharmOfCourage.java
index cacfdc3f07d9afac81f7626205ea4b12631acd4c..3e4e0311a6b6ea77c32eeaae6b7b6441ff322805 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCharmOfCourage.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CharmOfCourage.java
@@ -26,9 +26,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * 
  * @author nBd
  */
-public class EffectCharmOfCourage extends L2Effect
+public class CharmOfCourage extends L2Effect
 {
-	public EffectCharmOfCourage(Env env, EffectTemplate template)
+	public CharmOfCourage(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCharmOfLuck.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CharmOfLuck.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCharmOfLuck.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CharmOfLuck.java
index ecf5c645ef63a3aa6302ee7be5671814dcd4da91..bfc64e72124268151e72c30fe09256099360af94 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCharmOfLuck.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CharmOfLuck.java
@@ -25,9 +25,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author kerberos_20
  * 
  */
-public class EffectCharmOfLuck extends L2Effect
+public class CharmOfLuck extends L2Effect
 {
-	public EffectCharmOfLuck(Env env, EffectTemplate template)
+	public CharmOfLuck(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectClanGate.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ClanGate.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectClanGate.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ClanGate.java
index e304ba0194955688a7f174ed43d64b38fd9bf256..82b12f2d18a87a20ae6993b637d5966d3206f000 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectClanGate.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ClanGate.java
@@ -27,9 +27,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author ZaKaX (Ghost @ L2D)
  */
-public class EffectClanGate extends L2Effect
+public class ClanGate extends L2Effect
 {
-	public EffectClanGate(Env env, EffectTemplate template)
+	public ClanGate(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCombatPointHeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CombatPointHeal.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCombatPointHeal.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CombatPointHeal.java
index af3f62e5bc278a43d56f00ebc496dd26466cd549..7d2b4a4bc7f7733c3be8747623a41d47ba94de0d 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCombatPointHeal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CombatPointHeal.java
@@ -22,9 +22,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectCombatPointHeal extends L2Effect
+public class CombatPointHeal extends L2Effect
 {
-	public EffectCombatPointHeal(Env env, EffectTemplate template)
+	public CombatPointHeal(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCombatPointHealOverTime.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CombatPointHealOverTime.java
similarity index 88%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCombatPointHealOverTime.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CombatPointHealOverTime.java
index 185bff00fa1ecbbe242a944f56a8f4d40b13a232..b1b69b8eacb0e7185e4a69d0f29c0a01c3c5c673 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCombatPointHealOverTime.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CombatPointHealOverTime.java
@@ -20,15 +20,15 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectCombatPointHealOverTime extends L2Effect
+public class CombatPointHealOverTime extends L2Effect
 {
-	public EffectCombatPointHealOverTime(Env env, EffectTemplate template)
+	public CombatPointHealOverTime(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
 	// Special constructor to steal this effect
-	public EffectCombatPointHealOverTime(Env env, L2Effect effect)
+	public CombatPointHealOverTime(Env env, L2Effect effect)
 	{
 		super(env, effect);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectConfuseMob.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ConfuseMob.java
similarity index 93%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectConfuseMob.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ConfuseMob.java
index eeb9bfc7d16253157826b55b6b32495a022f3b5d..cef229303733fa5fe3350d1361f49241bd2408bd 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectConfuseMob.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ConfuseMob.java
@@ -35,9 +35,9 @@ import com.l2jserver.util.Rnd;
  * 
  *         Implementation of the Confusion Effect
  */
-public class EffectConfuseMob extends L2Effect
+public class ConfuseMob extends L2Effect
 {
-	public EffectConfuseMob(Env env, EffectTemplate template)
+	public ConfuseMob(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectConfusion.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Confusion.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectConfusion.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Confusion.java
index 37829a8105fc15993cc7bdba22069589c3d6b4fa..4c8ea3f20a0d3a5f6b7801ff398605bb1e7ba42b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectConfusion.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Confusion.java
@@ -34,10 +34,10 @@ import com.l2jserver.util.Rnd;
  * 
  *         Implementation of the Confusion Effect
  */
-public class EffectConfusion extends L2Effect
+public class Confusion extends L2Effect
 {
 	
-	public EffectConfusion(Env env, EffectTemplate template)
+	public Confusion(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCpDamPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java
similarity index 85%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCpDamPercent.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java
index 59ebdc2b0d8fdbc7f90a757f106155bce46f1bc7..4dd1f8bef392e0712562c574051c0ea2b9c2ab2f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCpDamPercent.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java
@@ -9,9 +9,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author Zoey76
  */
-public class EffectCpDamPercent extends L2Effect
+public class CpDamPercent extends L2Effect
 {
-	public EffectCpDamPercent(Env env, EffectTemplate template)
+	public CpDamPercent(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCpHeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCpHeal.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java
index bd3c123a3f6aaaf1347c044616615b68af794398..964a5227e1ec10cbaee3cad0a5d8ee84bc6445ce 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCpHeal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java
@@ -17,9 +17,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author UnAfraid
  *
  */
-public class EffectCpHeal extends L2Effect
+public class CpHeal extends L2Effect
 {
-	public EffectCpHeal(Env env, EffectTemplate template)
+	public CpHeal(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCpHealPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCpHealPercent.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java
index 32067cf6dfd5f7ecd1228b8152a470b2bf6d00af..5ded149c91bbbb769bfea74705a2c8bd19bb2181 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectCpHealPercent.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java
@@ -17,9 +17,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author UnAfraid
  *
  */
-public class EffectCpHealPercent extends L2Effect
+public class CpHealPercent extends L2Effect
 {
-	public EffectCpHealPercent(Env env, EffectTemplate template)
+	public CpHealPercent(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDamOverTime.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDamOverTime.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java
index ca1d17db3705055267c74f1a6761f4760022da6b..b73cab815d3f2aeaf860c5468fc3dc7798063020 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDamOverTime.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java
@@ -21,9 +21,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectDamOverTime extends L2Effect
+public class DamOverTime extends L2Effect
 {
-	public EffectDamOverTime(Env env, EffectTemplate template)
+	public DamOverTime(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDebuff.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Debuff.java
similarity index 89%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDebuff.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Debuff.java
index 2dd2363ae664b63133649bef49c45ccb2a29ec02..910a9957a77d32d082debaf8ef833c0a6cdd7010 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDebuff.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Debuff.java
@@ -19,9 +19,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectDebuff extends L2Effect
+public class Debuff extends L2Effect
 {
-	public EffectDebuff(Env env, EffectTemplate template)
+	public Debuff(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDisarm.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Disarm.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDisarm.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Disarm.java
index 2bf3944dc2e55c9feadf896e404bbed5a7b0243f..e6642feaf776b917987d47c9f1f23a0b93839d05 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDisarm.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Disarm.java
@@ -25,9 +25,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * 
  * @author nBd
  */
-public class EffectDisarm extends L2Effect
+public class Disarm extends L2Effect
 {
-	public EffectDisarm(Env env, EffectTemplate template)
+	public Disarm(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDispelBySlot.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDispelBySlot.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java
index b9b5fe1c50257165374a1cae48991b64f58e20df..1f7522b9d8eeae9d4ad975df1a56eccafa326154 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectDispelBySlot.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java
@@ -23,9 +23,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  ** @author Gnacik
  */
-public class EffectDispelBySlot extends L2Effect
+public class DispelBySlot extends L2Effect
 {
-	public EffectDispelBySlot(Env env, EffectTemplate template)
+	public DispelBySlot(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectEnemyCharge.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectEnemyCharge.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java
index 334c6ad7c59974ed4a6e2725651607f5e34ec6ed..5affe95aabe36132538a3fb0b7981d3879834ffe 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectEnemyCharge.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java
@@ -27,13 +27,13 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectEnemyCharge extends L2Effect
+public class EnemyCharge extends L2Effect
 {
-	static final Logger _log = Logger.getLogger(EffectEnemyCharge.class.getName());
+	static final Logger _log = Logger.getLogger(EnemyCharge.class.getName());
 	
 	private int _x, _y, _z;
 	
-	public EffectEnemyCharge(Env env, EffectTemplate template)
+	public EnemyCharge(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectFakeDeath.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FakeDeath.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectFakeDeath.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FakeDeath.java
index 58a3793a6a7b2d355fac5cbcef2effe06801b9b1..29d0309a3949d8f5be527eb5a02ab657c0719f34 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectFakeDeath.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FakeDeath.java
@@ -25,9 +25,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author mkizub
  * 
  */
-public class EffectFakeDeath extends L2Effect
+public class FakeDeath extends L2Effect
 {
-	public EffectFakeDeath(Env env, EffectTemplate template)
+	public FakeDeath(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectFear.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fear.java
similarity index 94%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectFear.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fear.java
index 3a2e2554485a0d76072ad5d39c84463b8d9852a5..f3e92f78a4be25886719ec8662bb9a5f3267b2de 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectFear.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fear.java
@@ -37,14 +37,14 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * 
  *         Implementation of the Fear Effect
  */
-public class EffectFear extends L2Effect
+public class Fear extends L2Effect
 {
 	public static final int FEAR_RANGE = 500;
 	
 	private int _dX = -1;
 	private int _dY = -1;
 	
-	public EffectFear(Env env, EffectTemplate template)
+	public Fear(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectFusion.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fusion.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectFusion.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fusion.java
index 2d981081a57c13075095e051b06bf45800b18ef3..20f3c034e774501d218e627a5f4748d57fff4b91 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectFusion.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fusion.java
@@ -23,12 +23,12 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author Kerberos
  */
-public class EffectFusion extends L2Effect
+public class Fusion extends L2Effect
 {
 	public int _effect;
 	public int _maxEffect;
 	
-	public EffectFusion(Env env, EffectTemplate template)
+	public Fusion(Env env, EffectTemplate template)
 	{
 		super(env, template);
 		_effect = getSkill().getLevel();
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectGrow.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Grow.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectGrow.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Grow.java
index 119175a3fc094e4b7ec80ebcb10831eb38e0de98..df75a3137e132671f4f376fd07e53cbb2b0b0540 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectGrow.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Grow.java
@@ -21,9 +21,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectGrow extends L2Effect
+public class Grow extends L2Effect
 {
-	public EffectGrow(Env env, EffectTemplate template)
+	public Grow(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java
similarity index 95%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHeal.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java
index b5852bb2c6697125f4e8d1ffa5d0eb467039c17e..61acc80d63cdf888818be553d844a6506c0af31c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHeal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java
@@ -23,9 +23,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author UnAfraid
  */
-public class EffectHeal extends L2Effect
+public class Heal extends L2Effect
 {
-	public EffectHeal(Env env, EffectTemplate template)
+	public Heal(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHealOverTime.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHealOverTime.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java
index fd13811442f84ea97f0afa36010c4cb1ec33f4b5..ecd3ff8b3111bb4f6d99ea8af2e8bea0d5821857 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHealOverTime.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java
@@ -22,15 +22,15 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectHealOverTime extends L2Effect
+public class HealOverTime extends L2Effect
 {
-	public EffectHealOverTime(Env env, EffectTemplate template)
+	public HealOverTime(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
 	// Special constructor to steal this effect
-	public EffectHealOverTime(Env env, L2Effect effect)
+	public HealOverTime(Env env, L2Effect effect)
 	{
 		super(env, effect);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHealPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHealPercent.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java
index 97d440e7fc629142e3fe3e68ff15ecf981ac2bda..2a170024a5b43e59546e88ef7bd9ee66c9ca4304 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHealPercent.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java
@@ -17,9 +17,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author UnAfraid
  *
  */
-public class EffectHealPercent extends L2Effect
+public class HealPercent extends L2Effect
 {
-	public EffectHealPercent(Env env, EffectTemplate template)
+	public HealPercent(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHide.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Hide.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHide.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Hide.java
index 9d52f6a3f545a41030522dfe574029231ca151d8..1c2794708636a6b94e3126917d5e927567dc5976 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectHide.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Hide.java
@@ -29,14 +29,14 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  *
  * @author ZaKaX - nBd
  */
-public class EffectHide extends L2Effect
+public class Hide extends L2Effect
 {
-	public EffectHide(Env env, EffectTemplate template)
+	public Hide(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
-	public EffectHide(Env env, L2Effect effect)
+	public Hide(Env env, L2Effect effect)
 	{
 		super(env, effect);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectImmobileBuff.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ImmobileBuff.java
similarity index 87%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectImmobileBuff.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ImmobileBuff.java
index cfd246beb9ee38a0a4b59d28f19e0ce46bc9608b..d25af6601aaccf6658e7f298385d7f96b16432d9 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectImmobileBuff.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ImmobileBuff.java
@@ -22,15 +22,15 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author mkizub
  */
-public class EffectImmobileBuff extends EffectBuff
+public class ImmobileBuff extends Buff
 {
-	public EffectImmobileBuff(Env env, EffectTemplate template)
+	public ImmobileBuff(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
 	// Special constructor to steal this effect
-	public EffectImmobileBuff(Env env, L2Effect effect)
+	public ImmobileBuff(Env env, L2Effect effect)
 	{
 		super(env, effect);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectImmobilePetBuff.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ImmobilePetBuff.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectImmobilePetBuff.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ImmobilePetBuff.java
index 7dd2412b943423931aad1aac68525565a58a2f53..5fd8fd2035b1a9264caf938fa8178d54af4993e9 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectImmobilePetBuff.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ImmobilePetBuff.java
@@ -24,11 +24,11 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author demonia
  */
-public class EffectImmobilePetBuff extends L2Effect
+public class ImmobilePetBuff extends L2Effect
 {
 	private L2Summon _pet;
 	
-	public EffectImmobilePetBuff(Env env, EffectTemplate template)
+	public ImmobilePetBuff(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectIncreaseCharges.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/IncreaseCharges.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectIncreaseCharges.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/IncreaseCharges.java
index e4864220987b45a72068b71556f4e1a83e87b8d9..1ed2e533128b9b41093b4897f31b9d60c0987904 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectIncreaseCharges.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/IncreaseCharges.java
@@ -28,9 +28,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * Number of charges in "value", maximum number in "count" effect variables
  *
  */
-public class EffectIncreaseCharges extends L2Effect
+public class IncreaseCharges extends L2Effect
 {
-	public EffectIncreaseCharges(Env env, EffectTemplate template)
+	public IncreaseCharges(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectInvincible.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Invincible.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectInvincible.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Invincible.java
index d37395cde71df83782af47d99ea868cb922b617a..e2cf32a5c262e57995e075b12d7e8c3b8b741f59 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectInvincible.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Invincible.java
@@ -20,9 +20,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectInvincible extends L2Effect
+public class Invincible extends L2Effect
 {
-	public EffectInvincible(Env env, EffectTemplate template)
+	public Invincible(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaDamOverTime.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaDamOverTime.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaDamOverTime.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaDamOverTime.java
index e6dc473fa5a2cdb7d46d72b92c09f6676163eb1b..519f169c9f85a2dd6befb03d53e9e41663e3c0e1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaDamOverTime.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaDamOverTime.java
@@ -21,9 +21,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectManaDamOverTime extends L2Effect
+public class ManaDamOverTime extends L2Effect
 {
-	public EffectManaDamOverTime(Env env, EffectTemplate template)
+	public ManaDamOverTime(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaHeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java
similarity index 85%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaHeal.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java
index 51b15431e922df1b42493f6741ace0a5fafb6fa3..2cbbf1e9f03eaf8e49632615b3d3d6db868613b5 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaHeal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java
@@ -10,6 +10,7 @@ import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.StatusUpdate;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 import com.l2jserver.gameserver.skills.Env;
+import com.l2jserver.gameserver.skills.Stats;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
@@ -17,9 +18,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author UnAfraid
  *
  */
-public class EffectManaHeal extends L2Effect
+public class ManaHeal extends L2Effect
 {
-	public EffectManaHeal(Env env, EffectTemplate template)
+	public ManaHeal(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
@@ -41,6 +42,9 @@ public class EffectManaHeal extends L2Effect
 		
 		double amount = calc();
 		
+		if (!getSkill().isStaticHeal())
+			amount = target.calcStat(Stats.RECHARGE_MP_RATE, amount, null, null);
+		
 		amount = Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp());
 		
 		// Prevent negative amounts
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaHealOverTime.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java
similarity index 88%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaHealOverTime.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java
index e1e64270f6e79c93b184ba499be139b9de1584d1..f2690ef18031b6c63a8a07c0149f8224ef8f0e19 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaHealOverTime.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java
@@ -20,15 +20,15 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectManaHealOverTime extends L2Effect
+public class ManaHealOverTime extends L2Effect
 {
-	public EffectManaHealOverTime(Env env, EffectTemplate template)
+	public ManaHealOverTime(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
 	// Special constructor to steal this effect
-	public EffectManaHealOverTime(Env env, L2Effect effect)
+	public ManaHealOverTime(Env env, L2Effect effect)
 	{
 		super(env, effect);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaHealPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaHealPercent.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java
index 3cf5efd22c42f613aece778249f27ee3b7883c62..01421b012488fee63ade853f592a2f6cfee7f4ca 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectManaHealPercent.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java
@@ -17,9 +17,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author UnAfraid
  *
  */
-public class EffectManaHealPercent extends L2Effect
+public class ManaHealPercent extends L2Effect
 {
-	public EffectManaHealPercent(Env env, EffectTemplate template)
+	public ManaHealPercent(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectMpConsumePerLevel.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MpConsumePerLevel.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectMpConsumePerLevel.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MpConsumePerLevel.java
index 661bc9f40644866e82156393cb2839474c7bffc7..ec2ddcbabe266dcad9909f8d6470ed711c360adb 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectMpConsumePerLevel.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MpConsumePerLevel.java
@@ -21,9 +21,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectMpConsumePerLevel extends L2Effect
+public class MpConsumePerLevel extends L2Effect
 {
-	public EffectMpConsumePerLevel(Env env, EffectTemplate template)
+	public MpConsumePerLevel(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectMute.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Mute.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectMute.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Mute.java
index 4dc488c6d8737833f2b00c2736f56809c0f8a5e6..e63ec80088fb9797c1c0d59e063275122221ae7f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectMute.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Mute.java
@@ -20,9 +20,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectMute extends L2Effect
+public class Mute extends L2Effect
 {
-	public EffectMute(Env env, EffectTemplate template)
+	public Mute(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectNegate.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Negate.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectNegate.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Negate.java
index 33eadc58fd7a35170c91bef5ae70f26c604c1d18..91f1fc80081c0517d12126ae712c129cf3d41ce3 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectNegate.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Negate.java
@@ -25,9 +25,9 @@ import com.l2jserver.gameserver.templates.skills.L2SkillType;
  * 
  * @author Gnat
  */
-public class EffectNegate extends L2Effect
+public class Negate extends L2Effect
 {
-	public EffectNegate(Env env, EffectTemplate template)
+	public Negate(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectNoblesseBless.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/NoblesseBless.java
similarity index 88%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectNoblesseBless.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/NoblesseBless.java
index 64c6ee4f2ab97372f66dbd87426176908aca6bde..0a7864c034f1df830750decc90f52f7fdb601bed 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectNoblesseBless.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/NoblesseBless.java
@@ -24,15 +24,15 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author earendil
  * 
  */
-public class EffectNoblesseBless extends L2Effect
+public class NoblesseBless extends L2Effect
 {
-	public EffectNoblesseBless(Env env, EffectTemplate template)
+	public NoblesseBless(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
 	// Special constructor to steal this effect
-	public EffectNoblesseBless(Env env, L2Effect effect)
+	public NoblesseBless(Env env, L2Effect effect)
 	{
 		super(env, effect);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectParalyze.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Paralyze.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectParalyze.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Paralyze.java
index 5987069f6ce17694c09f4bbec6b6676fd242f6e7..a239725bffa9191598040578f960b815ae3c271d 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectParalyze.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Paralyze.java
@@ -22,15 +22,15 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectParalyze extends L2Effect
+public class Paralyze extends L2Effect
 {
-	public EffectParalyze(Env env, EffectTemplate template)
+	public Paralyze(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
 	// Special constructor to steal this effect
-	public EffectParalyze(Env env, L2Effect effect)
+	public Paralyze(Env env, L2Effect effect)
 	{
 		super(env, effect);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPetrification.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Petrification.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPetrification.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Petrification.java
index 35af3b896b3de65584f3a42216618bc9c8c83b1d..cfab56c343b6aba96ed6498b6c165d961ad335ce 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPetrification.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Petrification.java
@@ -21,9 +21,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectPetrification extends L2Effect
+public class Petrification extends L2Effect
 {
-	public EffectPetrification(Env env, EffectTemplate template)
+	public Petrification(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPhoenixBless.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhoenixBless.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPhoenixBless.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhoenixBless.java
index 539112fe355a12709cd673f051485df448595ed7..2431fa233f80864d536ac72de4ce3f9efdcf918b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPhoenixBless.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhoenixBless.java
@@ -24,9 +24,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author Faror
  */
-public class EffectPhoenixBless extends L2Effect
+public class PhoenixBless extends L2Effect
 {
-	public EffectPhoenixBless(Env env, EffectTemplate template)
+	public PhoenixBless(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPhysicalAttackMute.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackMute.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPhysicalAttackMute.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackMute.java
index de1fb87910906fa1397605ffdfe35f67a610c86a..bca10ecb6b92cc8da5ea53eee1337a5704f675ae 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPhysicalAttackMute.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackMute.java
@@ -24,9 +24,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author -Rnn-
  * 
  */
-public class EffectPhysicalAttackMute extends L2Effect
+public class PhysicalAttackMute extends L2Effect
 {
-	public EffectPhysicalAttackMute(Env env, EffectTemplate template)
+	public PhysicalAttackMute(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPhysicalMute.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalMute.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPhysicalMute.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalMute.java
index 6e11e48aa74e484545ef79f6fda5cea9d3444786..a40774a1fdb9664730b3999e6c12bb9103cada3d 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectPhysicalMute.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalMute.java
@@ -24,9 +24,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author -Nemesiss-
  * 
  */
-public class EffectPhysicalMute extends L2Effect
+public class PhysicalMute extends L2Effect
 {
-	public EffectPhysicalMute(Env env, EffectTemplate template)
+	public PhysicalMute(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectProtectionBlessing.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ProtectionBlessing.java
similarity index 89%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectProtectionBlessing.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ProtectionBlessing.java
index b491246deb1ecaeb8405b2c0828fd49231b09065..188bbf4cef08b8e6c6e28726d0edaa0b8150dc07 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectProtectionBlessing.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ProtectionBlessing.java
@@ -25,9 +25,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author kerberos_20
  *
  */
-public class EffectProtectionBlessing extends L2Effect
+public class ProtectionBlessing extends L2Effect
 {
-	public EffectProtectionBlessing(Env env, EffectTemplate template)
+	public ProtectionBlessing(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRandomizeHate.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RandomizeHate.java
similarity index 85%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRandomizeHate.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RandomizeHate.java
index d1b118c0117026130132fa85c68d04e3884fb4fc..01b002d5dc024fa30360bcdd7b8e452cfd95f338 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRandomizeHate.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RandomizeHate.java
@@ -27,27 +27,19 @@ import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 import com.l2jserver.util.Rnd;
 
-public class EffectRandomizeHate extends L2Effect
+public class RandomizeHate extends L2Effect
 {
-	public EffectRandomizeHate(Env env, EffectTemplate template)
+	public RandomizeHate(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
-	/**
-	 * 
-	 * @see com.l2jserver.gameserver.model.L2Effect#getEffectType()
-	 */
 	@Override
 	public L2EffectType getEffectType()
 	{
 		return L2EffectType.RANDOMIZE_HATE;
 	}
 	
-	/**
-	 * 
-	 * @see com.l2jserver.gameserver.model.L2Effect#onStart()
-	 */
 	@Override
 	public boolean onStart()
 	{
@@ -90,10 +82,6 @@ public class EffectRandomizeHate extends L2Effect
 		return true;
 	}
 	
-	/**
-	 * 
-	 * @see com.l2jserver.gameserver.model.L2Effect#onActionTime()
-	 */
 	@Override
 	public boolean onActionTime()
 	{
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRecovery.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Recovery.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRecovery.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Recovery.java
index 2f4ea2e382bad824909a0f7f38763a6aa1ef2b12..7fd9def3c6efce2b39bdb779438143de177f688e 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRecovery.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Recovery.java
@@ -24,9 +24,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author Kerberos
  * 
  */
-public class EffectRecovery extends L2Effect
+public class Recovery extends L2Effect
 {
-	public EffectRecovery(Env env, EffectTemplate template)
+	public Recovery(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRelax.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Relax.java
similarity index 93%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRelax.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Relax.java
index 54ec2803fff05a131f9d65f92ee89c78440c42e0..33b1855e0db61bf543c0dbcce738af48f5e73d47 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRelax.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Relax.java
@@ -24,9 +24,9 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectRelax extends L2Effect
+public class Relax extends L2Effect
 {
-	public EffectRelax(Env env, EffectTemplate template)
+	public Relax(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRemoveTarget.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RemoveTarget.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRemoveTarget.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RemoveTarget.java
index a1fc8a59dc0f72f3cea94b6c9402ebc3333d9855..42a71405c240bb25aeda52c193b1c2ed0f139282 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRemoveTarget.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RemoveTarget.java
@@ -24,9 +24,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author -Nemesiss-
  * 
  */
-public class EffectRemoveTarget extends L2Effect
+public class RemoveTarget extends L2Effect
 {
-	public EffectRemoveTarget(Env env, EffectTemplate template)
+	public RemoveTarget(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRoot.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Root.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRoot.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Root.java
index 9d874f6a77960f1322a577a5aabc2cde7ca4614e..0fc7a590feeeb701e6eb658272ae9701a596e431 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectRoot.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Root.java
@@ -23,9 +23,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author mkizub
  */
-public class EffectRoot extends L2Effect
+public class Root extends L2Effect
 {
-	public EffectRoot(Env env, EffectTemplate template)
+	public Root(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignet.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Signet.java
similarity index 94%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignet.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Signet.java
index b3deb8d7c99de3194bde04bb22b248479bfd1c95..f4b2db6e0c74b998b3cb6a96a5672eab9f2f969a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignet.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Signet.java
@@ -33,13 +33,13 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @authors Forsaiken, Sami
  */
-public class EffectSignet extends L2Effect
+public class Signet extends L2Effect
 {
 	private L2Skill _skill;
 	private L2EffectPointInstance _actor;
 	private boolean _srcInArena;
 	
-	public EffectSignet(Env env, EffectTemplate template)
+	public Signet(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignetAntiSummon.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SignetAntiSummon.java
similarity index 93%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignetAntiSummon.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SignetAntiSummon.java
index a6b6e6598714a0a76dad1665b0e5d9802dcc7b10..c1b879c4a6d27ef5e82213d4991a1b3fc33f8826 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignetAntiSummon.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SignetAntiSummon.java
@@ -30,11 +30,11 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author Forsaiken
  */
-public class EffectSignetAntiSummon extends L2Effect
+public class SignetAntiSummon extends L2Effect
 {
 	private L2EffectPointInstance _actor;
 	
-	public EffectSignetAntiSummon(Env env, EffectTemplate template)
+	public SignetAntiSummon(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignetMDam.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SignetMDam.java
similarity index 95%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignetMDam.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SignetMDam.java
index 56409fb607cea0753c37a0c77070cd6cc11e8c90..87a7d0265f5411f2c14e5532593fcc0dac40cc42 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignetMDam.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SignetMDam.java
@@ -43,11 +43,11 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 import com.l2jserver.gameserver.templates.skills.L2TargetType;
 import com.l2jserver.gameserver.util.Point3D;
 
-public class EffectSignetMDam extends L2Effect
+public class SignetMDam extends L2Effect
 {
 	private L2EffectPointInstance _actor;
 	
-	public EffectSignetMDam(Env env, EffectTemplate template)
+	public SignetMDam(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignetNoise.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SignetNoise.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignetNoise.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SignetNoise.java
index d169a98f35a8fd95537ad4214b4ccb50f77e698d..a4b94c91c8fe80ab0624a36be5ab4f50531e084f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSignetNoise.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SignetNoise.java
@@ -26,11 +26,11 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @authors Forsaiken, Sami
  */
-public class EffectSignetNoise extends L2Effect
+public class SignetNoise extends L2Effect
 {
 	private L2EffectPointInstance _actor;
 	
-	public EffectSignetNoise(Env env, EffectTemplate template)
+	public SignetNoise(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSilentMove.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SilentMove.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSilentMove.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SilentMove.java
index ff34919057e435c325ef37e77de93a830256b02c..dcbf03b72e13d29d3cb6e1367a02b46966c53f85 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSilentMove.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SilentMove.java
@@ -23,15 +23,15 @@ import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 import com.l2jserver.gameserver.templates.skills.L2SkillType;
 
-public class EffectSilentMove extends L2Effect
+public class SilentMove extends L2Effect
 {
-	public EffectSilentMove(Env env, EffectTemplate template)
+	public SilentMove(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
 	// Special constructor to steal this effect
-	public EffectSilentMove(Env env, L2Effect effect)
+	public SilentMove(Env env, L2Effect effect)
 	{
 		super(env, effect);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSleep.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Sleep.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSleep.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Sleep.java
index 9db99e73e371c347c535b06abca38eb945353c43..10f09f0b4a8bf564e4d01667df8a168ad6fc22bc 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSleep.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Sleep.java
@@ -24,9 +24,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author mkizub
  * 
  */
-public class EffectSleep extends L2Effect
+public class Sleep extends L2Effect
 {
-	public EffectSleep(Env env, EffectTemplate template)
+	public Sleep(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSpoil.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Spoil.java
similarity index 93%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSpoil.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Spoil.java
index 6654482d20e4035edf42030f12408b2ee9886c73..70ce3a8ca112cf413c11396cd0d35a6953e461c9 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectSpoil.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Spoil.java
@@ -33,9 +33,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * 
  *         This was originally done by _drunk_
  */
-public class EffectSpoil extends L2Effect
+public class Spoil extends L2Effect
 {
-	public EffectSpoil(Env env, EffectTemplate template)
+	public Spoil(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectStun.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Stun.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectStun.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Stun.java
index cec114c31b4ad93c1a50c5130fefbad146071185..b47071e86c9a6debd50eec172f5b9443800d7bb5 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectStun.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Stun.java
@@ -23,9 +23,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
 /**
  * @author mkizub
  */
-public class EffectStun extends L2Effect
+public class Stun extends L2Effect
 {
-	public EffectStun(Env env, EffectTemplate template)
+	public Stun(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectTargetMe.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetMe.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectTargetMe.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetMe.java
index 0584793c782b88d42561f5c9252df7dca156027a..cbdf2a95b181591919efbf79caf2be82f81643af 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectTargetMe.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetMe.java
@@ -28,9 +28,9 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * 
  * @author -Nemesiss-
  */
-public class EffectTargetMe extends L2Effect
+public class TargetMe extends L2Effect
 {
-	public EffectTargetMe(Env env, EffectTemplate template)
+	public TargetMe(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectThrowUp.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectThrowUp.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java
index 77480da5c49581da9d9aa67cdcf8ce3ebe8db30a..9a8d4d1e39450a26223a6135fb0b66253aa4ec9f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectThrowUp.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java
@@ -28,13 +28,13 @@ import com.l2jserver.gameserver.skills.Env;
 import com.l2jserver.gameserver.templates.effects.EffectTemplate;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 
-public class EffectThrowUp extends L2Effect
+public class ThrowUp extends L2Effect
 {
-	static final Logger _log = Logger.getLogger(EffectThrowUp.class.getName());
+	static final Logger _log = Logger.getLogger(ThrowUp.class.getName());
 	
 	private int _x, _y, _z;
 	
-	public EffectThrowUp(Env env, EffectTemplate template)
+	public ThrowUp(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectTransferDamage.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TransferDamage.java
similarity index 89%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectTransferDamage.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TransferDamage.java
index b807e83a114103ca7bee69063c9bbb89a52820d7..b964c3d3d5a959703b743f7182cf4af9051c008c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectTransferDamage.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TransferDamage.java
@@ -26,14 +26,14 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * @author UnAfraid
  */
 
-public class EffectTransferDamage extends L2Effect
+public class TransferDamage extends L2Effect
 {  
-   public EffectTransferDamage(Env env, EffectTemplate template)
+   public TransferDamage(Env env, EffectTemplate template)
    {
       super(env, template);
    }
 
-   public EffectTransferDamage(Env env, L2Effect effect)
+   public TransferDamage(Env env, L2Effect effect)
    {
       super(env, effect);
    }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectTransformation.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Transformation.java
similarity index 89%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectTransformation.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Transformation.java
index 16b8bf97d78d236c3ab8c9ce1e4f6b115fc341dc..ad904da542a559fcee9546544bca2ee2401cd120 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectTransformation.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Transformation.java
@@ -28,15 +28,15 @@ import com.l2jserver.gameserver.templates.skills.L2EffectType;
  * 
  * @author nBd
  */
-public class EffectTransformation extends L2Effect
+public class Transformation extends L2Effect
 {
-	public EffectTransformation(Env env, EffectTemplate template)
+	public Transformation(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
 	
 	// Special constructor to steal this effect
-	public EffectTransformation(Env env, L2Effect effect)
+	public Transformation(Env env, L2Effect effect)
 	{
 		super(env, effect);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectWarp.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Warp.java
similarity index 94%
rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectWarp.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Warp.java
index c21f99ea162eee5d5cca04183db335bacccb6e9c..762c977dd9c68ba4382dac539e21ffcb61e36786 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EffectWarp.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Warp.java
@@ -48,12 +48,12 @@ import com.l2jserver.gameserver.util.Util;
  * 
  * @author House
  */
-public class EffectWarp extends L2Effect
+public class Warp extends L2Effect
 {
 	private int x, y, z;
 	private L2Character _actor;
 	
-	public EffectWarp(Env env, EffectTemplate template)
+	public Warp(Env env, EffectTemplate template)
 	{
 		super(env, template);
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/BalanceLife.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/BalanceLife.java
index a2ad39377d4283e1f6817025d68da67b1356dd04..939e11a03fbbdb616be8e57935b496f12f20cd2c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/BalanceLife.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/BalanceLife.java
@@ -42,11 +42,12 @@ public class BalanceLife implements ISkillHandler
 	 * 
 	 * @see com.l2jserver.gameserver.handler.ISkillHandler#useSkill(com.l2jserver.gameserver.model.actor.L2Character, com.l2jserver.gameserver.model.L2Skill, com.l2jserver.gameserver.model.L2Object[])
 	 */
+	@Override
 	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
 	{
 		// L2Character activeChar = activeChar;
 		// check for other effects
-		ISkillHandler handler = SkillHandler.getInstance().getSkillHandler(L2SkillType.BUFF);
+		ISkillHandler handler = SkillHandler.getInstance().getHandler(L2SkillType.BUFF);
 		
 		if (handler != null)
 			handler.useSkill(activeChar, skill, targets);
@@ -116,6 +117,7 @@ public class BalanceLife implements ISkillHandler
 	 * 
 	 * @see com.l2jserver.gameserver.handler.ISkillHandler#getSkillIds()
 	 */
+	@Override
 	public L2SkillType[] getSkillIds()
 	{
 		return SKILL_IDS;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ChainHeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ChainHeal.java
index 03c26ec76988f2d3c2ba6327a2008e8f35d76668..23ac8a04beed500682c668b73b01971c2c498dcf 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ChainHeal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ChainHeal.java
@@ -48,10 +48,11 @@ public class ChainHeal implements ISkillHandler
 	 * 
 	 * @see com.l2jserver.gameserver.handler.ISkillHandler#useSkill(com.l2jserver.gameserver.model.actor.L2Character, com.l2jserver.gameserver.model.L2Skill, com.l2jserver.gameserver.model.L2Object[])
 	 */
+	@Override
 	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
 	{
 		//check for other effects
-		ISkillHandler handler = SkillHandler.getInstance().getSkillHandler(L2SkillType.BUFF);
+		ISkillHandler handler = SkillHandler.getInstance().getHandler(L2SkillType.BUFF);
 		
 		if (handler != null)
 			handler.useSkill(activeChar, skill, targets);
@@ -140,6 +141,7 @@ public class ChainHeal implements ISkillHandler
 	 * 
 	 * @see com.l2jserver.gameserver.handler.ISkillHandler#getSkillIds()
 	 */
+	@Override
 	public L2SkillType[] getSkillIds()
 	{
 		return SKILL_IDS;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/CombatPointHeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/CombatPointHeal.java
index 39b6861342d9995e4d84b694f78ffdecbbdba1b3..92faad1b162419f3bc8ec40512a4e8364d4abb1c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/CombatPointHeal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/CombatPointHeal.java
@@ -41,10 +41,11 @@ public class CombatPointHeal implements ISkillHandler
 	 * 
 	 * @see com.l2jserver.gameserver.handler.ISkillHandler#useSkill(com.l2jserver.gameserver.model.actor.L2Character, com.l2jserver.gameserver.model.L2Skill, com.l2jserver.gameserver.model.L2Object[])
 	 */
+	@Override
 	public void useSkill(L2Character actChar, L2Skill skill, L2Object[] targets)
 	{
 		//check for other effects
-		ISkillHandler handler = SkillHandler.getInstance().getSkillHandler(L2SkillType.BUFF);
+		ISkillHandler handler = SkillHandler.getInstance().getHandler(L2SkillType.BUFF);
 		
 		if (handler != null)
 			handler.useSkill(actChar, skill, targets);
@@ -72,6 +73,7 @@ public class CombatPointHeal implements ISkillHandler
 		}
 	}
 	
+	@Override
 	public L2SkillType[] getSkillIds()
 	{
 		return SKILL_IDS;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Disablers.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Disablers.java
index 33f22d034662c87d32f9226ef42d09d0b4385252..ffc5a3141734fb85f7306da16396a0c6b9a4ecc7 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Disablers.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Disablers.java
@@ -569,7 +569,7 @@ public class Disablers implements ISkillHandler
 										removedBuffs += negateEffect(target, L2SkillType.BUFF, -1, skill.getMaxNegatedEffects());
 									break;
 								case HEAL:
-									ISkillHandler Healhandler = SkillHandler.getInstance().getSkillHandler(L2SkillType.HEAL);
+									ISkillHandler Healhandler = SkillHandler.getInstance().getHandler(L2SkillType.HEAL);
 									if (Healhandler == null)
 									{
 										_log.severe("Couldn't find skill handler for HEAL.");
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
index 07146aade8d1686be39d2edfb89df0f73bcfae89..2764c574cb3645277290151729687466191c286f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Heal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Heal.java
@@ -51,10 +51,11 @@ public class Heal implements ISkillHandler
 	 * 
 	 * @see com.l2jserver.gameserver.handler.ISkillHandler#useSkill(com.l2jserver.gameserver.model.actor.L2Character, com.l2jserver.gameserver.model.L2Skill, com.l2jserver.gameserver.model.L2Object[])
 	 */
+	@Override
 	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
 	{
 		//check for other effects
-		ISkillHandler handler = SkillHandler.getInstance().getSkillHandler(L2SkillType.BUFF);
+		ISkillHandler handler = SkillHandler.getInstance().getHandler(L2SkillType.BUFF);
 		
 		if (handler != null)
 			handler.useSkill(activeChar, skill, targets);
@@ -215,6 +216,7 @@ public class Heal implements ISkillHandler
 	 * 
 	 * @see com.l2jserver.gameserver.handler.ISkillHandler#getSkillIds()
 	 */
+	@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
index 8525fe520d3b6858f7ecc4e6d8f4ccbeca0c61a6..25bf5cbd3590c16e38e77a050bd31d8a06d0c8b4 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/HealPercent.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/HealPercent.java
@@ -43,10 +43,11 @@ public class HealPercent implements ISkillHandler
 	 * 
 	 * @see com.l2jserver.gameserver.handler.ISkillHandler#useSkill(com.l2jserver.gameserver.model.actor.L2Character, com.l2jserver.gameserver.model.L2Skill, com.l2jserver.gameserver.model.L2Object[])
 	 */
+	@Override
 	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
 	{
 		//check for other effects
-		ISkillHandler handler = SkillHandler.getInstance().getSkillHandler(L2SkillType.BUFF);
+		ISkillHandler handler = SkillHandler.getInstance().getHandler(L2SkillType.BUFF);
 		
 		if (handler != null)
 			handler.useSkill(activeChar, skill, targets);
@@ -206,6 +207,7 @@ public class HealPercent implements ISkillHandler
 	 * 
 	 * @see com.l2jserver.gameserver.handler.ISkillHandler#getSkillIds()
 	 */
+	@Override
 	public L2SkillType[] getSkillIds()
 	{
 		return SKILL_IDS;