From 688428ed28ee2b008e2ff7a5bbb6cab059c9e67a Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Mon, 28 May 2012 20:35:04 +0000
Subject: [PATCH] BETA: Datapack fixes: 	* Avoiding synthetic access. 	*
 Avoiding potential NPEs. 	* Minor JavaDocs fixes. 	* Added some
 TODO tasks.

---
 .../scripts/ai/group_template/BeastFarm.java  |  2 +-
 .../scripts/ai/group_template/DenOfEvil.java  |  2 +-
 .../ai/group_template/EnergySeeds.java        | 12 +++---
 .../data/scripts/ai/individual/Antharas.java  | 15 ++++---
 .../data/scripts/ai/individual/Baium.java     |  9 ++--
 .../data/scripts/ai/individual/Beleth.java    | 26 +++++------
 .../RainbowSpringsChateau.java                | 26 +++++------
 .../conquerablehalls/flagwar/FlagWar.java     |  2 +-
 .../scripts/custom/HeroWeapon/HeroWeapon.java |  5 ++-
 .../custom/Validators/SubClassSkills.java     | 43 +++++++++++--------
 .../scripts/handlers/EffectMasterHandler.java |  2 +-
 .../data/scripts/handlers/MasterHandler.java  |  2 +-
 .../AdminCursedWeapons.java                   | 19 +++-----
 .../admincommandhandlers/AdminEditChar.java   | 18 +++++---
 .../admincommandhandlers/AdminMenu.java       |  4 +-
 .../admincommandhandlers/AdminPForge.java     | 15 ++++---
 .../admincommandhandlers/AdminPledge.java     |  2 +
 .../admincommandhandlers/AdminRepairChar.java | 25 ++++-------
 .../admincommandhandlers/AdminSkill.java      |  1 +
 .../admincommandhandlers/AdminTeleport.java   | 11 ++---
 .../handlers/bypasshandlers/Festival.java     |  3 +-
 .../handlers/itemhandlers/MercTicket.java     |  2 +-
 .../itemhandlers/ScrollOfResurrection.java    |  4 +-
 .../handlers/skillhandlers/ChainHeal.java     |  3 +-
 .../handlers/skillhandlers/Detection.java     | 37 +++++++---------
 .../handlers/skillhandlers/Resurrect.java     |  6 ++-
 .../targethandlers/TargetPartyMember.java     | 30 +++++--------
 .../handlers/telnethandlers/DebugHandler.java | 11 ++++-
 .../data/scripts/hellbound/Quarry/Quarry.java |  2 +-
 .../data/scripts/hellbound/Shadai/Shadai.java |  2 +-
 .../hellbound/TowerOfNaia/TowerOfNaia.java    |  2 +-
 .../TullyWorkshop/TullyWorkshop.java          | 14 +++---
 .../CrystalCaverns/CrystalCaverns.java        | 22 +++++-----
 .../DarkCloudMansion/DarkCloudMansion.java    |  6 +--
 .../FinalEmperialTomb/FinalEmperialTomb.java  | 37 ++++++++--------
 .../HellboundTown/HellboundTown.java          |  3 +-
 .../Pailaka/PailakaDevilsLegacy.java          |  4 +-
 .../Pailaka/PailakaSongOfIceAndFire.java      |  4 +-
 .../instances/SecretArea/SecretArea.java      |  2 +-
 .../instances/SeedOfDestruction/Stage1.java   |  2 +-
 .../mods/eventmodElpies/eventmodElpies.java   |  2 +-
 .../mods/eventmodRabbits/eventmodRabbits.java |  2 +-
 .../mods/eventmodRace/eventmodRace.java       |  4 +-
 .../Q10277_MutatedKaneusDion.java             |  6 ++-
 .../Q511_AwlUnderFoot/Q511_AwlUnderFoot.java  | 16 ++++---
 .../scripts/vehicles/AirShipController.java   |  4 +-
 46 files changed, 242 insertions(+), 229 deletions(-)

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/BeastFarm.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/BeastFarm.java
index e865f6b9fa..43e09c98f0 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/BeastFarm.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/BeastFarm.java
@@ -55,7 +55,7 @@ public class BeastFarm extends L2AttackableAIScript
 		18869, 18870, 18871, 18872
 	};
 	private static final int TAME_CHANCE = 20;
-	private static final int[] SPECIAL_SPICE_CHANCES =
+	protected static final int[] SPECIAL_SPICE_CHANCES =
 	{
 		33, 75
 	};
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/DenOfEvil.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/DenOfEvil.java
index 6e735fe1dc..a7aa10c90b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/DenOfEvil.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/DenOfEvil.java
@@ -35,7 +35,7 @@ public class DenOfEvil extends L2AttackableAIScript
 {
 	// private static final int _buffer_id = 32656;
 	
-	private static final int[] _eye_ids = { 18812, 18813, 18814 };
+	protected static final int[] _eye_ids = { 18812, 18813, 18814 };
 	private static final int _skill_id = 6150; // others +2
 	
 	private static final Location[] _eye_spawn =
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java
index da2d92ef91..9d0951d29b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java
@@ -53,7 +53,7 @@ public class EnergySeeds extends L2AttackableAIScript
 	private static final int RESPAWN = 480000;
 	private static final int RANDOM_RESPAWN_OFFSET = 180000;
 	private static Map<Integer, ESSpawn> _spawns = new FastMap<Integer, ESSpawn>();
-	private static Map<L2Npc, Integer> _spawnedNpcs = new FastMap<L2Npc, Integer>().shared();
+	protected static Map<L2Npc, Integer> _spawnedNpcs = new FastMap<L2Npc, Integer>().shared();
 	
 	private static final int TEMPORARY_TELEPORTER = 32602;
 	private static final int[] SEEDIDS = { 18678, 18679, 18680, 18681, 18682, 18683 };
@@ -83,10 +83,10 @@ public class EnergySeeds extends L2AttackableAIScript
 	
 	private class ESSpawn
 	{
-		private final int _spawnId;
-		private final GraciaSeeds _seedId;
-		private final int[] _npcIds;
-		private final Location _loc;
+		protected final int _spawnId;
+		protected final GraciaSeeds _seedId;
+		protected final int[] _npcIds;
+		protected final Location _loc;
 		
 		public ESSpawn(int spawnId, GraciaSeeds seedId, Location loc, int[] npcIds)
 		{
@@ -127,7 +127,7 @@ public class EnergySeeds extends L2AttackableAIScript
 		startAI();
 	}
 	
-	private boolean isSeedActive(GraciaSeeds seed)
+	protected boolean isSeedActive(GraciaSeeds seed)
 	{
 		switch(seed)
 		{
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java
index fbfcd93bdb..92e181fcee 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Antharas.java
@@ -19,6 +19,7 @@ import gnu.trove.map.hash.TIntObjectHashMap;
 import java.util.Collection;
 import java.util.List;
 import java.util.concurrent.ScheduledFuture;
+import java.util.logging.Logger;
 
 import javolution.util.FastList;
 import ai.group_template.L2AttackableAIScript;
@@ -54,6 +55,8 @@ import com.l2jserver.gameserver.network.serverpackets.SpecialCamera;
  */
 public class Antharas extends L2AttackableAIScript
 {
+	protected static final Logger log = Logger.getLogger(Antharas.class.getName());
+	
 	// config
 	private static final int FWA_ACTIVITYTIMEOFANTHARAS = 120;
 	// private static final int FWA_APPTIMEOFANTHARAS = 1800000;
@@ -209,7 +212,7 @@ public class Antharas extends L2AttackableAIScript
 		}
 		catch (Exception e)
 		{
-			_log.warning(e.getMessage());
+			log.warning(e.getMessage());
 		}
 		
 		// Setting spawn data of teleport cube.
@@ -233,7 +236,7 @@ public class Antharas extends L2AttackableAIScript
 		}
 		catch (Exception e)
 		{
-			_log.warning(e.getMessage());
+			log.warning(e.getMessage());
 		}
 		int status = GrandBossManager.getInstance().getBossStatus(ANTHARASOLDID);
 		if (FWA_OLDANTHARAS || (status == WAITING))
@@ -379,7 +382,7 @@ public class Antharas extends L2AttackableAIScript
 		return super.onAdvEvent(event, npc, player);
 	}
 	
-	private void startMinionSpawns(int antharasId)
+	protected void startMinionSpawns(int antharasId)
 	{
 		int intervalOfMobs;
 		
@@ -552,7 +555,7 @@ public class Antharas extends L2AttackableAIScript
 		}
 	}
 	
-	private void broadcastPacket(L2GameServerPacket mov)
+	protected void broadcastPacket(L2GameServerPacket mov)
 	{
 		if (_Zone != null)
 		{
@@ -638,7 +641,7 @@ public class Antharas extends L2AttackableAIScript
 			}
 			catch (Exception e)
 			{
-				_log.warning(e.getMessage());
+				log.warning(e.getMessage());
 			}
 		}
 	}
@@ -728,7 +731,7 @@ public class Antharas extends L2AttackableAIScript
 	}
 	
 	// At end of activity time.
-	private class CheckActivity implements Runnable
+	protected class CheckActivity implements Runnable
 	{
 		@Override
 		public void run()
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
index 7b78e4d591..ff959d7256 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javolution.util.FastList;
 import ai.group_template.L2AttackableAIScript;
@@ -60,6 +61,8 @@ import com.l2jserver.gameserver.util.Util;
  */
 public class Baium extends L2AttackableAIScript
 {
+	protected static final Logger log = Logger.getLogger(Baium.class.getName());
+	
 	private L2Character _target;
 	private L2Skill _skill;
 	private static final int STONE_BAIUM = 29025;
@@ -83,7 +86,7 @@ public class Baium extends L2AttackableAIScript
 	};
 	
 	private long _LastAttackVsBaiumTime = 0;
-	private final List<L2Npc> _Minions = new ArrayList<L2Npc>(5);
+	protected final List<L2Npc> _Minions = new ArrayList<L2Npc>(5);
 	private L2BossZone _Zone;
 	
 	public Baium(int questId, String name, String descr)
@@ -203,7 +206,7 @@ public class Baium extends L2AttackableAIScript
 						}
 						catch (Exception e)
 						{
-							_log.log(Level.WARNING, "", e);
+							log.log(Level.WARNING, "", e);
 						}
 					}
 				}, 11100L);
@@ -315,7 +318,7 @@ public class Baium extends L2AttackableAIScript
 						}
 						catch (Throwable e)
 						{
-							_log.log(Level.WARNING, "", e);
+							log.log(Level.WARNING, "", e);
 						}
 					}
 				}, 100L);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java
index f733de47a1..d2008b3449 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java
@@ -55,21 +55,21 @@ import com.l2jserver.gameserver.util.Util;
  */
 public class Beleth extends L2AttackableAIScript
 {
-	private static L2Npc camera;
-	private static L2Npc camera2;
-	private static L2Npc camera3;
-	private static L2Npc camera4;
-	private static L2Npc beleth;
-	private static L2Npc priest;
-	private static L2ZoneType _zone = null;
+	protected static L2Npc camera;
+	protected static L2Npc camera2;
+	protected static L2Npc camera3;
+	protected static L2Npc camera4;
+	protected static L2Npc beleth;
+	protected static L2Npc priest;
+	protected static L2ZoneType _zone = null;
 	private static L2PcInstance belethKiller;
 	private static boolean debug = false;
-	private static boolean movie = false;
+	protected static boolean movie = false;
 	private static boolean attacked = false;
 	private static int allowObjectId = 0;
 	private static int killed = 0;
-	private static ScheduledFuture<?> spawnTimer = null;
-	private static ArrayList<L2Npc> minions = new ArrayList<L2Npc>();
+	protected static ScheduledFuture<?> spawnTimer = null;
+	protected static ArrayList<L2Npc> minions = new ArrayList<L2Npc>();
 	private static L2Skill Bleed = SkillTable.getInstance().getInfo(5495, 1);
 	private static L2Skill Fireball = SkillTable.getInstance().getInfo(5496, 1);
 	private static L2Skill HornOfRising = SkillTable.getInstance().getInfo(5497, 1);
@@ -108,7 +108,7 @@ public class Beleth extends L2AttackableAIScript
 		DoorTable.getInstance().getDoor(20240001).openMe();
 	}
 	
-	private static L2Npc spawn(int npcId, Location loc)
+	protected static L2Npc spawn(int npcId, Location loc)
 	{
 		try
 		{
@@ -133,7 +133,7 @@ public class Beleth extends L2AttackableAIScript
 		ThreadPoolManager.getInstance().scheduleGeneral(new Spawn(1), debug ? 10000 : 300000);
 	}
 	
-	private static class unlock implements Runnable
+	protected static class unlock implements Runnable
 	{
 		@Override
 		public void run()
@@ -661,7 +661,7 @@ public class Beleth extends L2AttackableAIScript
 		attacked = false;
 	}
 	
-	private static void SpawnBeleths()
+	protected static void SpawnBeleths()
 	{
 		int a = 0;
 		L2Npc npc;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java b/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java
index dec329cd77..30d2bc261c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java
@@ -66,7 +66,7 @@ public class RainbowSpringsChateau extends Quest
 {
 	private static final Logger _log = Logger.getLogger(RainbowSpringsChateau.class.getName());
 	
-	private static class SetFinalAttackers implements Runnable
+	protected static class SetFinalAttackers implements Runnable
 	{
 		@Override
 		public void run()
@@ -108,7 +108,7 @@ public class RainbowSpringsChateau extends Quest
 							clan = actingClan;
 						}
 					}
-					if (_acceptedClans.size() < 4)
+					if ((clan != null) && _acceptedClans.size() < 4)
 					{
 						_acceptedClans.add(clan);
 						L2PcInstance leader = clan.getLeader().getPlayerInstance();
@@ -131,7 +131,7 @@ public class RainbowSpringsChateau extends Quest
 		}
 	}
 	
-	private static class SiegeStart implements Runnable
+	protected static class SiegeStart implements Runnable
 	{
 		@Override
 		public void run()
@@ -152,7 +152,7 @@ public class RainbowSpringsChateau extends Quest
 	{
 		private final L2Clan _winner;
 		
-		private SiegeEnd(L2Clan winner)
+		protected SiegeEnd(L2Clan winner)
 		{
 			_winner = winner;
 		}
@@ -181,7 +181,7 @@ public class RainbowSpringsChateau extends Quest
 		}
 	}
 	
-	private static class TeleportBack implements Runnable
+	protected static class TeleportBack implements Runnable
 	{
 		@Override
 		public void run()
@@ -255,7 +255,7 @@ public class RainbowSpringsChateau extends Quest
 		}, // Arena 4
 	};
 	
-	private static final int[] ARENA_ZONES =
+	protected static final int[] ARENA_ZONES =
 	{
 		112081,
 		112082,
@@ -282,13 +282,13 @@ public class RainbowSpringsChateau extends Quest
 		SkillTable.getInstance().getInfo(0, 1)
 	};
 	
-	private static TIntLongHashMap _warDecreesCount = new TIntLongHashMap();
-	private static List<L2Clan> _acceptedClans = new ArrayList<L2Clan>(4);
+	protected static TIntLongHashMap _warDecreesCount = new TIntLongHashMap();
+	protected static List<L2Clan> _acceptedClans = new ArrayList<L2Clan>(4);
 	private static Map<String, ArrayList<L2Clan>> _usedTextPassages = new HashMap<String, ArrayList<L2Clan>>();
 	private static Map<L2Clan, Integer> _pendingItemToGet = new HashMap<L2Clan, Integer>();
 	
-	private static SiegableHall _rainbow;
-	private static ScheduledFuture<?> _nextSiege, _siegeEnd;
+	protected static SiegableHall _rainbow;
+	protected static ScheduledFuture<?> _nextSiege, _siegeEnd;
 	private static String _registrationEnds;
 	
 	/**
@@ -730,7 +730,7 @@ public class RainbowSpringsChateau extends Quest
 		}
 	}
 	
-	private static void spawnGourds()
+	protected static void spawnGourds()
 	{
 		for (int i = 0; i < _acceptedClans.size(); i++)
 		{
@@ -755,7 +755,7 @@ public class RainbowSpringsChateau extends Quest
 		}
 	}
 	
-	private static void unSpawnGourds()
+	protected static void unSpawnGourds()
 	{
 		for (int i = 0; i < _acceptedClans.size(); i++)
 		{
@@ -927,7 +927,7 @@ public class RainbowSpringsChateau extends Quest
 		}
 	}
 	
-	private static void setRegistrationEndString(long time)
+	protected static void setRegistrationEndString(long time)
 	{
 		Calendar c = Calendar.getInstance();
 		c.setTime(new Date(time));
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java b/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java
index 0906e947a9..9921bc11a7 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java
@@ -529,7 +529,7 @@ public abstract class FlagWar extends ClanHallSiegeEngine
 		return false;
 	}
 	
-	private void doSpawns(int clanId, ClanData data)
+	void doSpawns(int clanId, ClanData data)
 	{
 		try
 		{
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/custom/HeroWeapon/HeroWeapon.java b/L2J_DataPack_BETA/dist/game/data/scripts/custom/HeroWeapon/HeroWeapon.java
index dcbed7fd9c..a2000dcc9c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/custom/HeroWeapon/HeroWeapon.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/custom/HeroWeapon/HeroWeapon.java
@@ -61,8 +61,9 @@ public class HeroWeapon extends Quest
 		String htmltext = "";
 		QuestState st = player.getQuestState(getName());
 		if (st == null)
-			newQuestState(player);
-		
+		{
+			st = newQuestState(player);
+		}
 		if (player.isHero())
 		{
 			if (hasHeroWeapon(player))
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/custom/Validators/SubClassSkills.java b/L2J_DataPack_BETA/dist/game/data/scripts/custom/Validators/SubClassSkills.java
index 7754729b14..5d1112fb9b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/custom/Validators/SubClassSkills.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/custom/Validators/SubClassSkills.java
@@ -28,6 +28,7 @@ import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.util.Util;
 
 /**
+ * TODO: Rewrite.
  * @author DS
  */
 public final class SubClassSkills extends Quest
@@ -75,10 +76,9 @@ public final class SubClassSkills extends Quest
 			return null;
 		
 		final L2Skill[] certSkills = getCertSkills(player);
-		final boolean hasCertSkills = certSkills != null;
 		if (player.isSubClassActive())
 		{
-			if (hasCertSkills)
+			if (certSkills != null)
 			{
 				for (L2Skill s : certSkills)
 				{
@@ -93,7 +93,7 @@ public final class SubClassSkills extends Quest
 		
 		L2Skill skill;
 		int[][] cSkills = null; // skillId/skillLvl
-		if (hasCertSkills)
+		if (certSkills != null)
 		{
 			cSkills = new int[certSkills.length][2];
 			for (int i = certSkills.length; --i >= 0;)
@@ -107,8 +107,7 @@ public final class SubClassSkills extends Quest
 		L2ItemInstance item;
 		int[][] cItems = null; // objectId/number
 		final L2ItemInstance[] certItems = getCertItems(player);
-		final boolean hasCertItems = certItems != null;
-		if (hasCertItems)
+		if (certItems != null)
 		{
 			cItems = new int[certItems.length][2];
 			for (int i = certItems.length; --i >= 0;)
@@ -141,16 +140,19 @@ public final class SubClassSkills extends Quest
 						id = Integer.parseInt(qValue.replace(";", ""));
 						
 						skill = null;
-						if (hasCertSkills)
+						if (certSkills != null)
 						{
 							// searching skill in test array
-							for (index = certSkills.length; --index >= 0;)
+							if (cSkills != null)
 							{
-								if (cSkills[index][0] == id)
+								for (index = certSkills.length; --index >= 0;)
 								{
-									skill = certSkills[index];
-									cSkills[index][1]--;
-									break;
+									if (cSkills[index][0] == id)
+									{
+										skill = certSkills[index];
+										cSkills[index][1]--;
+										break;
+									}
 								}
 							}
 							if (skill != null)
@@ -185,16 +187,19 @@ public final class SubClassSkills extends Quest
 							continue;
 						
 						item = null;
-						if (hasCertItems)
+						if (certItems != null)
 						{
 							// searching item in test array
-							for (index = certItems.length; --index >= 0;)
+							if (cItems != null)
 							{
-								if (cItems[index][0] == id)
+								for (index = certItems.length; --index >= 0;)
 								{
-									item = certItems[index];
-									cItems[index][1]--;
-									break;
+									if (cItems[index][0] == id)
+									{
+										item = certItems[index];
+										cItems[index][1]--;
+										break;
+									}
 								}
 							}
 							if (item != null)
@@ -227,7 +232,7 @@ public final class SubClassSkills extends Quest
 			}
 		}
 		
-		if (hasCertSkills)
+		if ((certSkills != null) && (cSkills != null))
 		{
 			for (int i = cSkills.length; --i >= 0;)
 			{
@@ -257,7 +262,7 @@ public final class SubClassSkills extends Quest
 			}
 		}
 		
-		if (hasCertItems)
+		if ((certItems != null) && (cItems != null))
 		{
 			for (int i = cItems.length; --i >= 0;)
 			{
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 184ee1d729..0337b7620f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -209,7 +209,7 @@ public final class EffectMasterHandler
 			}
 			catch (Exception e)
 			{
-				_log.log(Level.WARNING, "Failed loading handler: " + c.getSimpleName(), e);
+				_log.log(Level.WARNING, "Failed loading effect handler" + ((c == null) ? "!" : ":" + c.getSimpleName()), e);
 				continue;
 			}
 		}
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 4e52741ce4..eaf219e0e6 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java
@@ -701,7 +701,7 @@ public class MasterHandler
 				}
 				catch (Exception e)
 				{
-					_log.log(Level.WARNING, "Failed loading handler: " + c.getSimpleName(), e);
+					_log.log(Level.WARNING, "Failed loading handler" + ((c == null) ? "!" : ":" + c.getSimpleName()), e);
 					continue;
 				}
 			}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminCursedWeapons.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminCursedWeapons.java
index 3a775bcbcd..132d848c81 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminCursedWeapons.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminCursedWeapons.java
@@ -185,17 +185,18 @@ public class AdminCursedWeapons implements IAdminCommandHandler
 					}
 				}
 				cw = cwm.getCursedWeapon(id);
-				if (cw == null)
-				{
-					activeChar.sendMessage("Unknown cursed weapon ID.");
-					return false;
-				}
 			}
 			catch (Exception e)
 			{
 				activeChar.sendMessage("Usage: //cw_remove|//cw_goto|//cw_add <itemid|name>");
 			}
 			
+			if (cw == null)
+			{
+				activeChar.sendMessage("Unknown cursed weapon ID.");
+				return false;
+			}
+			
 			if (command.startsWith("admin_cw_remove "))
 			{
 				cw.endOfLife();
@@ -206,12 +207,7 @@ public class AdminCursedWeapons implements IAdminCommandHandler
 			}
 			else if (command.startsWith("admin_cw_add"))
 			{
-				if (cw == null)
-				{
-					activeChar.sendMessage("Usage: //cw_add <itemid|name>");
-					return false;
-				}
-				else if (cw.isActive())
+				if (cw.isActive())
 					activeChar.sendMessage("This cursed weapon is already active.");
 				else
 				{
@@ -222,7 +218,6 @@ public class AdminCursedWeapons implements IAdminCommandHandler
 						activeChar.addItem("AdminCursedWeaponAdd", id, 1, activeChar, true);
 					cw.setEndTime(System.currentTimeMillis() + cw.getDuration() * 60000L);
 					cw.reActivate();
-					
 				}
 			}
 			else
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
index 48cb2f6f28..1032764220 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
@@ -781,13 +781,19 @@ public class AdminEditChar implements IAdminCommandHandler
 				player = activeChar;
 			}
 			else if (activeChar.getTarget() != null && activeChar.getTarget() instanceof L2PcInstance)
-				player = (L2PcInstance)activeChar.getTarget();
-			player.setNoble(!player.isNoble());
-			if (player.getObjectId() != activeChar.getObjectId())
 			{
-				activeChar.sendMessage("You've changed nobless status of: " + player.getName());
+				player = (L2PcInstance) activeChar.getTarget();
+			}
+			
+			if (player != null)
+			{
+				player.setNoble(!player.isNoble());
+				if (player.getObjectId() != activeChar.getObjectId())
+				{
+					activeChar.sendMessage("You've changed nobless status of: " + player.getName());
+				}
+				player.sendMessage("GM changed your nobless status!");
 			}
-			player.sendMessage("GM changed your nobless status!");
 		}
 		return true;
 	}
@@ -1475,7 +1481,7 @@ public class AdminEditChar implements IAdminCommandHandler
 	{
 		private final L2PcInstance _player;
 
-		private Untransform(L2PcInstance player)
+		protected Untransform(L2PcInstance player)
 		{
 			_player = player;
 		}
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 e305e84392..ebcfdc3b9b 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
@@ -231,8 +231,10 @@ public class AdminMenu implements IAdminCommandHandler
 		{
 			L2PcInstance plyr = L2World.getInstance().getPlayer(player);
 			if (plyr != null)
+			{
 				target = plyr;
-			activeChar.sendMessage("You killed " + plyr.getName());
+				activeChar.sendMessage("You killed " + plyr.getName());
+			}
 		}
 		if (target != null)
 		{
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPForge.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPForge.java
index fa25b59dc5..4839dff596 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPForge.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPForge.java
@@ -167,13 +167,16 @@ public class AdminPForge implements IAdminCommandHandler
 				}
 				else if (client)
 				{
-					buf.flip();
-					L2GameClientPacket p = (L2GameClientPacket) GameServer.gameServer.getL2GamePacketHandler().handlePacket(buf, activeChar.getClient());
-					if (p != null)
+					if (buf != null)
 					{
-						p.setBuffers(buf, activeChar.getClient(), new NioNetStringBuffer(2000));
-						if (p.read())
-							ThreadPoolManager.getInstance().executePacket(p);
+						buf.flip();
+						L2GameClientPacket p = (L2GameClientPacket) GameServer.gameServer.getL2GamePacketHandler().handlePacket(buf, activeChar.getClient());
+						if (p != null)
+						{
+							p.setBuffers(buf, activeChar.getClient(), new NioNetStringBuffer(2000));
+							if (p.read())
+								ThreadPoolManager.getInstance().executePacket(p);
+						}
 					}
 				}
 				else
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPledge.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPledge.java
index 9a6958a318..01ffb08ba9 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPledge.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPledge.java
@@ -71,6 +71,8 @@ public class AdminPledge implements IAdminCommandHandler
 			}
 			catch (NoSuchElementException nse)
 			{
+				// TODO: Send some message.
+				return false;
 			}
 			if (action.equals("create"))
 			{
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminRepairChar.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminRepairChar.java
index 20a1a9734c..f633a73480 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminRepairChar.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminRepairChar.java
@@ -14,6 +14,7 @@
  */
 package handlers.admincommandhandlers;
 
+import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.util.logging.Level;
@@ -23,7 +24,6 @@ import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.handler.IAdminCommandHandler;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 
-
 /**
  * This class handles following admin commands: - delete = deletes target
  *
@@ -61,16 +61,16 @@ public class AdminRepairChar implements IAdminCommandHandler
 		}
 		
 		String cmd = "UPDATE characters SET x=-84318, y=244579, z=-3730 WHERE char_name=?";
-		java.sql.Connection connection = null;
+		Connection con = null;
 		try
 		{
-			connection = L2DatabaseFactory.getInstance().getConnection();
-			PreparedStatement statement = connection.prepareStatement(cmd);
+			con = L2DatabaseFactory.getInstance().getConnection();
+			PreparedStatement statement = con.prepareStatement(cmd);
 			statement.setString(1, parts[1]);
 			statement.execute();
 			statement.close();
 			
-			statement = connection.prepareStatement("SELECT charId FROM characters where char_name=?");
+			statement = con.prepareStatement("SELECT charId FROM characters where char_name=?");
 			statement.setString(1, parts[1]);
 			ResultSet rset = statement.executeQuery();
 			int objId = 0;
@@ -84,22 +84,21 @@ public class AdminRepairChar implements IAdminCommandHandler
 			
 			if (objId == 0)
 			{
-				connection.close();
+				con.close();
 				return;
 			}
 			
 			//connection = L2DatabaseFactory.getInstance().getConnection();
-			statement = connection.prepareStatement("DELETE FROM character_shortcuts WHERE charId=?");
+			statement = con.prepareStatement("DELETE FROM character_shortcuts WHERE charId=?");
 			statement.setInt(1, objId);
 			statement.execute();
 			statement.close();
 			
 			//connection = L2DatabaseFactory.getInstance().getConnection();
-			statement = connection.prepareStatement("UPDATE items SET loc=\"INVENTORY\" WHERE owner_id=?");
+			statement = con.prepareStatement("UPDATE items SET loc=\"INVENTORY\" WHERE owner_id=?");
 			statement.setInt(1, objId);
 			statement.execute();
 			statement.close();
-			connection.close();
 		}
 		catch (Exception e)
 		{
@@ -107,13 +106,7 @@ public class AdminRepairChar implements IAdminCommandHandler
 		}
 		finally
 		{
-			try
-			{
-				connection.close();
-			}
-			catch (Exception e)
-			{
-			}
+			L2DatabaseFactory.close(con);
 		}
 	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSkill.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSkill.java
index 4752653024..6ac27bab7f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSkill.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSkill.java
@@ -581,6 +581,7 @@ public class AdminSkill implements IAdminCommandHandler
 		if (skill == null)
 		{
 			activeChar.sendMessage("Error: there is no such skill.");
+			return;
 		}
 		
 		String skillname = skill.getName();
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java
index 2c3760f141..766172e452 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java
@@ -446,15 +446,16 @@ public class AdminTeleport implements IAdminCommandHandler
 			else
 			{
 				// Set player to same instance as GM teleporting.
-				if (activeChar != null && activeChar.getInstanceId() >= 0)
+				if ((activeChar != null) && activeChar.getInstanceId() >= 0)
+				{
 					player.setInstanceId(activeChar.getInstanceId());
+					activeChar.sendMessage("You have recalled " + player.getName());
+				}
 				else
+				{
 					player.setInstanceId(0);
-				
-				// Information
-				activeChar.sendMessage("You have recalled " + player.getName());
+				}
 				player.sendMessage("Admin is teleporting you.");
-				
 				player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 				player.teleToLocation(x, y, z, true);
 			}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Festival.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Festival.java
index ade8113b1c..97a921e77e 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Festival.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Festival.java
@@ -51,7 +51,6 @@ public class Festival implements IBypassHandler
 		}
 		
 		final L2FestivalGuideInstance npc = (L2FestivalGuideInstance) target;
-		
 		try
 		{
 			final int val;
@@ -243,7 +242,7 @@ public class Festival implements IBypassHandler
 						strBuffer.append("Dusk: No record exists. Score 0<br>");
 					}
 					
-					if (overallScore > 0)
+					if ((overallScore > 0) && (overallData != null))
 					{
 						final String cabalStr;
 						if (overallData.getString("cabal").equals("dawn"))
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/MercTicket.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/MercTicket.java
index 8f2fdfd0a4..4a204cf32c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/MercTicket.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/MercTicket.java
@@ -65,7 +65,7 @@ public class MercTicket implements IItemHandler
 			activeChar.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_AUTHORITY_TO_POSITION_MERCENARIES);
 			return false;
 		}
-		else if (castle.getSiege().getIsInProgress())
+		else if ((castle != null) && castle.getSiege().getIsInProgress())
 		{
 			activeChar.sendPacket(SystemMessageId.THIS_MERCENARY_CANNOT_BE_POSITIONED_ANYMORE);
 			return false;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ScrollOfResurrection.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ScrollOfResurrection.java
index 77eb2815f6..d5c8c99fac 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ScrollOfResurrection.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ScrollOfResurrection.java
@@ -100,7 +100,7 @@ public class ScrollOfResurrection implements IItemHandler
 			{
 				castle = CastleManager.getInstance().getCastle(targetPlayer.getX(), targetPlayer.getY(), targetPlayer.getZ());
 			}
-			else
+			else if (targetPet != null)
 			{
 				castle = CastleManager.getInstance().getCastle(targetPet.getOwner().getX(), targetPet.getOwner().getY(), targetPet.getOwner().getZ());
 			}
@@ -129,7 +129,7 @@ public class ScrollOfResurrection implements IItemHandler
 					}
 				}
 			}
-			else
+			else if (targetPlayer != null)
 			{
 				if (targetPlayer.isFestivalParticipant()) // Check to see if the current player target is in a festival.
 				{
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 06a8b417bf..adc2d0e6fe 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
@@ -33,8 +33,7 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 import com.l2jserver.util.ValueSortMap;
 
 /**
- * @author Nik
- * @author UnAfraid
+ * @author Nik, UnAfraid
  */
 public class ChainHeal implements ISkillHandler
 {
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Detection.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Detection.java
index 4277fc0b12..83c428c50c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Detection.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Detection.java
@@ -26,7 +26,6 @@ import com.l2jserver.gameserver.model.skills.L2SkillType;
 /**
  * @author ZaKax
  */
-
 public class Detection implements ISkillHandler
 {
 	private static final L2SkillType[] SKILL_IDS =
@@ -46,28 +45,22 @@ public class Detection implements ISkillHandler
 			hasParty = player.isInParty();
 			hasClan = player.getClanId() > 0;
 			hasAlly = player.getAllyId() > 0;
-		}
-		else
-		{
-			hasParty = false;
-			hasClan = false;
-			hasAlly = false;
-		}
-		
-		for (L2PcInstance target : activeChar.getKnownList().getKnownPlayersInRadius(skill.getSkillRadius()))
-		{
-			if (target != null && target.getAppearance().getInvisible())
+			
+			for (L2PcInstance target : activeChar.getKnownList().getKnownPlayersInRadius(skill.getSkillRadius()))
 			{
-				if (hasParty && target.getParty() != null && player.getParty().getLeaderObjectId() == target.getParty().getLeaderObjectId())
-					continue;
-				if (hasClan && player.getClanId() == target.getClanId())
-					continue;
-				if (hasAlly && player.getAllyId() == target.getAllyId())
-					continue;
-				
-				L2Effect eHide = target.getFirstEffect(L2EffectType.HIDE);
-				if (eHide != null)
-					eHide.exit();
+				if (target != null && target.getAppearance().getInvisible())
+				{
+					if (hasParty && target.getParty() != null && player.getParty().getLeaderObjectId() == target.getParty().getLeaderObjectId())
+						continue;
+					if (hasClan && player.getClanId() == target.getClanId())
+						continue;
+					if (hasAlly && player.getAllyId() == target.getAllyId())
+						continue;
+					
+					L2Effect eHide = target.getFirstEffect(L2EffectType.HIDE);
+					if (eHide != null)
+						eHide.exit();
+				}
 			}
 		}
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Resurrect.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Resurrect.java
index 99a42cce51..0b87ecbc53 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Resurrect.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Resurrect.java
@@ -50,13 +50,15 @@ public class Resurrect implements ISkillHandler
 		{
 			if (target instanceof L2PcInstance)
 			{
-				targetPlayer = (L2PcInstance) target;
+				targetPlayer = target.getActingPlayer();
 				
 				// Check for same party or for same clan, if target is for clan.
 				if (skill.getTargetType() == L2TargetType.TARGET_CORPSE_CLAN)
 				{
-					if (player.getClanId() != targetPlayer.getClanId())
+					if ((player != null) && (player.getClanId() != targetPlayer.getClanId()))
+					{
 						continue;
+					}
 				}
 			}
 			if (target.isVisible())
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetPartyMember.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetPartyMember.java
index 82b865ad58..918273c887 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetPartyMember.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetPartyMember.java
@@ -17,8 +17,6 @@ package handlers.targethandlers;
 import com.l2jserver.gameserver.handler.ITargetTypeHandler;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.actor.L2Character;
-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.network.SystemMessageId;
@@ -31,29 +29,21 @@ public class TargetPartyMember implements ITargetTypeHandler
 	@Override
 	public L2Object[] getTargetList(L2Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target)
 	{
-		if ((target != null
-				&& target == activeChar)
-				|| (target != null
-						&& activeChar.isInParty()
-						&& target.isInParty()
-						&& activeChar.getParty().getLeaderObjectId() == target.getParty().getLeaderObjectId())
-						|| (target != null
-								&& activeChar instanceof L2PcInstance
-								&& target instanceof L2Summon
-								&& activeChar.getPet() == target)
-								|| (target != null
-										&& activeChar instanceof L2Summon
-										&& target instanceof L2PcInstance
-										&& activeChar == target.getPet()))
+		if (target == null)
 		{
-			if (!target.isDead())
+			activeChar.sendPacket(SystemMessageId.TARGET_IS_INCORRECT);
+			return _emptyTargetList;
+		}
+		if (!target.isDead())
+		{
+			if ((target == activeChar) ||
+				(activeChar.isInParty() && target.isInParty() && (activeChar.getParty().getLeaderObjectId() == target.getParty().getLeaderObjectId())) ||
+				(activeChar.isPlayer() && target.isSummon() && (activeChar.getPet() == target)) ||
+				(activeChar.isSummon() && target.isPlayer() && (activeChar == target.getPet())))
 			{
-				// If a target is found, return it in a table else send a system message TARGET_IS_INCORRECT
 				return new L2Character[] { target };
 			}
-			return _emptyTargetList;
 		}
-		activeChar.sendPacket(SystemMessageId.TARGET_IS_INCORRECT);
 		return _emptyTargetList;
 	}
 	
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java
index b8e5fe47ef..a10f12f038 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java
@@ -67,6 +67,7 @@ public class DebugHandler implements ITelnetHandler
 		if (command.startsWith("debug") && command.length() > 6)
 		{
 			StringTokenizer st = new StringTokenizer(command.substring(6));
+			// TODO: Rewrite to use ARM.
 			FileOutputStream fos = null;
 			OutputStreamWriter out = null;
 			try
@@ -304,7 +305,10 @@ public class DebugHandler implements ITelnetHandler
 			{
 				try
 				{
-					out.close();
+					if (out != null)
+					{
+						out.close();
+					}
 				}
 				catch (Exception e)
 				{
@@ -312,7 +316,10 @@ public class DebugHandler implements ITelnetHandler
 				
 				try
 				{
-					fos.close();
+					if (fos != null)
+					{
+						fos.close();
+					}
 				}
 				catch (Exception e)
 				{
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Quarry/Quarry.java b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Quarry/Quarry.java
index 00738c835e..f9bf78982c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Quarry/Quarry.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Quarry/Quarry.java
@@ -39,7 +39,7 @@ public class Quarry extends Quest
 	private static final int TRUST = 50;
 	private static final int ZONE = 40107;
 	// Id, chance (n from 10000)
-	private static final int[][] DROPLIST =
+	protected static final int[][] DROPLIST =
 	{
 		{
 			9628, 261
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Shadai/Shadai.java b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Shadai/Shadai.java
index 8dacaa9ecc..c04c2ffcd0 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Shadai/Shadai.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Shadai/Shadai.java
@@ -46,7 +46,7 @@ public class Shadai extends Quest
 		return super.onSpawn(npc);
 	}
 	
-	private static void validatePosition(L2Npc npc)
+	protected static void validatePosition(L2Npc npc)
 	{
 		int[] coords = DAY_COORDS;
 		boolean mustRevalidate = false;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfNaia/TowerOfNaia.java b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfNaia/TowerOfNaia.java
index 62cc18bc34..db52a4e83e 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfNaia/TowerOfNaia.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfNaia/TowerOfNaia.java
@@ -922,7 +922,7 @@ public class TowerOfNaia extends Quest
 		return ret;
 	}
 	
-	private void initRoom(int managerId)
+	protected void initRoom(int managerId)
 	{
 		removeAllPlayers(managerId);
 		_activeRooms.put(managerId, false);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TullyWorkshop/TullyWorkshop.java b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TullyWorkshop/TullyWorkshop.java
index d2b807c6df..db3b816937 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TullyWorkshop/TullyWorkshop.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TullyWorkshop/TullyWorkshop.java
@@ -101,7 +101,7 @@ public class TullyWorkshop extends Quest
 	private static final Map<Integer, int[]> TULLY_DOORLIST = new FastMap<Integer, int[]>();
 	private static final Map<Integer, int[][]> TELE_COORDS = new FastMap<Integer, int[][]>();
 	
-	private int countdownTime;
+	protected int countdownTime;
 	private int nextServantIdx = 0;
 	private int killedFollowersCount = 0;
 	private boolean allowServantSpawn = true;
@@ -109,13 +109,13 @@ public class TullyWorkshop extends Quest
 	private boolean allowAgentSpawn_7th = true;
 	private boolean is7thFloorAttackBegan = false;
 	
-	private ScheduledFuture<?> _countdown = null;
+	protected ScheduledFuture<?> _countdown = null;
 	
 	// NPC's, spawned after Tully's death are stored here
-	private static List<L2Npc> postMortemSpawn = new FastList<L2Npc>();
-	private static TIntHashSet brokenContraptions = new TIntHashSet();
-	private static TIntHashSet rewardedContraptions = new TIntHashSet();
-	private static TIntHashSet talkedContraptions = new TIntHashSet();
+	protected static List<L2Npc> postMortemSpawn = new FastList<L2Npc>();
+	protected static TIntHashSet brokenContraptions = new TIntHashSet();
+	protected static TIntHashSet rewardedContraptions = new TIntHashSet();
+	protected static TIntHashSet talkedContraptions = new TIntHashSet();
 	
 	private final List<L2MonsterInstance> spawnedFollowers = new FastList<L2MonsterInstance>();
 	private final List<L2MonsterInstance> spawnedFollowerMinions = new FastList<L2MonsterInstance>();
@@ -1611,7 +1611,7 @@ public class TullyWorkshop extends Quest
 		}, STATE_CLOSE), 4000);
 	}
 	
-	private class CountdownTask implements Runnable
+	protected class CountdownTask implements Runnable
 	{
 		@Override
 		public void run()
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
index 9be91f88a8..3cbb2b7765 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
@@ -73,7 +73,7 @@ import com.l2jserver.gameserver.util.Util;
 public class CrystalCaverns extends Quest
 {
 	
-	private static class CrystalGolem
+	protected static class CrystalGolem
 	{
 		public         L2ItemInstance foodItem = null;
 		public boolean isAtDestination         = false;
@@ -102,14 +102,14 @@ public class CrystalCaverns extends Quest
 		public           List<L2Npc> guards                               = new FastList<L2Npc>();
 		public           List<L2Npc> oracle                               = new FastList<L2Npc>();
 		// baylor variables
-		private final List<L2PcInstance> _raiders = new FastList<L2PcInstance>();
-		private int _raidStatus = 0;
-		private long _dragonClawStart = 0;
-		private int _dragonClawNeed = 0;
-		private final List<L2Npc> _animationMobs = new FastList<L2Npc>();
-		private L2Npc _camera = null;
-		private L2Npc _baylor = null;
-		private L2Npc _alarm = null;
+		protected final List<L2PcInstance> _raiders = new FastList<L2PcInstance>();
+		protected int _raidStatus = 0;
+		protected long _dragonClawStart = 0;
+		protected int _dragonClawNeed = 0;
+		protected final List<L2Npc> _animationMobs = new FastList<L2Npc>();
+		protected L2Npc _camera = null;
+		protected L2Npc _baylor = null;
+		protected L2Npc _alarm = null;
 		
 		public CCWorld(Long time)
 		{
@@ -324,7 +324,7 @@ public class CrystalCaverns extends Quest
 	private static final int DRAGONSCALETIME = 3000;
 	private static final int DRAGONCLAWTIME = 3000;
 	
-	private static class teleCoord
+	protected static class teleCoord
 	{
 		int instanceId;
 		int x;
@@ -1656,7 +1656,7 @@ public class CrystalCaverns extends Quest
 				{
 					if (!checkOracleConditions(player))
 						return "";
-					else if (player.getParty() != null)
+					else if (party != null)
 						for (L2PcInstance partyMember : party.getMembers())
 						{
 							partyMember.destroyItemByItemId("Quest", RED_CORAL, 1, player, true);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
index 5fc567fb73..94ba650421 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
@@ -56,7 +56,7 @@ public class DarkCloudMansion extends Quest
 			addKillId(mob);
 	}
 	
-	private static class DMCNpc
+	protected static class DMCNpc
 	{
 		public L2Npc npc;
 		public boolean isDead = false;
@@ -66,7 +66,7 @@ public class DarkCloudMansion extends Quest
 		public int count = 0;
 	}
 	
-	private static class DMCRoom
+	protected static class DMCRoom
 	{
 		public FastList<DMCNpc> npcList = new FastList<DMCNpc>();
 		public int counter = 0;
@@ -90,7 +90,7 @@ public class DarkCloudMansion extends Quest
 	private static String qn = "DarkCloudMansion";
 	private static final int INSTANCEID = 9;
 	
-	private static class teleCoord {int instanceId; int x; int y; int z;}
+	protected static class teleCoord {int instanceId; int x; int y; int z;}
 	
 	//Items
 	private static int CC = 9690; //Contaminated Crystal
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
index 41caf49b81..8393ae77f6 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
@@ -71,17 +71,16 @@ import com.l2jserver.gameserver.network.serverpackets.SpecialCamera;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 import com.l2jserver.gameserver.util.Util;
 
-/*
-TODO:
-- test when Frintezza song use 5008 effect skill
-- maybe test more deeply halishas AI
-- use correct Song names
-- use proper zone spawn system
-Contributing authors: Gigiikun
+/**
+ * TODO:<br>
+ * Test when Frintezza song use 5008 effect skill.<br>
+ * Maybe test more deeply halishas AI.<br>
+ * Use correct Song names.<br>
+ * Use proper zone spawn system.<br>
+ * @author Gigiikun
 */
 public class FinalEmperialTomb extends Quest
 {
-
 	private class FETWorld extends InstanceWorld
 	{
 		public         Lock                 lock                         = new ReentrantLock();
@@ -111,7 +110,7 @@ public class FinalEmperialTomb extends Quest
 		}
 	}
 	
-	private static class FETSpawn
+	protected static class FETSpawn
 	{
 		public boolean isZone = false;
 		public boolean isNeededNextFlag = false;
@@ -169,10 +168,10 @@ public class FinalEmperialTomb extends Quest
 	
 	private static final int FIRST_SCARLET_WEAPON = 8204;
 	private static final int SECOND_SCARLET_WEAPON = 7903;
-	private static final SkillHolder INTRO_SKILL = new SkillHolder(5004,1);
+	protected static final SkillHolder INTRO_SKILL = new SkillHolder(5004,1);
 	private static final SkillHolder FIRST_MORPH_SKILL = new SkillHolder(5017,1);
 	
-	private static final FrintezzaSong[] FRINTEZZASONGLIST = 
+	protected static final FrintezzaSong[] FRINTEZZASONGLIST = 
 	{
 		new FrintezzaSong(new SkillHolder(5007,1), new SkillHolder(5008,1), NpcStringId.REQUIEM_OF_HATRED, 5),
         new FrintezzaSong(new SkillHolder(5007,2), new SkillHolder(5008,2), NpcStringId.RONDO_OF_SOLITUDE, 50),
@@ -182,25 +181,25 @@ public class FinalEmperialTomb extends Quest
 	};
 	
 	// Doors/Walls/Zones
-	private static final int[] FIRST_ROOM_DOORS = 
+	protected static final int[] FIRST_ROOM_DOORS = 
 	{ 
 		17130051, 17130052, 17130053, 17130054, 17130055,
 		17130056, 17130057, 17130058
 	};
-	private static final int[] SECOND_ROOM_DOORS = 
+	protected static final int[] SECOND_ROOM_DOORS = 
 	{
 		17130061, 17130062, 17130063, 17130064, 17130065,
 		17130066, 17130067, 17130068, 17130069, 17130070
 	};
 	
-	private static final int[] FIRST_ROUTE_DOORS = { 17130042, 17130043 };
-	private static final int[] SECOND_ROUTE_DOORS = { 17130045, 17130046 };
-	private static final L2CharPosition MOVE_TO_CENTER = new L2CharPosition( -87904, -141296, -9168, 0 );
+	protected static final int[] FIRST_ROUTE_DOORS = { 17130042, 17130043 };
+	protected static final int[] SECOND_ROUTE_DOORS = { 17130045, 17130046 };
+	protected static final L2CharPosition MOVE_TO_CENTER = new L2CharPosition( -87904, -141296, -9168, 0 );
 
 	// spawns
 	private static final int TIME_BETWEEN_DEMON_SPAWNS = 20000;
 	private static final int MAX_DEMONS = 24;
-	private static final int[][] PORTRAIT_SPAWNS = 
+	protected static final int[][] PORTRAIT_SPAWNS = 
 	{
 		{ 29048, -89381, -153981, -9168, 3368, -89378, -153968, -9168, 3368 },
 		{ 29048, -86234, -152467, -9168, 37656, -86261, -152492, -9168, 37656 },
@@ -1202,7 +1201,7 @@ public class FinalEmperialTomb extends Quest
 		}
 	}
 	
-	private void broadCastPacket(FETWorld world, L2GameServerPacket packet)
+	protected void broadCastPacket(FETWorld world, L2GameServerPacket packet)
 	{
 		for (int objId : world.allowed)
 		{
@@ -1212,7 +1211,7 @@ public class FinalEmperialTomb extends Quest
 		}
 	}
 	
-	private void updateKnownList(FETWorld world, L2Npc npc)
+	protected void updateKnownList(FETWorld world, L2Npc npc)
 	{
 		Map<Integer, L2PcInstance> npcKnownPlayers = npc.getKnownList().getKnownPlayers();
 		for (int objId : world.allowed)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/HellboundTown/HellboundTown.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/HellboundTown/HellboundTown.java
index 0707cb0890..6cfe83e280 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/HellboundTown/HellboundTown.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/HellboundTown/HellboundTown.java
@@ -101,7 +101,8 @@ public class HellboundTown extends Quest
 	{
 		14117, 255434, -2016
 	};
-	private static final int[] EXIT_POINT =
+	
+	protected static final int[] EXIT_POINT =
 	{
 		16262, 283651, -9700
 	};
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaDevilsLegacy.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaDevilsLegacy.java
index 37fd5e5513..80fdef8998 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaDevilsLegacy.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaDevilsLegacy.java
@@ -50,7 +50,7 @@ public class PailakaDevilsLegacy extends Quest
 	private static final int MAX_LEVEL = 67;
 	private static final int EXIT_TIME = 5;
 	private static final int INSTANCE_ID = 44;
-	private static final int[] TELEPORT =
+	protected static final int[] TELEPORT =
 	{
 		76428,
 		-219038,
@@ -216,7 +216,7 @@ public class PailakaDevilsLegacy extends Quest
 		}
 	}
 	
-	private static final void teleportPlayer(L2PcInstance player, int[] coords, int instanceId)
+	protected static final void teleportPlayer(L2PcInstance player, int[] coords, int instanceId)
 	{
 		player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 		player.setInstanceId(instanceId);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaSongOfIceAndFire.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaSongOfIceAndFire.java
index 909a763b59..1eb2c60f88 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaSongOfIceAndFire.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaSongOfIceAndFire.java
@@ -37,7 +37,7 @@ public class PailakaSongOfIceAndFire extends Quest
 	private static final int MAX_LEVEL = 42;
 	private static final int EXIT_TIME = 5;
 	private static final int INSTANCE_ID = 43;
-	private static final int[] TELEPORT =
+	protected static final int[] TELEPORT =
 	{
 		-52875,
 		188232,
@@ -223,7 +223,7 @@ public class PailakaSongOfIceAndFire extends Quest
 		}
 	}
 	
-	private static final void teleportPlayer(L2PcInstance player, int[] coords, int instanceId)
+	protected static final void teleportPlayer(L2PcInstance player, int[] coords, int instanceId)
 	{
 		player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 		player.setInstanceId(instanceId);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/SecretArea.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/SecretArea.java
index ac666edc0a..3017892a95 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/SecretArea.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/SecretArea.java
@@ -45,7 +45,7 @@ public class SecretArea extends Quest
 		new Location(-23758, -8959, -5384), new Location(-185057, 242821, 1576)
 	};
 	
-	private class SecretAreaWorld extends InstanceWorld
+	protected class SecretAreaWorld extends InstanceWorld
 	{
 		
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfDestruction/Stage1.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfDestruction/Stage1.java
index f0f889e651..2df2c7827c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfDestruction/Stage1.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfDestruction/Stage1.java
@@ -85,7 +85,7 @@ public class Stage1 extends Quest
 		}
 	}
 	
-	private static class SODSpawn
+	protected static class SODSpawn
 	{
 		public boolean isZone = false;
 		public boolean isNeededNextFlag = false;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodElpies/eventmodElpies.java b/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodElpies/eventmodElpies.java
index 66a03ea6ab..ea318a8a91 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodElpies/eventmodElpies.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodElpies/eventmodElpies.java
@@ -193,7 +193,7 @@ public class eventmodElpies extends Event
 		return true;
 	}
 	
-	private void timeUp()
+	protected void timeUp()
 	{
 		Announcements.getInstance().announceToAll("Time up !");
 		eventStop();
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRabbits/eventmodRabbits.java b/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRabbits/eventmodRabbits.java
index 930a6ef373..8c24ce2679 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRabbits/eventmodRabbits.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRabbits/eventmodRabbits.java
@@ -157,7 +157,7 @@ public class eventmodRabbits extends Event
 		return true;
 	}
 	
-	private void timeUp()
+	protected void timeUp()
 	{
 		Announcements.getInstance().announceToAll("Time up !");
 		eventStop();
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRace/eventmodRace.java b/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRace/eventmodRace.java
index 5a27166c8b..75cfbbb8f0 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRace/eventmodRace.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRace/eventmodRace.java
@@ -154,7 +154,7 @@ public class eventmodRace extends Event
 		
 	}
 	
-	private void StartRace()
+	protected void StartRace()
 	{
 		// Abort race if no players signup
 		if (_players.isEmpty())
@@ -434,7 +434,7 @@ public class eventmodRace extends Event
 		activeChar.sendPacket(html);
 	}
 	
-	private void timeUp()
+	protected void timeUp()
 	{
 		Announcements.getInstance().announceToAll("Time up, nobody wins!");
 		eventStop();
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
index 720431f936..e444f4b834 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
@@ -131,7 +131,11 @@ public class Q10277_MutatedKaneusDion extends Quest
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
 				st = member.getQuestState(qn);
-				if (((st != null) && st.isStarted() && (st.getInt("cond") == 1) && ((npcId == CRIMSON_HATU) && !st.hasQuestItems(TISSUE_CH))) || ((npcId == SEER_FLOUROS) && !st.hasQuestItems(TISSUE_SF)))
+				if (st == null)
+				{
+					continue;
+				}
+				if ((st.isStarted() && (st.getInt("cond") == 1) && ((npcId == CRIMSON_HATU) && !st.hasQuestItems(TISSUE_CH))) || ((npcId == SEER_FLOUROS) && !st.hasQuestItems(TISSUE_SF)))
 				{
 					PartyMembers.add(st);
 				}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q511_AwlUnderFoot/Q511_AwlUnderFoot.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q511_AwlUnderFoot/Q511_AwlUnderFoot.java
index a97c933160..8b869b5430 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q511_AwlUnderFoot/Q511_AwlUnderFoot.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q511_AwlUnderFoot/Q511_AwlUnderFoot.java
@@ -16,6 +16,8 @@ package quests.Q511_AwlUnderFoot;
 
 import gnu.trove.map.hash.TIntObjectHashMap;
 
+import java.util.logging.Logger;
+
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.instancemanager.InstanceManager;
 import com.l2jserver.gameserver.instancemanager.InstanceManager.InstanceWorld;
@@ -38,7 +40,9 @@ import com.l2jserver.gameserver.util.Util;
  */
 public final class Q511_AwlUnderFoot extends Quest
 {
-	private class FAUWorld extends InstanceWorld
+	protected static final Logger log = Logger.getLogger(Q511_AwlUnderFoot.class.getName());
+	
+	protected class FAUWorld extends InstanceWorld
 	{
 	}
 	
@@ -82,20 +86,20 @@ public final class Q511_AwlUnderFoot extends Quest
 	private static final int KNIGHT_EPALUETTE = 9912;
 	
 	// MONSTER TO KILL -- Only last 3 Raids (lvl ordered) give DL_MARK
-	private static final int[] RAIDS1 =
+	protected static final int[] RAIDS1 =
 	{
 		25572,
 		25575,
 		25578
 	};
-	private static final int[] RAIDS2 =
+	protected static final int[] RAIDS2 =
 	{
 		25579,
 		25582,
 		25585,
 		25588
 	};
-	private static final int[] RAIDS3 =
+	protected static final int[] RAIDS3 =
 	{
 		25589,
 		25592,
@@ -180,7 +184,7 @@ public final class Q511_AwlUnderFoot extends Quest
 		world.status = 0;
 		dungeon.setReEnterTime(System.currentTimeMillis() + REENTERTIME);
 		InstanceManager.getInstance().addWorld(world);
-		_log.info("Fortress AwlUnderFoot started " + template + " Instance: " + instanceId + " created by player: " + player.getName());
+		log.info("Fortress AwlUnderFoot started " + template + " Instance: " + instanceId + " created by player: " + player.getName());
 		ThreadPoolManager.getInstance().scheduleGeneral(new spawnRaid((FAUWorld) world), RAID_SPAWN_DELAY);
 		
 		// teleport players
@@ -239,7 +243,7 @@ public final class Q511_AwlUnderFoot extends Quest
 			}
 			catch (Exception e)
 			{
-				_log.warning("Fortress AwlUnderFoot Raid Spawn error: " + e);
+				log.warning("Fortress AwlUnderFoot Raid Spawn error: " + e);
 			}
 		}
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipController.java b/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipController.java
index b6d9b50b27..a0b307cb0b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipController.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipController.java
@@ -373,7 +373,7 @@ public abstract class AirShipController extends Quest
 		}
 	}
 	
-	private final class DecayTask implements Runnable
+	protected final class DecayTask implements Runnable
 	{
 		@Override
 		public void run()
@@ -383,7 +383,7 @@ public abstract class AirShipController extends Quest
 		}
 	}
 	
-	private final class DepartTask implements Runnable
+	protected final class DepartTask implements Runnable
 	{
 		@Override
 		public void run()
-- 
GitLab