diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Lindvior.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Lindvior.java
index 0c288d5e87890fdc790d7b5fbd8a3a7eb5e6fe93..93245c4c381ab668ccaa63c668316cb3ad554a0b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Lindvior.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Lindvior.java
@@ -71,11 +71,14 @@ public class Lindvior extends AbstractNpcAI
 				broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.BE_CAREFUL_SOMETHINGS_COMING);
 				break;
 			case "lindvior_scene":
-				for (L2PcInstance pl : npc.getKnownList().getKnownPlayersInRadius(4000))
+				if (npc != null)
 				{
-					if ((pl.getZ() >= 1100) && (pl.getZ() <= 3100))
+					for (L2PcInstance pl : npc.getKnownList().getKnownPlayersInRadius(4000))
 					{
-						pl.showQuestMovie(LINDVIOR_SCENE_ID);
+						if ((pl.getZ() >= 1100) && (pl.getZ() <= 3100))
+						{
+							pl.showQuestMovie(LINDVIOR_SCENE_ID);
+						}
 					}
 				}
 				break;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java
index 92a3f75f6b6fc26d6c017cc2352e8e9b8798b342..341e564c2ae3fade69f6476079a39f49e7f2aa66 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java
@@ -27,11 +27,11 @@ import com.l2jserver.gameserver.instancemanager.MapRegionManager;
 import com.l2jserver.gameserver.model.L2Spawn;
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Attackable;
-import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.skills.L2Skill;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.NpcStringId;
 import com.l2jserver.gameserver.network.clientpackets.Say2;
 import com.l2jserver.gameserver.scripting.scriptengine.events.SiegeEvent;
@@ -188,7 +188,7 @@ public final class Venom extends AbstractNpcAI
 				}
 				break;
 			case "raid_check":
-				if (!npc.isInsideZone(L2Character.ZONE_SIEGE) && !npc.isTeleporting())
+				if (!npc.isInsideZone(ZoneId.SIEGE) && !npc.isTeleporting())
 				{
 					npc.teleToLocation(new Location(_venomX, _venomY, _venomZ), false);
 				}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/BirthdayCake.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/BirthdayCake.java
index d1c9e7d23a6e48e86290b16ae144fe8400a37573..0b0639426554704f96e5efe0c9115f0be337811b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/BirthdayCake.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/BirthdayCake.java
@@ -17,11 +17,11 @@ package ai.npc.NpcBuffers;
 import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.ThreadPoolManager;
-import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.skills.L2Skill;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 
 /**
  * @author UnAfraid
@@ -94,7 +94,7 @@ public class BirthdayCake extends AbstractNpcAI
 				return;
 			}
 			
-			if (!_npc.isInsideZone(L2Character.ZONE_PEACE))
+			if (!_npc.isInsideZone(ZoneId.PEACE))
 			{
 				L2Skill skill = _holder.getSkill();
 				switch (_npc.getNpcId())
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java
index d899446cd3c861770679f12799e31f1d2ee89651..f8051d4ff8d48bcfbd8c973e63a8013fc4a36087 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java
@@ -17,14 +17,14 @@ package ai.npc.NpcBuffers;
 import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.ThreadPoolManager;
-import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.skills.L2Skill;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 
 /**
- * @author Drunkard Zabb0x
+ * @author Drunkard, Zabb0x
  */
 public class ChristmasTree extends AbstractNpcAI
 {
@@ -75,7 +75,7 @@ public class ChristmasTree extends AbstractNpcAI
 				return;
 			}
 			
-			if (!_npc.isInsideZone(L2Character.ZONE_PEACE))
+			if (!_npc.isInsideZone(ZoneId.PEACE))
 			{
 				L2Skill skill = _holder.getSkill();
 				
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminZone.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminZone.java
index 65c9a00fc30e6d0b6805124be0a475c50c937b79..a04be6929850261c5fddd3d6fe2e298c8dc8e4e8 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminZone.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminZone.java
@@ -23,9 +23,9 @@ import com.l2jserver.gameserver.instancemanager.ZoneManager;
 import com.l2jserver.gameserver.model.L2World;
 import com.l2jserver.gameserver.model.L2WorldRegion;
 import com.l2jserver.gameserver.model.Location;
-import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.zone.L2ZoneType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
 import com.l2jserver.util.StringUtil;
 
@@ -110,22 +110,22 @@ public class AdminZone implements IAdminCommandHandler
 		final String htmContent = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/zone.htm");
 		NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
 		adminReply.setHtml(htmContent);
-		adminReply.replace("%PEACE%", (activeChar.isInsideZone(L2Character.ZONE_PEACE) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%PVP%", (activeChar.isInsideZone(L2Character.ZONE_PVP) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%SIEGE%", (activeChar.isInsideZone(L2Character.ZONE_SIEGE) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%TOWN%", (activeChar.isInsideZone(L2Character.ZONE_TOWN) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%CASTLE%", (activeChar.isInsideZone(L2Character.ZONE_CASTLE) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%FORT%", (activeChar.isInsideZone(L2Character.ZONE_FORT) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%HQ%", (activeChar.isInsideZone(L2Character.ZONE_HQ) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%CLANHALL%", (activeChar.isInsideZone(L2Character.ZONE_CLANHALL) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%LAND%", (activeChar.isInsideZone(L2Character.ZONE_LANDING) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%NOLAND%", (activeChar.isInsideZone(L2Character.ZONE_NOLANDING) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%NOSUMMON%", (activeChar.isInsideZone(L2Character.ZONE_NOSUMMONFRIEND) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%WATER%", (activeChar.isInsideZone(L2Character.ZONE_WATER) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%SWAMP%", (activeChar.isInsideZone(L2Character.ZONE_SWAMP) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%DANGER%", (activeChar.isInsideZone(L2Character.ZONE_DANGERAREA) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%NOSTORE%", (activeChar.isInsideZone(L2Character.ZONE_NOSTORE) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
-		adminReply.replace("%SCRIPT%", (activeChar.isInsideZone(L2Character.ZONE_SCRIPT) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%PEACE%", (activeChar.isInsideZone(ZoneId.PEACE) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%PVP%", (activeChar.isInsideZone(ZoneId.PVP) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%SIEGE%", (activeChar.isInsideZone(ZoneId.SIEGE) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%TOWN%", (activeChar.isInsideZone(ZoneId.TOWN) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%CASTLE%", (activeChar.isInsideZone(ZoneId.CASTLE) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%FORT%", (activeChar.isInsideZone(ZoneId.FORT) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%HQ%", (activeChar.isInsideZone(ZoneId.HQ) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%CLANHALL%", (activeChar.isInsideZone(ZoneId.CLAN_HALL) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%LAND%", (activeChar.isInsideZone(ZoneId.LANDING) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%NOLAND%", (activeChar.isInsideZone(ZoneId.NO_LANDING) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%NOSUMMON%", (activeChar.isInsideZone(ZoneId.NO_SUMMON_FRIEND) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%WATER%", (activeChar.isInsideZone(ZoneId.WATER) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%SWAMP%", (activeChar.isInsideZone(ZoneId.SWAMP) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%DANGER%", (activeChar.isInsideZone(ZoneId.DANGER_AREA) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%NOSTORE%", (activeChar.isInsideZone(ZoneId.NO_STORE) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
+		adminReply.replace("%SCRIPT%", (activeChar.isInsideZone(ZoneId.SCRIPT) ? "<font color=\"LEVEL\">YES</font>" : "NO"));
 		StringBuilder zones = new StringBuilder(100);
 		L2WorldRegion region = L2World.getInstance().getRegion(activeChar.getX(), activeChar.getY());
 		for (L2ZoneType zone : region.getZones())
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/ArenaBuff.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/ArenaBuff.java
index edb6172e728f13c786f6341e36549659b1130fbc..414a2d2a00111df32445165fba0c1fea61ed4129 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/ArenaBuff.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/ArenaBuff.java
@@ -23,6 +23,7 @@ import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.skills.L2Skill;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 
 /**
  * @author Xaras2
@@ -81,7 +82,7 @@ public class ArenaBuff implements IBypassHandler
 			}
 			else if (cmd.equalsIgnoreCase(COMMANDS[1]))
 			{
-				if (activeChar.isInsideZone(L2Character.ZONE_PVP)) // Cannot be used while inside the pvp zone
+				if (activeChar.isInsideZone(ZoneId.PVP)) // Cannot be used while inside the pvp zone
 				{
 					return false;
 				}
@@ -100,7 +101,7 @@ public class ArenaBuff implements IBypassHandler
 			}
 			else if (cmd.equalsIgnoreCase(COMMANDS[2]))
 			{
-				if (activeChar.isInsideZone(L2Character.ZONE_PVP)) // Cannot be used while inside the pvp zone
+				if (activeChar.isInsideZone(ZoneId.PVP)) // Cannot be used while inside the pvp zone
 				{
 					return false;
 				}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Signet.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Signet.java
index 06026807a9cac66a2a046ad8d9b4d455418182b3..5ad6f7912b3a4f8d3d8342d93f73c32550ace110 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Signet.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Signet.java
@@ -26,6 +26,7 @@ import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.l2skills.L2SkillSignet;
 import com.l2jserver.gameserver.model.skills.l2skills.L2SkillSignetCasttime;
 import com.l2jserver.gameserver.model.stats.Env;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
 
@@ -57,7 +58,7 @@ public class Signet extends L2Effect
 		else if (getSkill() instanceof L2SkillSignetCasttime)
 			_skill = SkillTable.getInstance().getInfo(((L2SkillSignetCasttime) getSkill()).effectId, getLevel());
 		_actor = (L2EffectPointInstance) getEffected();
-		_srcInArena = (getEffector().isInsideZone(L2Character.ZONE_PVP) && !getEffector().isInsideZone(L2Character.ZONE_SIEGE));
+		_srcInArena = (getEffector().isInsideZone(ZoneId.PVP) && !getEffector().isInsideZone(ZoneId.SIEGE));
 		return true;
 	}
 	
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/RollingDice.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/RollingDice.java
index f685c44f259f7a157ca5185764645a3264f7a81a..f51cdb69cfa1c18c359c17e9d0ebd80c087ab1f8 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/RollingDice.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/RollingDice.java
@@ -15,10 +15,10 @@
 package handlers.itemhandlers;
 
 import com.l2jserver.gameserver.handler.IItemHandler;
-import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Playable;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.Dice;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
@@ -59,7 +59,7 @@ public class RollingDice implements IItemHandler
 		sm.addNumber(number);
 		
 		activeChar.sendPacket(sm);
-		if (activeChar.isInsideZone(L2Character.ZONE_PEACE))
+		if (activeChar.isInsideZone(ZoneId.PEACE))
 		{
 			Broadcast.toKnownPlayers(activeChar, sm);
 		}
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 14f14daef61c5768a9a4d05244b2d18c567296cf..d88a609f0c0745e70b13f1db962dc21135883046 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
@@ -162,8 +162,10 @@ public class Disablers implements ISkillHandler
 						L2Effect[] effects = target.getAllEffects();
 						for (L2Effect e : effects)
 						{
-							if (e.getSkill().getSkillType() == type)
+							if ((e != null) && (e.getSkill() != null) && (e.getSkill().getSkillType() == type))
+							{
 								e.exit();
+							}
 						}
 						skill.getEffects(activeChar, target, new Env(shld, ss, sps, bss));
 					}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Fishing.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Fishing.java
index c4ab746a467c60eb858336760e3951d31a64ee89..1f1ddcbd1fcfb0039d402fdf235052124db06fbb 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Fishing.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Fishing.java
@@ -29,6 +29,7 @@ import com.l2jserver.gameserver.model.items.type.L2WeaponType;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.zone.L2ZoneType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.model.zone.type.L2FishingZone;
 import com.l2jserver.gameserver.model.zone.type.L2WaterZone;
 import com.l2jserver.gameserver.network.SystemMessageId;
@@ -108,14 +109,14 @@ public class Fishing implements ISkillHandler
 				return;
 			}
 			
-			if (player.isInsideZone(L2Character.ZONE_WATER))
+			if (player.isInsideZone(ZoneId.WATER))
 			{
 				// You can't fish in water
 				player.sendPacket(SystemMessageId.CANNOT_FISH_UNDER_WATER);
 				return;
 			}
 			
-			if (player.isInsideZone(L2Character.ZONE_PEACE))
+			if (player.isInsideZone(ZoneId.PEACE))
 			{
 				// You can't fish here.
 				player.sendPacket(SystemMessageId.CANNOT_FISH_HERE);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/TransformDispel.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/TransformDispel.java
index f0327b0fb0a659c3c9a1b527d820568dca029fdc..3e619e67ce280a296a6e1e45992a792cc615efb1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/TransformDispel.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/TransformDispel.java
@@ -20,6 +20,7 @@ import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 
 /**
@@ -48,7 +49,7 @@ public class TransformDispel implements ISkillHandler
 		
 		if (pc.isTransformed() || pc.isInStance())
 		{
-			if (pc.isFlyingMounted() && !pc.isInsideZone(L2Character.ZONE_LANDING))
+			if (pc.isFlyingMounted() && !pc.isInsideZone(ZoneId.LANDING))
 				pc.sendPacket(SystemMessageId.BOARD_OR_CANCEL_NOT_POSSIBLE_HERE);
 			else
 				pc.stopTransformation(true);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetArea.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetArea.java
index 12a52e0d9a6f8ff2a917719260d4a8f673635bf9..a2d7f2981f18815b0f5fb4f33941759f01d861f1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetArea.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetArea.java
@@ -26,6 +26,7 @@ import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Playable;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.util.Util;
 
@@ -45,7 +46,7 @@ public class TargetArea implements ITargetTypeHandler
 		}
 		
 		final L2Character origin;
-		final boolean srcInArena = (activeChar.isInsideZone(L2Character.ZONE_PVP) && !activeChar.isInsideZone(L2Character.ZONE_SIEGE));
+		final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
 		final int radius = skill.getSkillRadius();
 		
 		if (skill.getCastRange() >= 0)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAreaCorpseMob.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAreaCorpseMob.java
index c1cc0d8b90d9613bcd1541881f2381336e2504bb..e17b398592852160d3331dbf6a93ea3248a98788 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAreaCorpseMob.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAreaCorpseMob.java
@@ -26,6 +26,7 @@ import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Playable;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.util.Util;
 
@@ -49,7 +50,7 @@ public class TargetAreaCorpseMob implements ITargetTypeHandler
 		
 		targetList.add(target);
 		
-		final boolean srcInArena = (activeChar.isInsideZone(L2Character.ZONE_PVP) && !activeChar.isInsideZone(L2Character.ZONE_SIEGE));
+		final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
 		
 		final int radius = skill.getSkillRadius();
 		final Collection<L2Character> objs = activeChar.getKnownList().getKnownCharacters();
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAreaSummon.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAreaSummon.java
index 37e8a58f4dd7d4daaa66072bef88a4043803bd7c..301a1afe4c8a69cf7242689591e3b16457f58609 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAreaSummon.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAreaSummon.java
@@ -27,6 +27,7 @@ import com.l2jserver.gameserver.model.actor.L2Playable;
 import com.l2jserver.gameserver.model.actor.instance.L2ServitorInstance;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.util.Util;
 
 /**
@@ -45,7 +46,7 @@ public class TargetAreaSummon implements ITargetTypeHandler
 		if (onlyFirst)
 			return new L2Character[] { target };
 		
-		final boolean srcInArena = (activeChar.isInsideZone(L2Character.ZONE_PVP) && !activeChar.isInsideZone(L2Character.ZONE_SIEGE));
+		final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
 		final Collection<L2Character> objs = target.getKnownList().getKnownCharacters();
 		final int radius = skill.getSkillRadius();
 		
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAura.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAura.java
index 20ac93534c93e7ef474338968be698f21a95dbe5..fd392c403a036f52aed0d92ef2ebaf3b2599a1aa 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAura.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetAura.java
@@ -29,6 +29,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 
 /**
  * @author UnAfraid
@@ -39,7 +40,7 @@ public class TargetAura implements ITargetTypeHandler
 	public L2Object[] getTargetList(L2Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target)
 	{
 		List<L2Character> targetList = new FastList<>();
-		final boolean srcInArena = (activeChar.isInsideZone(L2Character.ZONE_PVP) && !activeChar.isInsideZone(L2Character.ZONE_SIEGE));
+		final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
 		
 		final L2PcInstance sourcePlayer = activeChar.getActingPlayer();
 		
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetBehindArea.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetBehindArea.java
index 57f95fe0aa7286bda55933900e20338880201ae4..4709fed8a1a13cf6bf86e3bf65e6988a8fc6ec71 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetBehindArea.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetBehindArea.java
@@ -26,6 +26,7 @@ import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Playable;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.util.Util;
 
@@ -45,7 +46,7 @@ public class TargetBehindArea implements ITargetTypeHandler
 		}
 		
 		final L2Character origin;
-		final boolean srcInArena = (activeChar.isInsideZone(L2Character.ZONE_PVP) && !activeChar.isInsideZone(L2Character.ZONE_SIEGE));
+		final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
 		final int radius = skill.getSkillRadius();
 		
 		if (skill.getCastRange() >= 0)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetBehindAura.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetBehindAura.java
index dd1fc302473a5a32c77ce937dc2ef0b060614e16..7548a51807904dda5f086465cf085c868afd27dd 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetBehindAura.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetBehindAura.java
@@ -29,6 +29,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 
 /**
  * @author UnAfraid
@@ -39,7 +40,7 @@ public class TargetBehindAura implements ITargetTypeHandler
 	public L2Object[] getTargetList(L2Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target)
 	{
 		List<L2Character> targetList = new FastList<>();
-		final boolean srcInArena = (activeChar.isInsideZone(L2Character.ZONE_PVP) && !activeChar.isInsideZone(L2Character.ZONE_SIEGE));
+		final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
 		
 		final L2PcInstance sourcePlayer = activeChar.getActingPlayer();
 		
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpseAlly.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpseAlly.java
index 3baa9c2d76e63ea00bdc60731b3a5eb193ab1d0f..807c80915a10fff00801e31bd4d4f2757d2eec20 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpseAlly.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpseAlly.java
@@ -28,6 +28,7 @@ import com.l2jserver.gameserver.model.entity.TvTEvent;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 
 /**
  * @author UnAfraid
@@ -92,7 +93,7 @@ public class TargetCorpseAlly implements ITargetTypeHandler
 						// Siege battlefield resurrect has been made possible for participants
 						if (skill.getSkillType() == L2SkillType.RESURRECT)
 						{
-							if (obj.isInsideZone(L2Character.ZONE_SIEGE) && !obj.isInSiege())
+							if (obj.isInsideZone(ZoneId.SIEGE) && !obj.isInSiege())
 								continue;
 						}
 						
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpseClan.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpseClan.java
index 4fd3649661e43ea8aaebc883309d6a98098712ce..c7eee870db9a532ec8719c132bfaade495712d16 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpseClan.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpseClan.java
@@ -31,6 +31,7 @@ import com.l2jserver.gameserver.model.entity.TvTEvent;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.util.Util;
 
 /**
@@ -92,7 +93,7 @@ public class TargetCorpseClan implements ITargetTypeHandler
 					if (skill.getSkillType() == L2SkillType.RESURRECT)
 					{
 						// check target is not in a active siege zone
-						if (obj.isInsideZone(L2Character.ZONE_SIEGE) && !obj.isInSiege())
+						if (obj.isInsideZone(ZoneId.SIEGE) && !obj.isInSiege())
 							continue;
 					}
 					
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpsePlayer.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpsePlayer.java
index 0c5e333b8c8f650797ed162dade935941ee9d798..2cf185fac742448df327366dd10adbad7b5a07df 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpsePlayer.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetCorpsePlayer.java
@@ -26,6 +26,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PetInstance;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 
 /**
@@ -66,7 +67,7 @@ public class TargetCorpsePlayer implements ITargetTypeHandler
 					if (targetPlayer != null)
 					{
 						// check target is not in a active siege zone
-						if (targetPlayer.isInsideZone(L2Character.ZONE_SIEGE) && !targetPlayer.isInSiege())
+						if (targetPlayer.isInsideZone(ZoneId.SIEGE) && !targetPlayer.isInSiege())
 						{
 							condGood = false;
 							activeChar.sendPacket(SystemMessageId.CANNOT_BE_RESURRECTED_DURING_SIEGE);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetEnemySummon.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetEnemySummon.java
index 6e8e58047e1384894971cc3b67f6b9867d4cfb8a..e28788a4bffa63f66d48171cdeac1abcaa848ada 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetEnemySummon.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetEnemySummon.java
@@ -21,6 +21,7 @@ import com.l2jserver.gameserver.model.actor.L2Summon;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 
 /**
  * @author UnAfraid
@@ -35,7 +36,7 @@ public class TargetEnemySummon implements ITargetTypeHandler
 			L2Summon targetSummon = (L2Summon)target;
 			if (activeChar instanceof L2PcInstance && activeChar.getPet() != targetSummon && !targetSummon.isDead()
 					&& (targetSummon.getOwner().getPvpFlag() != 0 || targetSummon.getOwner().getKarma() > 0)
-					|| (targetSummon.getOwner().isInsideZone(L2Character.ZONE_PVP) && ((L2PcInstance)activeChar).isInsideZone(L2Character.ZONE_PVP))
+					|| (targetSummon.getOwner().isInsideZone(ZoneId.PVP) && ((L2PcInstance)activeChar).isInsideZone(ZoneId.PVP))
 					|| (targetSummon.getOwner().isInDuel() && ((L2PcInstance)activeChar).isInDuel() && targetSummon.getOwner().getDuelId() == ((L2PcInstance)activeChar).getDuelId()))
 				return new L2Character[]{targetSummon};
 		}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFrontArea.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFrontArea.java
index c149a116bf546fda756a4587fa859077741fc1bd..121c886250c71acb9bd678a38b3972d59b63a9f1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFrontArea.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFrontArea.java
@@ -26,6 +26,7 @@ import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Playable;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.util.Util;
 
@@ -45,7 +46,7 @@ public class TargetFrontArea implements ITargetTypeHandler
 		}
 		
 		final L2Character origin;
-		final boolean srcInArena = (activeChar.isInsideZone(L2Character.ZONE_PVP) && !activeChar.isInsideZone(L2Character.ZONE_SIEGE));
+		final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
 		final int radius = skill.getSkillRadius();
 		
 		if (skill.getCastRange() >= 0)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFrontAura.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFrontAura.java
index d484f0d1e27dbaeb944b69002f8b17217a76c535..ab042d480d611c62eb344247a733824c412c1a05 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFrontAura.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetFrontAura.java
@@ -29,6 +29,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 
 /**
  * @author UnAfraid
@@ -39,7 +40,7 @@ public class TargetFrontAura implements ITargetTypeHandler
 	public L2Object[] getTargetList(L2Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target)
 	{
 		List<L2Character> targetList = new FastList<>();
-		final boolean srcInArena = (activeChar.isInsideZone(L2Character.ZONE_PVP) && !activeChar.isInsideZone(L2Character.ZONE_SIEGE));
+		final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
 		
 		final L2PcInstance sourcePlayer = activeChar.getActingPlayer();
 		
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java
index 916554eb0f44c3545e176365456d9073d0106c61..79cdfb564a8b1cff85e09a644ba24d5a7ec60bd4 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java
@@ -32,12 +32,12 @@ import com.l2jserver.gameserver.instancemanager.CoupleManager;
 import com.l2jserver.gameserver.instancemanager.GrandBossManager;
 import com.l2jserver.gameserver.instancemanager.SiegeManager;
 import com.l2jserver.gameserver.model.L2World;
-import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.effects.AbnormalEffect;
 import com.l2jserver.gameserver.model.entity.L2Event;
 import com.l2jserver.gameserver.model.entity.TvTEvent;
 import com.l2jserver.gameserver.model.skills.L2Skill;
+import com.l2jserver.gameserver.model.zone.ZoneId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
 import com.l2jserver.gameserver.network.serverpackets.ConfirmDlg;
@@ -338,7 +338,7 @@ public class Wedding implements IVoicedCommandHandler
 			return false;
 		}
 		
-		if (activeChar.isInsideZone(L2Character.ZONE_NOSUMMONFRIEND))
+		if (activeChar.isInsideZone(ZoneId.NO_SUMMON_FRIEND))
 		{
 			activeChar.sendMessage("You are in area which blocks summoning.");
 			return false;
@@ -447,7 +447,7 @@ public class Wedding implements IVoicedCommandHandler
 			return false;
 		}
 		
-		if (partner.isInsideZone(L2Character.ZONE_NOSUMMONFRIEND))
+		if (partner.isInsideZone(ZoneId.NO_SUMMON_FRIEND))
 		{
 			activeChar.sendMessage("Your partner is in area which blocks summoning.");
 			return false;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java
index 60d148aa00e38387977ef88530cbc236d89bb32f..bc9b0bee319baf6f26f4e87ff16d11f4537efd16 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java
@@ -77,7 +77,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
 				break;
 			case "32119-4a.html":
 			case "32119-5b.html":
-				st.playSound("EtcSound.elcroki_song_1st");
+				st.playSound(QuestSound.ETCSOUND_ELROKI_SOUND_1ST);
 				break;
 			case "32119-5.html":
 				if (st.isCond(4))
@@ -99,7 +99,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
 				break;
 			case "32120-4a.html":
 			case "32120-5b.html":
-				st.playSound("EtcSound.elcroki_song_2nd");
+				st.playSound(QuestSound.ETCSOUND_ELROKI_SOUND_2ND);
 				break;
 			case "32120-5.html":
 				if (st.isCond(7))
@@ -121,7 +121,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
 				break;
 			case "32121-4a.html":
 			case "32121-5b.html":
-				st.playSound("EtcSound.elcroki_song_3rd");
+				st.playSound(QuestSound.ETCSOUND_ELROKI_SOUND_3RD);
 				break;
 			case "32121-5.html":
 				if (st.isCond(10))
@@ -270,7 +270,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
 				break;
 			case "32122-7.html":
 				st.giveItems(BONE_POWDER, 1);
-				st.playSound("EtcSound.elcroki_song_full");
+				st.playSound(QuestSound.ETCSOUND_ELROKI_SOUND_FULL);
 				npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
 				break;
 			case "32122-8.html":