diff --git a/L2J_DataPack/dist/game/data/scripts/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java b/L2J_DataPack/dist/game/data/scripts/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
index ded1a09d0102c69adaced073182e9fa3e8e3c9e1..afa5dbc5d392445b1a6152319dfdf430e564fab3 100644
--- a/L2J_DataPack/dist/game/data/scripts/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
+++ b/L2J_DataPack/dist/game/data/scripts/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
@@ -57,7 +57,7 @@ public final class BlackMarketeerOfMammon extends AbstractNpcAI
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState qs = player.getQuestState(getName());
+		final QuestState qs = getQuestState(player, false);
 		if ("exchange".equals(event))
 		{
 			if (exchangeAvailable())
diff --git a/L2J_DataPack/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java b/L2J_DataPack/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java
index 80fee7d367c07b06547986d5338cefc313877fd6..fcf26c2ad6a7b7f4c2f70727d4f7500d42bb2945 100644
--- a/L2J_DataPack/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java
+++ b/L2J_DataPack/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java
@@ -173,7 +173,7 @@ public final class SubclassCertification extends AbstractNpcAI
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, true);
 		String htmltext = getNoQuestMsg(player);
 		if (st != null)
 		{
@@ -187,7 +187,7 @@ public final class SubclassCertification extends AbstractNpcAI
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = null;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java b/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
index 59511304c6bc633706a65b8e6f6f4bb55093a4e3..0b67f80b6cb622a7ef3a2f069905d265e791eea0 100644
--- a/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
+++ b/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
@@ -69,12 +69,7 @@ public final class GrandBossTeleporters extends AbstractNpcAI
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
-		
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		QuestState st = getQuestState(player, false);
 		
 		if (st.hasQuestItems(VACUALITE_FLOATING_STONE))
 		{
@@ -92,7 +87,7 @@ public final class GrandBossTeleporters extends AbstractNpcAI
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, true);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java b/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
index c5ff4c4efcef04138661eb067b75c7d3ee35adbd..43cc696de63f220616c5c343bd293c5eb2b65273 100644
--- a/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
+++ b/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
@@ -158,7 +158,7 @@ public final class OracleTeleport extends AbstractNpcAI
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		int npcId = npc.getId();
 		if (event.equalsIgnoreCase("Return"))
@@ -273,7 +273,7 @@ public final class OracleTeleport extends AbstractNpcAI
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, true);
 		
 		int npcId = npc.getId();
 		if (Util.contains(TOWN_DAWN, npcId))
diff --git a/L2J_DataPack/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java b/L2J_DataPack/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java
index a3814232fd3bccf766e171b0721d2f47a3f29c92..f8037583568f754caf630173ef4cc739210f40fc 100644
--- a/L2J_DataPack/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java
+++ b/L2J_DataPack/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java
@@ -79,7 +79,7 @@ public final class NewbieCoupons extends Quest
 			return htmltext;
 		}
 		
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		int newbie = player.getNewbie();
 		int level = player.getLevel();
 		int occupation_level = player.getClassId().level();
@@ -154,11 +154,7 @@ public final class NewbieCoupons extends Quest
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
 		
 		return "30598.htm";
 	}
diff --git a/L2J_DataPack/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java b/L2J_DataPack/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java
index 1bc1fa471796cad31861c94e02f1a61536d89ec4..dec87af412059fc8b55ce12278be00f3bdfd8c4c 100644
--- a/L2J_DataPack/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java
+++ b/L2J_DataPack/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java
@@ -273,7 +273,7 @@ public final class NpcLocationInfo extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -308,6 +308,7 @@ public final class NpcLocationInfo extends Quest
 	{
 		String htmltext = getNoQuestMsg(player);
 		int npcId = npc.getId();
+		getQuestState(player, true);
 		
 		if (Util.contains(NPC, npcId))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_DataPack/dist/game/data/scripts/custom/events/Race/Race.java
index 652748304e77cf81b3722bac9ee21bf4d1d010e0..bb57ab1ddc47f60f4a9bb13810b842e5f089d20f 100644
--- a/L2J_DataPack/dist/game/data/scripts/custom/events/Race/Race.java
+++ b/L2J_DataPack/dist/game/data/scripts/custom/events/Race/Race.java
@@ -140,14 +140,7 @@ public final class Race extends Event
 		Announcements.getInstance().announceToAll("Visit Event Manager in Dion village and signup, you have " + _time_register + " min before Race Start...");
 		
 		// Schedule Event end
-		_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
-		{
-			@Override
-			public void run()
-			{
-				StartRace();
-			}
-		}, _time_register * 60 * 1000);
+		_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(() -> StartRace(), _time_register * 60 * 1000);
 		
 		return true;
 		
@@ -190,14 +183,7 @@ public final class Race extends Event
 			}
 		}
 		// Schedule timeup for Race
-		_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
-		{
-			@Override
-			public void run()
-			{
-				timeUp();
-			}
-		}, _time_race * 60 * 1000);
+		_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(() -> timeUp(), _time_race * 60 * 1000);
 	}
 	
 	@Override
@@ -290,7 +276,7 @@ public final class Race extends Event
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -344,11 +330,8 @@ public final class Race extends Event
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
+		
 		if (npc.getId() == _start_npc)
 		{
 			if (_isRaceStarted)
diff --git a/L2J_DataPack/dist/game/data/scripts/events/CharacterBirthday/CharacterBirthday.java b/L2J_DataPack/dist/game/data/scripts/events/CharacterBirthday/CharacterBirthday.java
index 30e020741f3133194dd18028fa19e6c54b18a9f1..2fb9e2f54a013e83d309f6688cbc7d1d8e84f592 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/CharacterBirthday/CharacterBirthday.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/CharacterBirthday/CharacterBirthday.java
@@ -71,7 +71,7 @@ public final class CharacterBirthday extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (event.equalsIgnoreCase("despawn_npc"))
 		{
@@ -108,11 +108,7 @@ public final class CharacterBirthday extends Quest
 			return "busy.htm";
 		}
 		
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		QuestState st = getQuestState(player, true);
 		
 		if (!Util.checkIfInRange(10, npc, player, true))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java b/L2J_DataPack/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java
index b860148fb328f38c9052073eacf739f030c2a21d..85c1d199d1e6cf28322ebb82059ba6aeeffa48cc 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java
@@ -79,7 +79,7 @@ public final class FreyaCelebration extends LongTimeEvent
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -156,10 +156,7 @@ public final class FreyaCelebration extends LongTimeEvent
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		if (player.getQuestState(getName()) == null)
-		{
-			newQuestState(player);
-		}
+		getQuestState(player, true);
 		return "13296.htm";
 	}
 	
diff --git a/L2J_DataPack/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java b/L2J_DataPack/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java
index f4ab9b43b036baccd0af380d3bcde31e66a75ab1..76f26ae15b64c7092fba73d9d967053f4e7e30aa 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java
@@ -92,7 +92,7 @@ public final class GiftOfVitality extends LongTimeEvent
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		switch (event)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java b/L2J_DataPack/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
index 2dcf6489e0bd8072cdbaa146e95312a78e782bc2..d7fa7fa47c148991af57505b8590f7c7f3733daf 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
@@ -65,7 +65,7 @@ public final class HeavyMedal extends LongTimeEvent
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/events/LoveYourGatekeeper/LoveYourGatekeeper.java b/L2J_DataPack/dist/game/data/scripts/events/LoveYourGatekeeper/LoveYourGatekeeper.java
index 35c8f12c7e2d36214b8408c643a969a966f5de91..fed925de697b393ecb81c384fcd427b844cafb86 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/LoveYourGatekeeper/LoveYourGatekeeper.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/LoveYourGatekeeper/LoveYourGatekeeper.java
@@ -55,7 +55,7 @@ public final class LoveYourGatekeeper extends LongTimeEvent
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java b/L2J_DataPack/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
index 6e6d1a0ab2071fd06e223bfc5fd5288faf973407..5a65a3fd113d5a822c41714eeee134d94c6770a5 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
@@ -80,7 +80,7 @@ public final class MasterOfEnchanting extends LongTimeEvent
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (event.equalsIgnoreCase("buy_staff"))
 		{
 			if (!st.hasQuestItems(MASTER_YOGI_STAFF) && (st.getQuestItemsCount(Inventory.ADENA_ID) > STAFF_PRICE))
diff --git a/L2J_DataPack/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java b/L2J_DataPack/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
index 7d2adbf0a1fdcad659a8943710cb50349bed9dca..358eca0dcccc08348ab75bcdc335732964fc3d18 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
@@ -47,7 +47,7 @@ public final class TheValentineEvent extends LongTimeEvent
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java b/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java
index ccdce5aecc6b056e2a76ae06ce9d7e9aac5e2dce..9c9f9593b9da32837f6a9a3b053ce010e080c6f6 100644
--- a/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java
+++ b/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java
@@ -56,7 +56,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2TrapInstance;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
 import com.l2jserver.gameserver.model.quest.Quest;
-import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.model.skills.Skill;
 import com.l2jserver.gameserver.network.NpcStringId;
 import com.l2jserver.gameserver.network.SystemMessageId;
@@ -1020,11 +1019,7 @@ public final class Stage1 extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
 		if (npcId == ALENOS)
 		{
 			InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java b/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java
index 9ba5a9f412d3285fd9e6fa0561fc4c4b835fa6a2..1ed52766423842adcbce2c0ee0cbe31ac82aea8c 100644
--- a/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java
+++ b/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java
@@ -511,10 +511,7 @@ public final class HallOfSuffering extends Quest
 			{
 				teleportPlayer(partyMember, coords, instanceId);
 				world.addAllowed(partyMember.getObjectId());
-				if (partyMember.getQuestState(getName()) == null)
-				{
-					newQuestState(partyMember);
-				}
+				getQuestState(partyMember, true);
 			}
 		}
 		return instanceId;
@@ -883,7 +880,7 @@ public final class HallOfSuffering extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			st = newQuestState(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java b/L2J_DataPack/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java
index 5bcdae90567bddcd151714f6f56a9ebaeaddd790..55a7837c47100739024bf976093102137e26d890 100644
--- a/L2J_DataPack/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java
+++ b/L2J_DataPack/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java
@@ -362,11 +362,7 @@ public abstract class Chamber extends Quest
 		
 		for (L2PcInstance partyMember : party.getMembers())
 		{
-			QuestState st = partyMember.getQuestState(getName());
-			if (st == null)
-			{
-				st = newQuestState(partyMember);
-			}
+			final QuestState st = getQuestState(partyMember, true);
 			
 			if (st.hasQuestItems(DELUSION_MARK))
 			{
@@ -449,7 +445,7 @@ public abstract class Chamber extends Quest
 		}
 		final Instance inst = InstanceManager.getInstance().getInstance(player.getInstanceId());
 		Location ret = inst.getSpawnLoc();
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st != null)
 		{
@@ -491,7 +487,7 @@ public abstract class Chamber extends Quest
 		{
 			final CDWorld world = (CDWorld) tmpworld;
 			
-			QuestState st = player.getQuestState(getName());
+			QuestState st = getQuestState(player, false);
 			
 			if (st == null)
 			{
@@ -661,7 +657,7 @@ public abstract class Chamber extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java b/L2J_DataPack/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
index 0c94885823cb68150f08b3dbc0f44a78a9e7264c..06a764ff98a4bd2c2fda006fad6fd44515762614 100644
--- a/L2J_DataPack/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
+++ b/L2J_DataPack/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
@@ -2476,11 +2476,7 @@ public final class CrystalCaverns extends Quest
 			{
 				if (partyMember.getInstanceId() == instanceId)
 				{
-					QuestState st = partyMember.getQuestState(getName());
-					if (st == null)
-					{
-						st = newQuestState(partyMember);
-					}
+					final QuestState st = getQuestState(partyMember, true);
 					if (!isBaylor && st.hasQuestItems(CONT_CRYSTAL))
 					{
 						st.takeItems(CONT_CRYSTAL, 1);
@@ -2499,7 +2495,7 @@ public final class CrystalCaverns extends Quest
 		}
 		else if (player.getInstanceId() == instanceId)
 		{
-			QuestState st = player.getQuestState(getName());
+			QuestState st = getQuestState(player, false);
 			if (st == null)
 			{
 				st = newQuestState(player);
@@ -2758,7 +2754,7 @@ public final class CrystalCaverns extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			st = newQuestState(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java b/L2J_DataPack/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
index ca15c36656d778be356ab4cc9c30f03ae95b0030..af3fda52bbca7b04aa956770831751da587cb1b2 100644
--- a/L2J_DataPack/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
+++ b/L2J_DataPack/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
@@ -561,10 +561,7 @@ public final class DarkCloudMansion extends Quest
 		{
 			for (L2PcInstance partyMember : party.getMembers())
 			{
-				if (partyMember.getQuestState(getName()) == null)
-				{
-					newQuestState(partyMember);
-				}
+				getQuestState(partyMember, true);
 				world.addAllowed(partyMember.getObjectId());
 				teleportPlayer(partyMember, loc, instanceId);
 			}
@@ -1408,11 +1405,7 @@ public final class DarkCloudMansion extends Quest
 			if ((npc.getId() == SOTruth) && (world.getStatus() == 10))
 			{
 				npc.showChatWindow(player);
-				QuestState st = player.getQuestState(getName());
-				if (st == null)
-				{
-					st = newQuestState(player);
-				}
+				QuestState st = getQuestState(player, true);
 				
 				if (!st.hasQuestItems(CC))
 				{
diff --git a/L2J_DataPack/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java b/L2J_DataPack/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
index 5470f1b20b9a7d70b7830f5d0a6b3f834222cc0a..a9051d38d0a0d883ad02fd7f0adf15a098705402 100644
--- a/L2J_DataPack/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
+++ b/L2J_DataPack/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
@@ -59,7 +59,6 @@ import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
 import com.l2jserver.gameserver.model.quest.Quest;
-import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.model.skills.Skill;
 import com.l2jserver.gameserver.network.NpcStringId;
 import com.l2jserver.gameserver.network.SystemMessageId;
@@ -1576,11 +1575,7 @@ public final class FinalEmperialTomb extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
 		if (npcId == GUIDE)
 		{
 			enterInstance(player, "FinalEmperialTomb.xml", ENTER_TELEPORT);
diff --git a/L2J_DataPack/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_DataPack/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java
index 0a01d974cea9bfab27a77837bc7856e0f0277481..c0bf653e3eb9487a0596b1f98f5c1d98b6684ae0 100644
--- a/L2J_DataPack/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java
+++ b/L2J_DataPack/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java
@@ -238,11 +238,6 @@ public final class NornilsGarden extends Quest
 	@Override
 	public final void teleportPlayer(L2PcInstance player, Location loc, int instanceId)
 	{
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
 		removeBuffs(player);
 		giveBuffs(player);
 		if (player.hasSummon())
@@ -524,10 +519,8 @@ public final class NornilsGarden extends Quest
 	@Override
 	public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		player.sendMessage("On Event");
-		
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -609,11 +602,7 @@ public final class NornilsGarden extends Quest
 	@Override
 	public final String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
 		return npc.getId() + ".html";
 	}
 	
@@ -636,7 +625,7 @@ public final class NornilsGarden extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/118_ToLeadAndBeLed/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/118_ToLeadAndBeLed/__init__.py
index dbac4643d9876127dfa836a225f6073c91ac93f0..e09b8aa8aa0b072eef08db4236165272c062fafb 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/118_ToLeadAndBeLed/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/118_ToLeadAndBeLed/__init__.py
@@ -28,7 +28,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc, player) :
    htmltext = event
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    if event == "30517-02.htm" :
      st.set("cond","1")
@@ -160,7 +160,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     if st.getState() != State.STARTED : return
     sponsor = player.getSponsor()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/123_TheLeaderAndTheFollower/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/123_TheLeaderAndTheFollower/__init__.py
index 9bb2982ad19cd4b5cf1c2869b679b5e698609fd6..6b52fdbd626ebfbb3c259d327ce6a566ecf456f1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/123_TheLeaderAndTheFollower/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/123_TheLeaderAndTheFollower/__init__.py
@@ -26,7 +26,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc, player) :
    htmltext = event
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    if event == "31961-02.htm" :
      st.set("cond","1")
@@ -164,7 +164,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     if st.getState() != State.STARTED : return
     sponsor = player.getSponsor()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/171_ActsOfEvil/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/171_ActsOfEvil/__init__.py
index 14c4d034e4e82cb0cad923247eb253b29dd519ef..bd02072cef4db917780b866dc5a44d2868e381ea 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/171_ActsOfEvil/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/171_ActsOfEvil/__init__.py
@@ -31,7 +31,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc, player) :
      htmltext = event
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return
      cond = st.getInt("cond")
      if st.getState() != State.COMPLETED :
@@ -157,7 +157,7 @@ class Quest (JQuest) :
      return htmltext
 
  def onKill(self,npc,player,isPet):
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return 
      if st.getState() != State.STARTED : return 
 
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/178_IconicTrinity/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/178_IconicTrinity/__init__.py
index 045a50bd28634340fd789915f16a62b6fbefe55e..a37ba84256d15bed3d81de14ec944908c946b893 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/178_IconicTrinity/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/178_IconicTrinity/__init__.py
@@ -22,7 +22,7 @@ class Quest (JQuest) :
  
  def onAdvEvent (self,event,npc, player) :
      htmltext = event
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return
      player = st.getPlayer()
      passwrd = st.getInt("pass")
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/__init__.py
index e678118ba9695caaac05365a79173e788108f7c3..c93fd032ecd44ca4ddf2bd91c9dac3161840a01e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/__init__.py
@@ -31,7 +31,7 @@ class Quest (JQuest) :
         self.questItemIds = [NicolasMap,BrokenMetal,Metal]
 
     def onAdvEvent (self,event,npc, player) :
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st: return
         htmltext = event
         if event == "30621-01.htm":
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/__init__.py
index 88e6e9ae957abee7e8f324d0c2b00164bc23f38b..2cd93732ad6f62bd510590196fd7317d209bb514 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/__init__.py
@@ -31,7 +31,7 @@ class Quest (JQuest) :
         self.questItemIds = [NicolasMap,BrokenMetal,Metal]
 
     def onAdvEvent (self,event,npc, player) :
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st: return
         htmltext = event
         if event == "30621-01.htm":
@@ -151,7 +151,7 @@ class Quest (JQuest) :
         return htmltext
 
     def onFirstTalk (self,npc,player):
-       st = player.getQuestState(qn)
+       st = self.getQuestState(player, False)
        q2 = QuestManager.getInstance().getQuest("184_Nikolas_Cooperation_Contract")
        if st:
            player.setLastQuestNpcObject(npc.getObjectId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py
index 618455b27fcc79b546d59a11f6a2e745ec912006..5c03ff9a3a8b9de25c1ae3fb4b9ca3f60e19b68f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py
@@ -45,7 +45,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc, player) :
     htmltext = event
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     if event == "30623-07.htm" :
         if st.getInt("step")==0 :
@@ -142,7 +142,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-  st = player.getQuestState(qn)
+  st = self.getQuestState(player, False)
   if not st : return 
   if st.getState() != State.STARTED : return 
    
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/__init__.py
index d76234c854d9847371bb67121685409365419b98..feaeee96ef39ac2ff4e8d43f0b82ad44c7920dc5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/__init__.py
@@ -39,7 +39,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc, player) :
     htmltext = event
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     if event == "1" :
         htmltext = "30118-04.htm"
@@ -183,7 +183,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return 
    if st.getState() != State.STARTED : return 
    npcId = npc.getId()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/22_TragedyInVonHellmannForest/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/22_TragedyInVonHellmannForest/__init__.py
index a2f5e5cf90fd04c241907bbc3d2c554c4fa6aac9..fb2c4fbcc5dd8d2a4168c3ea541a44e82bb62378 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/22_TragedyInVonHellmannForest/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/22_TragedyInVonHellmannForest/__init__.py
@@ -41,7 +41,7 @@ class Quest (JQuest) :
      self.well = 0
 
  def onAdvEvent (self,event,npc, player) :
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st: return
    htmltext = event 
    if event == "31334-02.htm" :
@@ -269,7 +269,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onAttack (self,npc,player,damage,isPet,skill):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if st :
        npcId = npc.getId()
        id = st.getInt("id")
@@ -285,7 +285,7 @@ class Quest (JQuest) :
 
  def onKill(self,npc,player,isPet):
    npcId = npc.getId()
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if st :
        if npcId == SOUL_OF_WELL :
            self.well = 0
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/230_TestOfSummoner/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/230_TestOfSummoner/__init__.py
index b17b0cc83ae748cf0b1139b1aa501cffbab1fc14..88606297ad0f5b0c02ceeb0c67df22b80a95c5b7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/230_TestOfSummoner/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/230_TestOfSummoner/__init__.py
@@ -116,7 +116,7 @@ class Quest (JQuest) :
 
    def onAdvEvent (self,event,npc, player) :
       htmltext = event
-      st = player.getQuestState(qn)
+      st = self.getQuestState(player, False)
       if not st : return
       if event == "30634-08.htm" :                    # start part for Galatea
          for var in STATS:
@@ -301,7 +301,7 @@ class Quest (JQuest) :
    # on the first attack, the stat is in battle... anytime gives crystal and set stat
    def onAttack (self, npc, player,damage,isPet,skill):
       npcId = npc.getId()
-      st = player.getQuestState(qn)
+      st = self.getQuestState(player, False)
       if npcId in DROPLIST_SUMMON.keys() :
          var,start,progress,foul,defeat,victory = DROPLIST_SUMMON[npcId]
          # check if this npc has been attacked before
@@ -330,7 +330,7 @@ class Quest (JQuest) :
 
    def onKill(self,npc,player,isPet):
       npcId = npc.getId() 
-      st = player.getQuestState(qn)
+      st = self.getQuestState(player, False)
       # this part is just for laras parts.  It is only available to players who are doing the quest
       if npcId in DROPLIST_LARA.keys() :
          if not st : return
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/233_TestOfWarspirit/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/233_TestOfWarspirit/__init__.py
index 512d711c290eb29f86586a7e8b5ab87da6acc42d..405bd3ff05a77bad7e01c8cd0a08b78f42745daf 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/233_TestOfWarspirit/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/233_TestOfWarspirit/__init__.py
@@ -318,7 +318,7 @@ class Quest (JQuest) :
     return htmltext    
         
   def onKill(self,npc,player,isPet):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return 
     npcId=npc.getId()
 
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/234_FatesWhisper/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/234_FatesWhisper/__init__.py
index 242d73e9320f826bec5fd33ecee793fe90ec5736..ea1b5b6ccaa700888de0743a34ab260db1f389b2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/234_FatesWhisper/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/234_FatesWhisper/__init__.py
@@ -70,7 +70,7 @@ class Quest (JQuest) :
 
   def onAdvEvent (self,event,npc, player) :
     htmltext = event
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     #accept quest
     if event == "1" :
@@ -288,7 +288,7 @@ class Quest (JQuest) :
     return htmltext
 
   def onAttack (self, npc, player, damage, isPet, skill):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return 
     if st.getState() != State.STARTED : return 
     if isPet : return
@@ -325,7 +325,7 @@ class Quest (JQuest) :
         if stw.getQuestItemsCount(dropId) >= 30:
           stw.set("cond","9")
       else:
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st : return
         if st.getState() != State.STARTED : return
         if npcId in DROPLIST.keys() :
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/236_SeedsOfChaos/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/236_SeedsOfChaos/__init__.py
index 744c45d40111b1fa27d74d328ca8fd42bd555f1c..1ca6d642e0272c362ae6e0f7232036c3c1f7f658 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/236_SeedsOfChaos/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/236_SeedsOfChaos/__init__.py
@@ -69,7 +69,7 @@ class Quest (JQuest) :
     self.questItemId = [BLACK_ECHO_CRYSTAL, SHINING_MEDALLION]
  
  def onAdvEvent (self,event,npc, player) :
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     if event == "1" : #Go talk to the wizard!
         st.setState(State.STARTED)
@@ -230,7 +230,7 @@ class Quest (JQuest) :
     return htmltext
  
  def onKill(self,npc,player,isPet):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return 
     if st.getState() != State.STARTED : return 
     #The following algorithm should work for both quest mobs and drops for this quest.... hopefully.
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/23_LidiasHeart/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/23_LidiasHeart/__init__.py
index a7ff84e53028ad6cd5b44cde3c219e2760084973..2b0a5eb2301e89318d80f4222aeab2a3b2257f88 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/23_LidiasHeart/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/23_LidiasHeart/__init__.py
@@ -32,7 +32,7 @@ class Quest (JQuest) :
        self.questItemIds = [MapForestofDeadman,SilverKey,LidiaHairPin,LidiaDiary,SilverSpear] 
 
     def onAdvEvent (self,event,npc,player) :
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         htmltext = event
         if event == "31328-02.htm": # call 31328-03.htm
             st.giveItems(MapForestofDeadman,1)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/25_HidingBehindTheTruth/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/25_HidingBehindTheTruth/__init__.py
index f5618d700f5b0d19c0ed53e4507881f6311d4950..272b094435f3f15bbf1ce682c5b3743c30d490f6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/25_HidingBehindTheTruth/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/25_HidingBehindTheTruth/__init__.py
@@ -39,7 +39,7 @@ class Quest (JQuest) :
 
 
     def onAdvEvent (self,event,npc, player) :
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st: return
         htmltext = event
         if event == "31349-02.htm" :
@@ -228,7 +228,7 @@ class Quest (JQuest) :
         return htmltext
 
     def onKill(self,npc,player,isPet):
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st : return
         if st.getState() != State.STARTED : return
         if st.getInt("cond") == 7:
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/330_AdeptOfTaste/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/330_AdeptOfTaste/__init__.py
index b240153bfb9315ecb8cb1b5a37a65995117dea42..d2dc52b8cff04beeb05ec310564bb3b6965732a9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/330_AdeptOfTaste/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/330_AdeptOfTaste/__init__.py
@@ -296,7 +296,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return 
    if st.getState() != State.STARTED : return 
    
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/333_BlackLionHunt/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/333_BlackLionHunt/__init__.py
index e97a61c00f6ecfda2965c31c0aadc0cfcb1b2741..4288841dd0b26be14a45e9da92ca21b7394970b5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/333_BlackLionHunt/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/333_BlackLionHunt/__init__.py
@@ -553,7 +553,7 @@ class Quest (JQuest) :
           return m_no_box
           
   def onKill(self,npc,player,isPet):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return 
     if st.getState() != State.STARTED : return 
 
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py
index 82f749b697ad5382c83387435aea6e9290a73756..4fb604baceddb210b04cd092b73a35ad931d2452 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py
@@ -79,7 +79,7 @@ class Quest (JQuest) :
      self.questItemIds = range(3678,3683)+range(3684,3692)
 
  def onAdvEvent (self,event,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st: return
    htmltext = event
    player=st.getPlayer()
@@ -277,7 +277,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    id = st.getState()
    if id == State.CREATED: return
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/335_TheSongOfTheHunter/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/335_TheSongOfTheHunter/__init__.py
index 8a5511c5553113c8c1d9ff967ad55b82edf81044..5b448323eced532104d54ac7e1c517951fca6d36 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/335_TheSongOfTheHunter/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/335_TheSongOfTheHunter/__init__.py
@@ -295,7 +295,7 @@ class Quest (JQuest) :
         self.questItemIds = range(3692,3811) + [3471]
 
     def onAdvEvent (self,event,npc,player):
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st: return
         htmltext = event
         if event == "30744-03.htm" :
@@ -505,7 +505,7 @@ class Quest (JQuest) :
         return htmltext
 
     def onKill(self,npc,player,isPet):
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st : return
         npcId = npc.getId()
         cond = st.getInt("cond")
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/336_CoinOfMagic/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/336_CoinOfMagic/__init__.py
index a8c12e64aaec214ce303b5e9422f91750465ba2a..e8ebdb616e5e0f118a3c62e0aa35a17effa5b7e2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/336_CoinOfMagic/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/336_CoinOfMagic/__init__.py
@@ -345,7 +345,7 @@ class Quest (JQuest) :
    st = 0
    # solo section of the quest
    if npcId in [HARITMATR, HARITSHA] :
-      st = player.getQuestState(qn)
+      st = self.getQuestState(player, False)
       if not st: return
       if st.getState() != State.STARTED or not st.get("part") or st.get("part") != "SOLO" : return
    if not npcId in [HARITMATR, HARITSHA] :
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/337_AudienceWithTheLandDragon/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/337_AudienceWithTheLandDragon/__init__.py
index c71842f80e7e480eeb5f1d556f8fc22f0f2a1237..6908e093219bcd6ef7c81a68af0f29a1bc57e027 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/337_AudienceWithTheLandDragon/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/337_AudienceWithTheLandDragon/__init__.py
@@ -57,7 +57,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc,player):
      if player :
-         st = player.getQuestState(qn)
+         st = self.getQuestState(player, False)
          if not st : return
          htmltext = event
          if event == "30753-02.htm" :
@@ -247,7 +247,7 @@ class Quest (JQuest) :
     return htmltext
 
  def onAttack (self, npc, player, damage, isPet, skill):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if st :
      npcId = npc.getId()
      maxHp = npc.getMaxHp()
@@ -302,7 +302,7 @@ class Quest (JQuest) :
 
  def onKill(self,npc,player,isPet):
     npcId = npc.getId()
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if st :
         cond = st.getInt("cond")
         if cond == 1 :
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/340_SubjugationOfLizardmen/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/340_SubjugationOfLizardmen/__init__.py
index 0e64a3df872e788ea2eb5761aaff1459dd987236..1c20dc6da3425222962f867d060aa05922de7c1e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/340_SubjugationOfLizardmen/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/340_SubjugationOfLizardmen/__init__.py
@@ -29,7 +29,7 @@ class Quest (JQuest) :
      self.questItemIds = [TOTEM]
  
  def onAdvEvent (self, event, npc, player) :
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st: return
      htmltext = event
      if event == "30385-03.htm" :
@@ -130,7 +130,7 @@ class Quest (JQuest) :
      return htmltext
     
  def onKill(self,npc,player,isPet):
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return 
      npcId = npc.getId()
      chanse = self.getRandom(100)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/343_UnderTheShadowOfTheIvoryTower/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/343_UnderTheShadowOfTheIvoryTower/__init__.py
index bf617c545131e8ebdbbd842b61d856a4a7347a0e..0af8835fa3404b5dce9362fda57f626681656017 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/343_UnderTheShadowOfTheIvoryTower/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/343_UnderTheShadowOfTheIvoryTower/__init__.py
@@ -188,7 +188,7 @@ class Quest (JQuest) :
      return htmltext
 
  def onKill(self,npc,player,isPet):
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return 
      if st.getState() != State.STARTED : return 
    
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/348_ArrogantSearch/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/348_ArrogantSearch/__init__.py
index 533e7a37ac9887c2555e09cb5443d40b0d88ba6e..0e5db3056a7cada1e0c84d46c32e89a8d9b7fe2e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/348_ArrogantSearch/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/348_ArrogantSearch/__init__.py
@@ -346,7 +346,7 @@ class Quest (JQuest) :
     return htmltext
 
  def onAttack (self, npc, player, damage, isPet, skill):
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return
      if st.getState() != State.STARTED : return
 
@@ -374,7 +374,7 @@ class Quest (JQuest) :
      return
 
  def onKill(self,npc,player,isPet):
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return
      if st.getState() != State.STARTED : return
 
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/384_WarehouseKeepersPastime/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/384_WarehouseKeepersPastime/__init__.py
index 422c8ea6934d608d921d97a841940dda27930cb7..7fb769c6af0fa29f08755bc8afff83d1d1874e65 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/384_WarehouseKeepersPastime/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/384_WarehouseKeepersPastime/__init__.py
@@ -142,7 +142,7 @@ class Quest (JQuest) :
             return item
 
  def onAdvEvent (self,event,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st: return
    htmltext = event
    npcId = str(npc.getId())
@@ -238,7 +238,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet) :
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return
      npcId = npc.getId()
      if npcId in Droplist.keys() :
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/419_GetAPet/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/419_GetAPet/__init__.py
index 441a15604378d8d61b3276a6603e42dcecef7eec..c2bc6909aedb386a9826c15fcf71eaf6d44a9630 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/419_GetAPet/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/419_GetAPet/__init__.py
@@ -217,7 +217,7 @@ class Quest (JQuest):
     return
 
   def onKill(self,npc,player,isPet):
-      st = player.getQuestState(qn)
+      st = self.getQuestState(player, False)
       if not st : return 
       if st.getState() != State.STARTED : return 
    
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/__init__.py
index d8e8bb4b1a6e52bcdc48309a94eee78ed3683fef..b73b7d56aefdb47776d83a0e57cf5b1e4cb4d0e1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/__init__.py
@@ -50,7 +50,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc,player) :
     htmltext = event
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st: return
     if event == "Start" :
         st.playSound("ItemSound.quest_accept")
@@ -243,7 +243,7 @@ class Quest (JQuest) :
 
 
  def onKill(self,npc,player,isPet) :
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    if st.getState() != State.STARTED : return
    condition = st.getInt("cond")
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py
index cdbc8d29a9d420aa04a45d8260e481f447c0ba98..37be68bc262e246ef06dfdd769523acbdbe24f6e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py
@@ -498,7 +498,7 @@ class Quest (JQuest) :
     # only if the leader is online and within a certain distance!
     leader_st = 0
     if player.isClanLeader() :
-      leader_st = player.getQuestState(qn)
+      leader_st = self.getQuestState(player, False)
     else :
       clan = player.getClan()
       if clan:
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/604_DaimontheWhiteEyedPart2/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/604_DaimontheWhiteEyedPart2/__init__.py
index 11f3a48302967115c965ecf6d24f9949b064ddef..7db79dddecd960d15b11438ad9a48c5a0ee25a36 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/604_DaimontheWhiteEyedPart2/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/604_DaimontheWhiteEyedPart2/__init__.py
@@ -52,7 +52,7 @@ class Quest (JQuest) :
    elif event == "spawn_npc" :
       self.addSpawn(31541,186304,-43744,-3193,57000, False, 0, True)
       return
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st: return
    cond = st.getInt("cond") 
    htmltext = event 
@@ -144,7 +144,7 @@ class Quest (JQuest) :
             st.set("cond","3") 
             st.playSound("ItemSound.quest_middle")
         else :
-            st = player.getQuestState(qn)
+            st = self.getQuestState(player, False)
             if not st : return
             if st.getState() == State.STARTED and (st.getInt("cond") == 1 or st.getInt("cond") == 2) :
                 if st.getQuestItemsCount(S_SUMMON) > 0 :
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/60_GoodWorkReward/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/60_GoodWorkReward/__init__.py
index 3f4454c95f1fb19c91f869166a7333851430272b..b0a3d6bddf976dad28f753ed414b6d9167bd809f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/60_GoodWorkReward/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/60_GoodWorkReward/__init__.py
@@ -77,7 +77,7 @@ class Quest (JQuest) :
     if event == "npc_cleanup" :
       self.isNpcSpawned = 0
       return
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st: return
     htmltext = event
     if event == "31435-03.htm" :
@@ -211,7 +211,7 @@ class Quest (JQuest) :
  def onKill(self,npc,player,isPet):
    self.cancelQuestTimer("npc_cleanup", None, None)
    self.isNpcSpawned = 0
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    if st.getState() != State.STARTED : return
    npcId = npc.getId()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/620_FourGoblets/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/620_FourGoblets/__init__.py
index fb97b80369c7625817d770df93a127da4509a5fd..5b2dbf72ea23d4ca888fef9a3882cdabcf8d7a8c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/620_FourGoblets/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/620_FourGoblets/__init__.py
@@ -115,7 +115,7 @@ class Quest (JQuest) :
     return htmltext
 
   def onKill (self,npc,player,isPet) :
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     npcId = npc.getId()
     if st:
       if int(st.get("cond")) == 1 or int(st.get("cond")) == 2 :
@@ -127,7 +127,7 @@ class Quest (JQuest) :
 
   def onAdvEvent (self,event,npc,player) :
     htmltext = event
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     htmltext = event
     if event == "Enter" : 
       FourSepulchersManager.getInstance().tryEntry(npc,player)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/65_CertifiedSoulBreaker/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/65_CertifiedSoulBreaker/__init__.py
index 24f70e7a79c1edb635d3d1ff3d4dd614d442a36c..0016875ad10c895e43db8d8ee10d15622d7fc4e3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/65_CertifiedSoulBreaker/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/65_CertifiedSoulBreaker/__init__.py
@@ -98,7 +98,7 @@ class Quest (JQuest) :
         return htmltext
 
     def onFirstTalk (self,npc,player):
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if st :
             if npc.getId() == Katenar and st.getInt("cond") == 12:
                 st.unset("angel")
@@ -245,7 +245,7 @@ class Quest (JQuest) :
         return htmltext
 
     def onKill(self,npc,player,isPet):
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st : return
         if st.getState() != State.STARTED : return
         npcId = npc.getId()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/663_SeductiveWhispers/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/663_SeductiveWhispers/__init__.py
index 44fd24ce72795aeb3a321bb654257643b1819b40..1550666070dab5f7cc9dd05cfc4b3e76e6b17d2c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/663_SeductiveWhispers/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/663_SeductiveWhispers/__init__.py
@@ -170,7 +170,7 @@ class Quest (JQuest) :
    return htmltext
  
  def onKill(self,npc,player,isPet):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    if st.getState() != State.STARTED : return
    npcId = npc.getId()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/999_T1Tutorial/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/999_T1Tutorial/__init__.py
index 80e07e2430f0fa19985d04444239f9645808ceb9..5efb3ac348751b226ed731cef4a2f2a8bf7f5b39 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/999_T1Tutorial/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/999_T1Tutorial/__init__.py
@@ -79,7 +79,7 @@ class Quest (JQuest) :
  def onAdvEvent(self,event,npc,player):
     if Config.DISABLE_TUTORIAL :
         return
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st: return
     htmltext = event
     qs = st.getPlayer().getQuestState(qnTutorial)
@@ -142,9 +142,7 @@ class Quest (JQuest) :
    if not qs : 
       npc.showChatWindow(player)
       return None
-   st = player.getQuestState(qn)
-   if not st :
-      st = self.newQuestState(player)
+   st = self.getQuestState(player, True)
    htmltext = ""
    Ex = qs.getInt("Ex")
    npcId = npc.getId()
@@ -231,7 +229,7 @@ class Quest (JQuest) :
  def onKill(self,npc,player,isPet):
    if Config.DISABLE_TUTORIAL :
      return
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    qs = st.getPlayer().getQuestState(qnTutorial)
    if not qs : return
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/AbstractSagaQuest.java b/L2J_DataPack/dist/game/data/scripts/quests/AbstractSagaQuest.java
index b2fe5ef407787c26af9eb8ac3d996f9b415e81d0..bd5dadd558eb36d552bae2825133e682cdbea9dd 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/AbstractSagaQuest.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/AbstractSagaQuest.java
@@ -71,7 +71,7 @@ public abstract class AbstractSagaQuest extends Quest
 	
 	private QuestState findQuest(L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st != null)
 		{
 			if (getId() == 68)
@@ -157,7 +157,7 @@ public abstract class AbstractSagaQuest extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -444,7 +444,7 @@ public abstract class AbstractSagaQuest extends Quest
 		if (st2 != null)
 		{
 			int cond = st2.getCond();
-			QuestState st = player.getQuestState(getName());
+			QuestState st = getQuestState(player, false);
 			int npcId = npc.getId();
 			if ((npcId == Mob[2]) && (st == st2) && (cond == 17))
 			{
@@ -483,7 +483,7 @@ public abstract class AbstractSagaQuest extends Quest
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		int npcId = npc.getId();
 		if (st != null)
 		{
@@ -555,7 +555,7 @@ public abstract class AbstractSagaQuest extends Quest
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		for (int Archon_Minion = 21646; Archon_Minion < 21652; Archon_Minion++)
 		{
 			if (npcId == Archon_Minion)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00001_LettersOfLove/Q00001_LettersOfLove.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00001_LettersOfLove/Q00001_LettersOfLove.java
index e95ff9f26c566598475d76e2e880bcff2b2e3df3..112b7d7116e39489ee70a071b7ab728e12e9348f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00001_LettersOfLove/Q00001_LettersOfLove.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00001_LettersOfLove/Q00001_LettersOfLove.java
@@ -55,7 +55,7 @@ public class Q00001_LettersOfLove extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00002_WhatWomenWant/Q00002_WhatWomenWant.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00002_WhatWomenWant/Q00002_WhatWomenWant.java
index 2c618e2080f494a33739a07b79bb5e4fda9027bd..64857c16676b82bb2bf9d44ce38c20ba3bbde9eb 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00002_WhatWomenWant/Q00002_WhatWomenWant.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00002_WhatWomenWant/Q00002_WhatWomenWant.java
@@ -58,7 +58,7 @@ public class Q00002_WhatWomenWant extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00003_WillTheSealBeBroken/Q00003_WillTheSealBeBroken.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00003_WillTheSealBeBroken/Q00003_WillTheSealBeBroken.java
index 8773ae7c43b22c3d8f8fe5f35cc6f00f018762fa..7a26a5ec68da26007fdb7f44ea92bac530005272 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00003_WillTheSealBeBroken/Q00003_WillTheSealBeBroken.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00003_WillTheSealBeBroken/Q00003_WillTheSealBeBroken.java
@@ -61,7 +61,7 @@ public class Q00003_WillTheSealBeBroken extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q00003_WillTheSealBeBroken extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		switch (npc.getId())
 		{
 			case OMEN_BEAST:
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00004_LongLiveThePaagrioLord/Q00004_LongLiveThePaagrioLord.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00004_LongLiveThePaagrioLord/Q00004_LongLiveThePaagrioLord.java
index 00cd7b6e10d875aee341a919941e2e5e6a4d9ea2..587361bfdb982efacf78fb3e2e7be61865b8da2b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00004_LongLiveThePaagrioLord/Q00004_LongLiveThePaagrioLord.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00004_LongLiveThePaagrioLord/Q00004_LongLiveThePaagrioLord.java
@@ -63,7 +63,7 @@ public class Q00004_LongLiveThePaagrioLord extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00005_MinersFavor/Q00005_MinersFavor.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00005_MinersFavor/Q00005_MinersFavor.java
index 95ed745379e7b5b26a500225269e2cdf7ad9b377..c6f53f36f06dbe53d35e3f5cf308a7fe09b9484f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00005_MinersFavor/Q00005_MinersFavor.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00005_MinersFavor/Q00005_MinersFavor.java
@@ -60,7 +60,7 @@ public class Q00005_MinersFavor extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00006_StepIntoTheFuture/Q00006_StepIntoTheFuture.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00006_StepIntoTheFuture/Q00006_StepIntoTheFuture.java
index 9814f9e59dedc93c1c4b023eb181dfba276e27a2..2a13e0425a5a13506e8ecfc39ea31e5c1c426ada 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00006_StepIntoTheFuture/Q00006_StepIntoTheFuture.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00006_StepIntoTheFuture/Q00006_StepIntoTheFuture.java
@@ -53,7 +53,7 @@ public class Q00006_StepIntoTheFuture extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00007_ATripBegins/Q00007_ATripBegins.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00007_ATripBegins/Q00007_ATripBegins.java
index 7e1f9ba1bb35e6b30ae11da8ce623c6983cc8d3d..678470fbb284a3f4a61c45d39cf8cc2f82eecf6f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00007_ATripBegins/Q00007_ATripBegins.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00007_ATripBegins/Q00007_ATripBegins.java
@@ -53,7 +53,7 @@ public class Q00007_ATripBegins extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00008_AnAdventureBegins/Q00008_AnAdventureBegins.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00008_AnAdventureBegins/Q00008_AnAdventureBegins.java
index 7b04aeee02e24e1b57812ac4163528fb42ec9d9f..78cd2575f6ca685583bfe6774fdf7e8d51d79390 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00008_AnAdventureBegins/Q00008_AnAdventureBegins.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00008_AnAdventureBegins/Q00008_AnAdventureBegins.java
@@ -53,7 +53,7 @@ public class Q00008_AnAdventureBegins extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00009_IntoTheCityOfHumans/Q00009_IntoTheCityOfHumans.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00009_IntoTheCityOfHumans/Q00009_IntoTheCityOfHumans.java
index b15b9cc233e11d99cec3f5c891f0787c71d7e0dd..c62fd4faa52a1afc98781668ad6f1e2a7c1565fd 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00009_IntoTheCityOfHumans/Q00009_IntoTheCityOfHumans.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00009_IntoTheCityOfHumans/Q00009_IntoTheCityOfHumans.java
@@ -51,7 +51,7 @@ public class Q00009_IntoTheCityOfHumans extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00010_IntoTheWorld/Q00010_IntoTheWorld.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00010_IntoTheWorld/Q00010_IntoTheWorld.java
index 27f63ae501ac0b3791f1eebfdd80f97dd91a5064..4b310bf811def4aa3f673184bc3800135117f182 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00010_IntoTheWorld/Q00010_IntoTheWorld.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00010_IntoTheWorld/Q00010_IntoTheWorld.java
@@ -53,7 +53,7 @@ public class Q00010_IntoTheWorld extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java
index f57ef9b9ad63626007d245c8c50f1aa0a6b24d08..0dd3e2f6569ee6df043e479f2ddce745d3eb8ee0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java
@@ -50,7 +50,7 @@ public class Q00011_SecretMeetingWithKetraOrcs extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java
index ccc200c2d628164c6b30f3de961036edbd873072..cc7914bb1b75701bab4130bd543e493684fd3416 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java
@@ -50,7 +50,7 @@ public class Q00012_SecretMeetingWithVarkaSilenos extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00013_ParcelDelivery/Q00013_ParcelDelivery.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00013_ParcelDelivery/Q00013_ParcelDelivery.java
index a9e0f48963f7670f16a2217ed89f6de62742fb16..d82e037185907019d8621f2760666de16a0d2a6f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00013_ParcelDelivery/Q00013_ParcelDelivery.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00013_ParcelDelivery/Q00013_ParcelDelivery.java
@@ -49,7 +49,7 @@ public class Q00013_ParcelDelivery extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java
index 0990d329c0715e1afbe77ed84061698c9473e799..b10ccb311bb7612ea2c9404eec1add72466ed2af 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java
@@ -49,7 +49,7 @@ public class Q00014_WhereaboutsOfTheArchaeologist extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00015_SweetWhispers/Q00015_SweetWhispers.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00015_SweetWhispers/Q00015_SweetWhispers.java
index ec3eaf81671cca55084fbfbac0e3c5be5560ade0..7b83abd293876a46dcd00a87399cbf485187ba94 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00015_SweetWhispers/Q00015_SweetWhispers.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00015_SweetWhispers/Q00015_SweetWhispers.java
@@ -47,7 +47,7 @@ public class Q00015_SweetWhispers extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00016_TheComingDarkness/Q00016_TheComingDarkness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00016_TheComingDarkness/Q00016_TheComingDarkness.java
index 71dcadf1c113eede16d4ec8ebca0b279d97473c6..27461485ff0e4a43165786ad4dbcde0ee4df7aa5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00016_TheComingDarkness/Q00016_TheComingDarkness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00016_TheComingDarkness/Q00016_TheComingDarkness.java
@@ -56,7 +56,7 @@ public class Q00016_TheComingDarkness extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00017_LightAndDarkness/Q00017_LightAndDarkness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00017_LightAndDarkness/Q00017_LightAndDarkness.java
index f270e35c4aa7a964d52444c47c5277e6fc992d01..a85813f11793becfab29c016e592d637279d7c17 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00017_LightAndDarkness/Q00017_LightAndDarkness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00017_LightAndDarkness/Q00017_LightAndDarkness.java
@@ -54,7 +54,7 @@ public class Q00017_LightAndDarkness extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java
index 492ecfdae520c1bbdae5d5f0e1af7357f8e56ea0..1c07a88338dbe3f4111da7ebd8a3599d7cab267d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java
@@ -50,7 +50,7 @@ public class Q00018_MeetingWithTheGoldenRam extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00019_GoToThePastureland/Q00019_GoToThePastureland.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00019_GoToThePastureland/Q00019_GoToThePastureland.java
index e48926ff4256cf740ca80d7dfb90dea95f2a71a7..2ae87ee08ad3e4ffad226db31ec84a240f92088b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00019_GoToThePastureland/Q00019_GoToThePastureland.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00019_GoToThePastureland/Q00019_GoToThePastureland.java
@@ -50,7 +50,7 @@ public class Q00019_GoToThePastureland extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00020_BringUpWithLove/Q00020_BringUpWithLove.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00020_BringUpWithLove/Q00020_BringUpWithLove.java
index 835af888650880499dee0e860bf9875b6623fb68..39b491df9de5829cce3c5071baa5a3c2d564ae9a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00020_BringUpWithLove/Q00020_BringUpWithLove.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00020_BringUpWithLove/Q00020_BringUpWithLove.java
@@ -48,7 +48,7 @@ public class Q00020_BringUpWithLove extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java
index 05444fcc85a5a1521bfb368ac3bfda2fa4287f1c..ec6086976f8061784217197ad41e66ec759584d3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java
@@ -75,7 +75,7 @@ public class Q00021_HiddenTruth extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java
index 25480310bf82290b47363a689bcc3c9a1b2d98fc..1fe4cada23eb1643c86772170e1af4dab787ff89 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java
@@ -61,7 +61,7 @@ public class Q00024_InhabitantsOfTheForestOfTheDead extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -206,7 +206,7 @@ public class Q00024_InhabitantsOfTheForestOfTheDead extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(9) && (getRandom(100) < 10))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00026_TiredOfWaiting/Q00026_TiredOfWaiting.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00026_TiredOfWaiting/Q00026_TiredOfWaiting.java
index c993f7b765017d58d77293999e6dbe1b48c57580..78fd221adfa737e2cd972c3374f30e9b142c48fb 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00026_TiredOfWaiting/Q00026_TiredOfWaiting.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00026_TiredOfWaiting/Q00026_TiredOfWaiting.java
@@ -57,7 +57,7 @@ public final class Q00026_TiredOfWaiting extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = null;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java
index 9478128004dad924ed837547b0a1f0459200aa42..6735b58f19617f731ebd1d3c64999bcd892bf157 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java
@@ -53,7 +53,7 @@ public class Q00027_ChestCaughtWithABaitOfWind extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java
index 2d4f12bafaa54a47b87bb1c22dc718f7df33473c..ddaa8e7f11624b3c0abe1ab69a7f2af43fa2f283 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java
@@ -53,7 +53,7 @@ public class Q00028_ChestCaughtWithABaitOfIcyAir extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java
index d18a5beb45c81ca580defb7abd0be3170a55d6ff..17029bd9b3eea86151872f3660c5e876b5a1aec9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java
@@ -53,7 +53,7 @@ public class Q00029_ChestCaughtWithABaitOfEarth extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java
index 715420833cf1eed52ebe20aa94faf57e22e9eb5b..5c3b312de391cabda6e4a343d755a6282a6275fe 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java
@@ -53,7 +53,7 @@ public class Q00030_ChestCaughtWithABaitOfFire extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00031_SecretBuriedInTheSwamp/Q00031_SecretBuriedInTheSwamp.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00031_SecretBuriedInTheSwamp/Q00031_SecretBuriedInTheSwamp.java
index ff2ed5927e2d19e80ecaa0cf9ebd6f978e799ea0..878e02bd3c976ef82212780ece88941d775997e1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00031_SecretBuriedInTheSwamp/Q00031_SecretBuriedInTheSwamp.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00031_SecretBuriedInTheSwamp/Q00031_SecretBuriedInTheSwamp.java
@@ -59,7 +59,7 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00033_MakeAPairOfDressShoes/Q00033_MakeAPairOfDressShoes.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00033_MakeAPairOfDressShoes/Q00033_MakeAPairOfDressShoes.java
index c19169a2452b996fcec481a5389e56183e94261c..d326911d83265cdd847dee00a3a1d8b4fe00b6b3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00033_MakeAPairOfDressShoes/Q00033_MakeAPairOfDressShoes.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00033_MakeAPairOfDressShoes/Q00033_MakeAPairOfDressShoes.java
@@ -57,7 +57,7 @@ public class Q00033_MakeAPairOfDressShoes extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java
index f4f80a5887bc8ccd37fb9322b5e98bd1096c6c75..bfa85ca027d23867cac3e188775e564f45909913 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java
@@ -65,7 +65,7 @@ public class Q00034_InSearchOfCloth extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -122,7 +122,7 @@ public class Q00034_InSearchOfCloth extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 4);
 		if ((member != null) && getRandomBoolean())
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			st.giveItems(SPINNERET, 1);
 			if (st.getQuestItemsCount(SPINNERET) >= SPINNERET_COUNT)
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00035_FindGlitteringJewelry/Q00035_FindGlitteringJewelry.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00035_FindGlitteringJewelry/Q00035_FindGlitteringJewelry.java
index ad535f7a716958ee3d43e774a6b9d67b8fe7d7cd..a53ab8805d646f927d6846f4196db82802758f93 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00035_FindGlitteringJewelry/Q00035_FindGlitteringJewelry.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00035_FindGlitteringJewelry/Q00035_FindGlitteringJewelry.java
@@ -61,7 +61,7 @@ public class Q00035_FindGlitteringJewelry extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -111,7 +111,7 @@ public class Q00035_FindGlitteringJewelry extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 2);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			if (getRandomBoolean())
 			{
 				st.giveItems(ROUGH_JEWEL, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00036_MakeASewingKit/Q00036_MakeASewingKit.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00036_MakeASewingKit/Q00036_MakeASewingKit.java
index c65c0c0d7fe61a840ca030454fc817cd3c761387..8c2c8a4b08ab11e9b88983fd23f1f9fc0c5933e6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00036_MakeASewingKit/Q00036_MakeASewingKit.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00036_MakeASewingKit/Q00036_MakeASewingKit.java
@@ -57,7 +57,7 @@ public class Q00036_MakeASewingKit extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -103,7 +103,7 @@ public class Q00036_MakeASewingKit extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 1);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			if (getRandomBoolean())
 			{
 				st.giveItems(ENCHANTED_IRON, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00037_MakeFormalWear/Q00037_MakeFormalWear.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00037_MakeFormalWear/Q00037_MakeFormalWear.java
index 3d632d33c3c7301b2ecc1df032762de40db71428..671d8f66b2bea267e83d5c53a7f51e960632e13f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00037_MakeFormalWear/Q00037_MakeFormalWear.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00037_MakeFormalWear/Q00037_MakeFormalWear.java
@@ -58,7 +58,7 @@ public class Q00037_MakeFormalWear extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00040_ASpecialOrder/Q00040_ASpecialOrder.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00040_ASpecialOrder/Q00040_ASpecialOrder.java
index df6606e7bcc2fd49343d1de3ccd8db42305b424c..384cf2703e977f174330d2af88d6e76ac10d7fe0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00040_ASpecialOrder/Q00040_ASpecialOrder.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00040_ASpecialOrder/Q00040_ASpecialOrder.java
@@ -59,7 +59,7 @@ public final class Q00040_ASpecialOrder extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00042_HelpTheUncle/Q00042_HelpTheUncle.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00042_HelpTheUncle/Q00042_HelpTheUncle.java
index 326bba57f1283fdb27ccabaa275091e299fbfc40..20b9d16519e9651ecff51e14796c53540ec7e84d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00042_HelpTheUncle/Q00042_HelpTheUncle.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00042_HelpTheUncle/Q00042_HelpTheUncle.java
@@ -56,7 +56,7 @@ public class Q00042_HelpTheUncle extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -113,7 +113,7 @@ public class Q00042_HelpTheUncle extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(2))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00043_HelpTheSister/Q00043_HelpTheSister.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00043_HelpTheSister/Q00043_HelpTheSister.java
index b8a94c7972d3f4583ec880a96ca361542b351df6..6718f3e03114a025dd3e18fd001bcecf808088a2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00043_HelpTheSister/Q00043_HelpTheSister.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00043_HelpTheSister/Q00043_HelpTheSister.java
@@ -56,7 +56,7 @@ public class Q00043_HelpTheSister extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -113,7 +113,7 @@ public class Q00043_HelpTheSister extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(2))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00044_HelpTheSon/Q00044_HelpTheSon.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00044_HelpTheSon/Q00044_HelpTheSon.java
index e0d11e754ccb9d56fef0a64e9b18a4c1ff41242e..5a36fd1834a066bfdf874401ae233253df703cf3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00044_HelpTheSon/Q00044_HelpTheSon.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00044_HelpTheSon/Q00044_HelpTheSon.java
@@ -57,7 +57,7 @@ public class Q00044_HelpTheSon extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -115,7 +115,7 @@ public class Q00044_HelpTheSon extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(2))
 		{
 			st.giveItems(GEMSTONE_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00045_ToTalkingIsland/Q00045_ToTalkingIsland.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00045_ToTalkingIsland/Q00045_ToTalkingIsland.java
index 2d08ec58318dd00646c38ec1a0664f8248a2883e..308084fb5f07c7d6ab99e94681866dce339474f7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00045_ToTalkingIsland/Q00045_ToTalkingIsland.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00045_ToTalkingIsland/Q00045_ToTalkingIsland.java
@@ -74,7 +74,7 @@ public final class Q00045_ToTalkingIsland extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00046_OnceMoreInTheArmsOfTheMotherTree/Q00046_OnceMoreInTheArmsOfTheMotherTree.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00046_OnceMoreInTheArmsOfTheMotherTree/Q00046_OnceMoreInTheArmsOfTheMotherTree.java
index 2005608e1d5add471a2bbcc170e0ab34a1d03c81..500728fe4a2a252c10d6fe3e1395393ab0db6cbf 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00046_OnceMoreInTheArmsOfTheMotherTree/Q00046_OnceMoreInTheArmsOfTheMotherTree.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00046_OnceMoreInTheArmsOfTheMotherTree/Q00046_OnceMoreInTheArmsOfTheMotherTree.java
@@ -74,7 +74,7 @@ public final class Q00046_OnceMoreInTheArmsOfTheMotherTree extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00047_IntoTheDarkElvenForest/Q00047_IntoTheDarkElvenForest.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00047_IntoTheDarkElvenForest/Q00047_IntoTheDarkElvenForest.java
index e0ec006bc8fa9a0cb226c96f61092caebdf065cd..5c54b88be9440326372249bd86ff36b2a853c9f6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00047_IntoTheDarkElvenForest/Q00047_IntoTheDarkElvenForest.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00047_IntoTheDarkElvenForest/Q00047_IntoTheDarkElvenForest.java
@@ -74,7 +74,7 @@ public final class Q00047_IntoTheDarkElvenForest extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00048_ToTheImmortalPlateau/Q00048_ToTheImmortalPlateau.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00048_ToTheImmortalPlateau/Q00048_ToTheImmortalPlateau.java
index 64c080c7f1a8c4fca58d3eac112cd9b938bf28fa..af063328cc4a89f01cda6af39b00b4be6df074a7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00048_ToTheImmortalPlateau/Q00048_ToTheImmortalPlateau.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00048_ToTheImmortalPlateau/Q00048_ToTheImmortalPlateau.java
@@ -74,7 +74,7 @@ public final class Q00048_ToTheImmortalPlateau extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00049_TheRoadHome/Q00049_TheRoadHome.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00049_TheRoadHome/Q00049_TheRoadHome.java
index e5bf8b858543e11df61b116e608e53fe278290e7..63b8ba175b6f6ef555db20ac5228fa5745ba7057 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00049_TheRoadHome/Q00049_TheRoadHome.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00049_TheRoadHome/Q00049_TheRoadHome.java
@@ -74,7 +74,7 @@ public final class Q00049_TheRoadHome extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java
index 31be123c756daea711bf78a886c15f0d8220382b..7a6975ffcd2d83610eeb85265c0e7543f48d0890 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java
@@ -52,7 +52,7 @@ public class Q00050_LanoscosSpecialBait extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -86,7 +86,7 @@ public class Q00050_LanoscosSpecialBait extends Quest
 			return null;
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		if (st.getQuestItemsCount(ESSENCE_OF_WIND) < 100)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java
index eab808d6da791978ac51b836569c3d39bae66169..a13a13eb0d1f5ea420c3b448c25bf944c535690a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java
@@ -52,7 +52,7 @@ public class Q00051_OFullesSpecialBait extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -85,7 +85,7 @@ public class Q00051_OFullesSpecialBait extends Quest
 			return null;
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		if (st.getQuestItemsCount(LOST_BAIT) < 100)
 		{
 			float chance = 33 * Config.RATE_QUEST_DROP;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java
index 978042b3aa0ab14455d93d11cf3a242c3fcf9253..aecbf7963861d36370b0a1fc35f1f0de5a21f923 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java
@@ -52,7 +52,7 @@ public class Q00052_WilliesSpecialBait extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -85,7 +85,7 @@ public class Q00052_WilliesSpecialBait extends Quest
 			return null;
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		if (st.getQuestItemsCount(TARLK_EYE) < 100)
 		{
 			float chance = 33 * Config.RATE_QUEST_DROP;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java
index 511f497be49fb0d433d2bbd3eff22feb0050f635..35f7a73e330634ff149d2fd289492e2d37995ede 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java
@@ -57,7 +57,7 @@ public class Q00053_LinnaeusSpecialBait extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -94,7 +94,7 @@ public class Q00053_LinnaeusSpecialBait extends Quest
 			return null;
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		if (st.getQuestItemsCount(CRIMSON_DRAKE_HEART) < 100)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java
index 6d0b8b33c76c8f10b0adfefb494a146e5ebf7fd3..71e3eb496dbffd2b361941ba8cec5c7eaad4fad1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java
@@ -122,7 +122,7 @@ public class Q00073_SagaOfTheDuelist extends AbstractSagaQuest
 		if (npc.getId() == TUNATUN)
 		{
 			String htmltext = getNoQuestMsg(player);
-			QuestState st = player.getQuestState(getName());
+			QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isCond(3))
 			{
 				if (!st.hasQuestItems(TOPQUALITYMEAT))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java
index 93d688cec22692f597da1caa913549dd8386555e..87b326031e77c86ecc8ee1abc58661ac465007c4 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java
@@ -77,7 +77,7 @@ public class Q00101_SwordOfSolidarity extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -131,7 +131,7 @@ public class Q00101_SwordOfSolidarity extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(2) && (getRandom(5) == 0))
 		{
 			if (!st.hasQuestItems(BROKEN_BLADE_TOP))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00102_SeaOfSporesFever/Q00102_SeaOfSporesFever.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00102_SeaOfSporesFever/Q00102_SeaOfSporesFever.java
index b070fcbd13a230e433ed66c81593162a5e742209..4e55e0cf02c6bbf12fc3f5a30e3b79705b5ef131 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00102_SeaOfSporesFever/Q00102_SeaOfSporesFever.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00102_SeaOfSporesFever/Q00102_SeaOfSporesFever.java
@@ -89,7 +89,7 @@ public class Q00102_SeaOfSporesFever extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30284-02.htm"))
 		{
 			st.startQuest();
@@ -102,7 +102,7 @@ public class Q00102_SeaOfSporesFever extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(2) && (getRandom(10) < 3))
 		{
 			st.giveItems(DRYADS_TEAR, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00104_SpiritOfMirrors/Q00104_SpiritOfMirrors.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00104_SpiritOfMirrors/Q00104_SpiritOfMirrors.java
index 76f5dd593db7b161e329a8998c06146858cbba55..77eaaf25edd1a7e4706cf67493cc01282f0c260f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00104_SpiritOfMirrors/Q00104_SpiritOfMirrors.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00104_SpiritOfMirrors/Q00104_SpiritOfMirrors.java
@@ -83,7 +83,7 @@ public final class Q00104_SpiritOfMirrors extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30017-04.htm"))
 		{
 			st.startQuest();
@@ -96,7 +96,7 @@ public final class Q00104_SpiritOfMirrors extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (st.isCond(1) || st.isCond(2)) && (st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == GALLINTS_OAK_WAND) && !st.hasQuestItems(MONSTERS.get(npc.getId())))
 		{
 			st.takeItems(GALLINTS_OAK_WAND, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00105_SkirmishWithOrcs/Q00105_SkirmishWithOrcs.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00105_SkirmishWithOrcs/Q00105_SkirmishWithOrcs.java
index e91201194dc66859c295b95c1c06fcc26c177e76..6be880706ca4b023ddc39b41cbc97c90a6cdf26d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00105_SkirmishWithOrcs/Q00105_SkirmishWithOrcs.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00105_SkirmishWithOrcs/Q00105_SkirmishWithOrcs.java
@@ -89,7 +89,7 @@ public final class Q00105_SkirmishWithOrcs extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -119,7 +119,7 @@ public final class Q00105_SkirmishWithOrcs extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			switch (npc.getId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java
index d976527cfb81caeb05dbdadb3496f58af1911e78..223597bf6445a2fee9afcd4280649b6bf0a7d0b5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java
@@ -62,7 +62,7 @@ public final class Q00106_ForgottenTruth extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -92,7 +92,7 @@ public final class Q00106_ForgottenTruth extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(2) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			if ((getRandom(100) < 20) && st.hasQuestItems(ONYX_TALISMAN2))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00108_JumbleTumbleDiamondFuss/Q00108_JumbleTumbleDiamondFuss.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00108_JumbleTumbleDiamondFuss/Q00108_JumbleTumbleDiamondFuss.java
index 9e5d8acb4a7eb2fd022df8b73d4d609ac4fa217e..f89f3b103e255a6924020b65bf37df1f7a905fab 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00108_JumbleTumbleDiamondFuss/Q00108_JumbleTumbleDiamondFuss.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00108_JumbleTumbleDiamondFuss/Q00108_JumbleTumbleDiamondFuss.java
@@ -99,7 +99,7 @@ public final class Q00108_JumbleTumbleDiamondFuss extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -509,7 +509,7 @@ public final class Q00108_JumbleTumbleDiamondFuss extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			switch (npc.getId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00109_InSearchOfTheNest/Q00109_InSearchOfTheNest.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00109_InSearchOfTheNest/Q00109_InSearchOfTheNest.java
index 5e3d557a9387ab9e726991030a72cb8033d62c41..eeae7fd49d9868fa1aa0ad47ceb5bc7a7841a356 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00109_InSearchOfTheNest/Q00109_InSearchOfTheNest.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00109_InSearchOfTheNest/Q00109_InSearchOfTheNest.java
@@ -48,7 +48,7 @@ public class Q00109_InSearchOfTheNest extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00110_ToThePrimevalIsle/Q00110_ToThePrimevalIsle.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00110_ToThePrimevalIsle/Q00110_ToThePrimevalIsle.java
index a55e84a1c620962e0b072a5a034c319e557fc430..edfe7ba93a9256d0b343b99027320c93009777bc 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00110_ToThePrimevalIsle/Q00110_ToThePrimevalIsle.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00110_ToThePrimevalIsle/Q00110_ToThePrimevalIsle.java
@@ -47,7 +47,7 @@ public class Q00110_ToThePrimevalIsle extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00112_WalkOfFate/Q00112_WalkOfFate.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00112_WalkOfFate/Q00112_WalkOfFate.java
index 24b6747b4c8bbf66f3fc8fb1e2d0cd0e9c341f13..cd2b84d881c026a5fb00b7a2797c6c3049e95038 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00112_WalkOfFate/Q00112_WalkOfFate.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00112_WalkOfFate/Q00112_WalkOfFate.java
@@ -48,7 +48,7 @@ public class Q00112_WalkOfFate extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st == null) || (player.getLevel() < MIN_LEVEL))
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00113_StatusOfTheBeaconTower/Q00113_StatusOfTheBeaconTower.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00113_StatusOfTheBeaconTower/Q00113_StatusOfTheBeaconTower.java
index 9feeb7a2584844d519290ac00493d33ff22298ad..9d2c6960f635e6edb45f86bf8518a217f4a9501c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00113_StatusOfTheBeaconTower/Q00113_StatusOfTheBeaconTower.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00113_StatusOfTheBeaconTower/Q00113_StatusOfTheBeaconTower.java
@@ -49,7 +49,7 @@ public class Q00113_StatusOfTheBeaconTower extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java
index daaa758f050b6788cff4ac24b307375d275352f7..5a9b30f2f7ed4e02ca8167725107467909e59a71 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java
@@ -70,7 +70,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -325,7 +325,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(10) && (st.getInt("spawned") == 1))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00115_TheOtherSideOfTruth/Q00115_TheOtherSideOfTruth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00115_TheOtherSideOfTruth/Q00115_TheOtherSideOfTruth.java
index b8ce2705c308e41cb32e1a01585a832a7fe7a0ad..cf1550c655b47645f427f38db1e1b1713d3f2d70 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00115_TheOtherSideOfTruth/Q00115_TheOtherSideOfTruth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00115_TheOtherSideOfTruth/Q00115_TheOtherSideOfTruth.java
@@ -58,7 +58,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00119_LastImperialPrince/Q00119_LastImperialPrince.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00119_LastImperialPrince/Q00119_LastImperialPrince.java
index 84098d10e7e1c9182a45bfc7d5a21f0bb8c65fd9..627470cedb532d9839a1ee4939d26a04d12eb817 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00119_LastImperialPrince/Q00119_LastImperialPrince.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00119_LastImperialPrince/Q00119_LastImperialPrince.java
@@ -48,7 +48,7 @@ public class Q00119_LastImperialPrince extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00121_PavelTheGiant/Q00121_PavelTheGiant.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00121_PavelTheGiant/Q00121_PavelTheGiant.java
index 5699df1531c22c0d8bee2599f672a03e0adb3dd9..206badcff016f44043d8da6df10e40d54398c110 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00121_PavelTheGiant/Q00121_PavelTheGiant.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00121_PavelTheGiant/Q00121_PavelTheGiant.java
@@ -45,7 +45,7 @@ public class Q00121_PavelTheGiant extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00122_OminousNews/Q00122_OminousNews.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00122_OminousNews/Q00122_OminousNews.java
index d204ae1e40fad18e2900901f8927e4173ca764ec..52582710771c8df46f7c1bacabcfb07786711fec 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00122_OminousNews/Q00122_OminousNews.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00122_OminousNews/Q00122_OminousNews.java
@@ -45,7 +45,7 @@ public class Q00122_OminousNews extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00124_MeetingTheElroki/Q00124_MeetingTheElroki.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00124_MeetingTheElroki/Q00124_MeetingTheElroki.java
index cd71a47eeccd6d65e4ddbd051f7c6f41f13a15b8..8479951de63c6d4abf9ea3aee5d4896242105e05 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00124_MeetingTheElroki/Q00124_MeetingTheElroki.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00124_MeetingTheElroki/Q00124_MeetingTheElroki.java
@@ -50,7 +50,7 @@ public class Q00124_MeetingTheElroki extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java
index d3fb7f56ffcc0b9bfde4b2eaa81487f8f62bbeaa..c29cbb78b88664b1cd7fb9d4962056aef85189c8 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java
@@ -80,7 +80,7 @@ public class Q00125_TheNameOfEvil1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -254,7 +254,7 @@ public class Q00125_TheNameOfEvil1 extends Quest
 			return null;
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		int npcId = npc.getId();
 		if (ORNITHOMIMUS.containsKey(npcId))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java
index 0f4ad38a01b11dededa826bc522f89369b8c1dc1..afe8b7a6637c74ab16bd05703b8cd1071a18db8f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java
@@ -59,7 +59,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00128_PailakaSongOfIceAndFire/Q00128_PailakaSongOfIceAndFire.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00128_PailakaSongOfIceAndFire/Q00128_PailakaSongOfIceAndFire.java
index f322a203b4cfe75f23f6bcc1d0d2c0c621924e0f..1feafc0887d7742c052b3c6f91c7219ce79a4797 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00128_PailakaSongOfIceAndFire/Q00128_PailakaSongOfIceAndFire.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00128_PailakaSongOfIceAndFire/Q00128_PailakaSongOfIceAndFire.java
@@ -87,7 +87,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
 	public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = null;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -305,7 +305,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isStarted())
 		{
 			switch (npc.getId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00130_PathToHellbound/Q00130_PathToHellbound.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00130_PathToHellbound/Q00130_PathToHellbound.java
index b58f68c274acee6f2063a2d950a03691c24b78db..e8b5f2f176f75d3f3a9b8f03a8dbba18b3e9a595 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00130_PathToHellbound/Q00130_PathToHellbound.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00130_PathToHellbound/Q00130_PathToHellbound.java
@@ -51,7 +51,7 @@ public class Q00130_PathToHellbound extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00131_BirdInACage/Q00131_BirdInACage.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00131_BirdInACage/Q00131_BirdInACage.java
index 87a136a1780aaa56347c458c8c0ad950a8d45576..03ffacc0ead0917d752724125e99ce9ea0f78204 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00131_BirdInACage/Q00131_BirdInACage.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00131_BirdInACage/Q00131_BirdInACage.java
@@ -54,7 +54,7 @@ public class Q00131_BirdInACage extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java
index 68bdc72151a861bc5246a90f672dd4533c02b685..21cbd3888396433b68fb3e153a359e71f0edf9ca 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java
@@ -56,7 +56,7 @@ public final class Q00132_MatrasCuriosity extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -102,7 +102,7 @@ public final class Q00132_MatrasCuriosity extends Quest
 				pl = getRandomPartyMember(player, "rewarded_prince", "1");
 				if (pl != null)
 				{
-					final QuestState st = pl.getQuestState(getName());
+					final QuestState st = getQuestState(pl, false);
 					st.giveItems(BLUEPRINT_PRINCE, 1);
 					st.set("rewarded_prince", "2");
 					
@@ -120,7 +120,7 @@ public final class Q00132_MatrasCuriosity extends Quest
 				pl = getRandomPartyMember(player, "rewarded_ranku", "1");
 				if (pl != null)
 				{
-					final QuestState st = pl.getQuestState(getName());
+					final QuestState st = getQuestState(pl, false);
 					st.giveItems(BLUEPRINT_RANKU, 1);
 					st.set("rewarded_ranku", "2");
 					
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00133_ThatsBloodyHot/Q00133_ThatsBloodyHot.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00133_ThatsBloodyHot/Q00133_ThatsBloodyHot.java
index 6bc236dd89adf33261a2998259aa03fcddc8302a..8646cc0d44d3305ca9bd1e9291ff4c4f7804b9e6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00133_ThatsBloodyHot/Q00133_ThatsBloodyHot.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00133_ThatsBloodyHot/Q00133_ThatsBloodyHot.java
@@ -53,7 +53,7 @@ public class Q00133_ThatsBloodyHot extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00134_TempleMissionary/Q00134_TempleMissionary.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00134_TempleMissionary/Q00134_TempleMissionary.java
index 88f50740dab9c8517d61c314f6d69285f81d5582..9404e6126a7fd3e3e452d90ce3f0374bca340219 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00134_TempleMissionary/Q00134_TempleMissionary.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00134_TempleMissionary/Q00134_TempleMissionary.java
@@ -75,7 +75,7 @@ public class Q00134_TempleMissionary extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -126,7 +126,7 @@ public class Q00134_TempleMissionary extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if (npc.getId() == CRUMA_MARSHLANDS_TRAITOR)
 		{
 			st.giveItems(GIANTS_TECHNOLOGY_REPORT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00135_TempleExecutor/Q00135_TempleExecutor.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00135_TempleExecutor/Q00135_TempleExecutor.java
index 61fe36fee9bbf6658d783661691e6a2a8e72da22..cbeb71533cfbb2bd81b1813864e38e09adc07bea 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00135_TempleExecutor/Q00135_TempleExecutor.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00135_TempleExecutor/Q00135_TempleExecutor.java
@@ -73,7 +73,7 @@ public class Q00135_TempleExecutor extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -124,7 +124,7 @@ public class Q00135_TempleExecutor extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if ((getRandom(1000) < MOBS.get(npc.getId())))
 		{
 			if (st.getQuestItemsCount(STOLEN_CARGO) < ITEM_COUNT)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00136_MoreThanMeetsTheEye/Q00136_MoreThanMeetsTheEye.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00136_MoreThanMeetsTheEye/Q00136_MoreThanMeetsTheEye.java
index 406ac56ef3c7fa60ed5be48b31c69c836ced13e2..444c2512c812b1991449099e23892fb564979e49 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00136_MoreThanMeetsTheEye/Q00136_MoreThanMeetsTheEye.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00136_MoreThanMeetsTheEye/Q00136_MoreThanMeetsTheEye.java
@@ -89,7 +89,7 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -143,7 +143,7 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return super.onKill(npc, killer, isSummon);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00137_TempleChampionPart1/Q00137_TempleChampionPart1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00137_TempleChampionPart1/Q00137_TempleChampionPart1.java
index a398cc1d6187128feb2f5bf75ac23e7d362ede9f..b6d33a87932388f67f224004ca06a056b92710aa 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00137_TempleChampionPart1/Q00137_TempleChampionPart1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00137_TempleChampionPart1/Q00137_TempleChampionPart1.java
@@ -58,7 +58,7 @@ public class Q00137_TempleChampionPart1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -98,7 +98,7 @@ public class Q00137_TempleChampionPart1 extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isStarted() && st.isCond(2) && (st.getQuestItemsCount(FRAGMENT) < 30))
 		{
 			st.giveItems(FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00138_TempleChampionPart2/Q00138_TempleChampionPart2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00138_TempleChampionPart2/Q00138_TempleChampionPart2.java
index b660422674972f11d6b587fb3f2307813c0b88b4..3f148401f0824c97908719f066a884e00fdc3a86 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00138_TempleChampionPart2/Q00138_TempleChampionPart2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00138_TempleChampionPart2/Q00138_TempleChampionPart2.java
@@ -62,7 +62,7 @@ public class Q00138_TempleChampionPart2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -119,7 +119,7 @@ public class Q00138_TempleChampionPart2 extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isStarted() && st.isCond(4) && (st.getQuestItemsCount(RELICS_OF_THE_DARK_ELF_TRAINEE) < 10))
 		{
 			st.giveItems(RELICS_OF_THE_DARK_ELF_TRAINEE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00139_ShadowFoxPart1/Q00139_ShadowFoxPart1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00139_ShadowFoxPart1/Q00139_ShadowFoxPart1.java
index 0bd133e7d0492e2f882e93e3438df0c16ea5855e..1f27f8b9258c0ba4f1f299923a2035cede350bd3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00139_ShadowFoxPart1/Q00139_ShadowFoxPart1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00139_ShadowFoxPart1/Q00139_ShadowFoxPart1.java
@@ -63,7 +63,7 @@ public class Q00139_ShadowFoxPart1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -130,7 +130,7 @@ public class Q00139_ShadowFoxPart1 extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if (!st.isSet("talk") && (getRandom(100) < DROP_CHANCE))
 		{
 			int itemId = (getRandom(11) == 0) ? CHEST : FRAGMENT;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00140_ShadowFoxPart2/Q00140_ShadowFoxPart2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00140_ShadowFoxPart2/Q00140_ShadowFoxPart2.java
index e5b92386989561ed9f742b9f9b28ab4a1a084164..848056cc895e4422b85dcd31b7311a87b891e18a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00140_ShadowFoxPart2/Q00140_ShadowFoxPart2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00140_ShadowFoxPart2/Q00140_ShadowFoxPart2.java
@@ -71,7 +71,7 @@ public class Q00140_ShadowFoxPart2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -141,7 +141,7 @@ public class Q00140_ShadowFoxPart2 extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if (getRandom(100) < MOBS.get(npc.getId()))
 		{
 			st.giveItems(DARK_CRYSTAL, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00141_ShadowFoxPart3/Q00141_ShadowFoxPart3.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00141_ShadowFoxPart3/Q00141_ShadowFoxPart3.java
index 0f6faf40e6a55fab1b936995a7d866ce420290fe..13cd0761bf3ae105cfba33acbfbb3040e1847432 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00141_ShadowFoxPart3/Q00141_ShadowFoxPart3.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00141_ShadowFoxPart3/Q00141_ShadowFoxPart3.java
@@ -67,7 +67,7 @@ public class Q00141_ShadowFoxPart3 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -129,7 +129,7 @@ public class Q00141_ShadowFoxPart3 extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if ((getRandom(100) < MOBS.get(npc.getId())))
 		{
 			st.giveItems(PREDECESSORS_REPORT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00142_FallenAngelRequestOfDawn/Q00142_FallenAngelRequestOfDawn.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00142_FallenAngelRequestOfDawn/Q00142_FallenAngelRequestOfDawn.java
index 7ca530816fd85cce6fc0926376cdacc824f82e34..317bb76583269f050641380e7db9366b7781361f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00142_FallenAngelRequestOfDawn/Q00142_FallenAngelRequestOfDawn.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00142_FallenAngelRequestOfDawn/Q00142_FallenAngelRequestOfDawn.java
@@ -76,7 +76,7 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -151,7 +151,7 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
 			final L2PcInstance member = getRandomPartyMember(player, 4);
 			if (member != null)
 			{
-				st = member.getQuestState(getName());
+				st = getQuestState(member, false);
 				if (getRandom(1000) < MOBS.get(npc.getId()))
 				{
 					st.giveItems(PROPHECY_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00143_FallenAngelRequestOfDusk/Q00143_FallenAngelRequestOfDusk.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00143_FallenAngelRequestOfDusk/Q00143_FallenAngelRequestOfDusk.java
index 6bbc351dc9ac4309f764006588769697ba1e8cec..b10e7aa9f094ee6740bd8dd5520faea15865d195 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00143_FallenAngelRequestOfDusk/Q00143_FallenAngelRequestOfDusk.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00143_FallenAngelRequestOfDusk/Q00143_FallenAngelRequestOfDusk.java
@@ -56,7 +56,7 @@ public class Q00143_FallenAngelRequestOfDusk extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00146_TheZeroHour/Q00146_TheZeroHour.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00146_TheZeroHour/Q00146_TheZeroHour.java
index 403f928a30d40f453330e6871501034aaaa4b5d0..da67d8d5756078925efb66d10de77b53e33cb6ca 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00146_TheZeroHour/Q00146_TheZeroHour.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00146_TheZeroHour/Q00146_TheZeroHour.java
@@ -51,7 +51,7 @@ public class Q00146_TheZeroHour extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -70,7 +70,7 @@ public class Q00146_TheZeroHour extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			if (!st.hasQuestItems(FANG))
 			{
 				st.giveItems(FANG, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java
index 92dba41cd4f83a4f77a993a0b96ef4c1bb3b84d0..007c833a9b2807172fb8363e6447014091564529 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java
@@ -59,7 +59,7 @@ public class Q00147_PathtoBecominganEliteMercenary extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java
index b15af6b15d443893aeac60c6620391a034fd98a9..64a8f5bf8614c6e2642b3b2559d6c47423b48c70 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java
@@ -61,7 +61,7 @@ public class Q00148_PathtoBecominganExaltedMercenary extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00151_CureForFever/Q00151_CureForFever.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00151_CureForFever/Q00151_CureForFever.java
index 7fb2bea82824e0a1189712b073b28499cf9db83a..063060536bbe631d298c703cbc49e687f2d5d14d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00151_CureForFever/Q00151_CureForFever.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00151_CureForFever/Q00151_CureForFever.java
@@ -61,7 +61,7 @@ public class Q00151_CureForFever extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30050-03.htm"))
 		{
 			st.startQuest();
@@ -73,7 +73,7 @@ public class Q00151_CureForFever extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && (getRandom(5) == CHANCE))
 		{
 			st.giveItems(POISON_SAC, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00152_ShardsOfGolem/Q00152_ShardsOfGolem.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00152_ShardsOfGolem/Q00152_ShardsOfGolem.java
index 84bb60d0601641e56af297b8646c6749ef6ef7ff..916f8be1580f403e2464c37b2ac5cafe69325f28 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00152_ShardsOfGolem/Q00152_ShardsOfGolem.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00152_ShardsOfGolem/Q00152_ShardsOfGolem.java
@@ -57,7 +57,7 @@ public class Q00152_ShardsOfGolem extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -89,7 +89,7 @@ public class Q00152_ShardsOfGolem extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(2) && (getRandom(100) < 30) && (st.getQuestItemsCount(GOLEM_SHARD) < 5))
 		{
 			st.giveItems(GOLEM_SHARD, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00153_DeliverGoods/Q00153_DeliverGoods.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00153_DeliverGoods/Q00153_DeliverGoods.java
index 0f530e5d7c0b63247f9c6d6ee99e35c86b8fdcff..454f73277debf95a9068d2f64d8ed04c742edbe1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00153_DeliverGoods/Q00153_DeliverGoods.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00153_DeliverGoods/Q00153_DeliverGoods.java
@@ -60,7 +60,7 @@ public class Q00153_DeliverGoods extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (npc.getId() == ARNOLD_ID))
 		{
 			if (event.equalsIgnoreCase("30041-02.html"))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00155_FindSirWindawood/Q00155_FindSirWindawood.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00155_FindSirWindawood/Q00155_FindSirWindawood.java
index f437305f707bd1e46676b0d3811a891622b441b7..e280ae6dae18a1cd9a043e9f8859a0a52e91bb19 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00155_FindSirWindawood/Q00155_FindSirWindawood.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00155_FindSirWindawood/Q00155_FindSirWindawood.java
@@ -50,7 +50,7 @@ public class Q00155_FindSirWindawood extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30042-03.htm"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00156_MillenniumLove/Q00156_MillenniumLove.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00156_MillenniumLove/Q00156_MillenniumLove.java
index 650e9d57551e9f130b9ab809b390f7e32174486b..79693cde71758b18c3ba7088ae4abeec99a32891 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00156_MillenniumLove/Q00156_MillenniumLove.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00156_MillenniumLove/Q00156_MillenniumLove.java
@@ -51,7 +51,7 @@ public class Q00156_MillenniumLove extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00157_RecoverSmuggledGoods/Q00157_RecoverSmuggledGoods.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00157_RecoverSmuggledGoods/Q00157_RecoverSmuggledGoods.java
index 9d9c3d0d46ebbf39bf9e3f26c837d31ac55b6612..e36d02c01c9223b72fda76238fcf2d38172c103c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00157_RecoverSmuggledGoods/Q00157_RecoverSmuggledGoods.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00157_RecoverSmuggledGoods/Q00157_RecoverSmuggledGoods.java
@@ -53,7 +53,7 @@ public class Q00157_RecoverSmuggledGoods extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -78,7 +78,7 @@ public class Q00157_RecoverSmuggledGoods extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && (getRandom(10) < 4) && (st.getQuestItemsCount(ADAMANTITE_ORE) < 20))
 		{
 			st.giveItems(ADAMANTITE_ORE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00158_SeedOfEvil/Q00158_SeedOfEvil.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00158_SeedOfEvil/Q00158_SeedOfEvil.java
index a1e4f4a6c83a6cc09b3bd8b67381f84f35c6ff53..8f0322211a8295713a6cf58db3190206d51aac11 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00158_SeedOfEvil/Q00158_SeedOfEvil.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00158_SeedOfEvil/Q00158_SeedOfEvil.java
@@ -56,7 +56,7 @@ public class Q00158_SeedOfEvil extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30031-03.htm"))
 		{
 			st.startQuest();
@@ -79,7 +79,7 @@ public class Q00158_SeedOfEvil extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && !st.hasQuestItems(CLAY_TABLET))
 		{
 			st.giveItems(CLAY_TABLET, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00159_ProtectTheWaterSource/Q00159_ProtectTheWaterSource.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00159_ProtectTheWaterSource/Q00159_ProtectTheWaterSource.java
index 1b856b45707b642511d379acf7f4e209655138fc..4bc5b88199c04fb511a247053922ef0234a763d8 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00159_ProtectTheWaterSource/Q00159_ProtectTheWaterSource.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00159_ProtectTheWaterSource/Q00159_ProtectTheWaterSource.java
@@ -55,7 +55,7 @@ public class Q00159_ProtectTheWaterSource extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30154-04.htm"))
 		{
 			st.startQuest();
@@ -68,7 +68,7 @@ public class Q00159_ProtectTheWaterSource extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null))
 		{
 			switch (st.getCond())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00161_FruitOfTheMotherTree/Q00161_FruitOfTheMotherTree.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00161_FruitOfTheMotherTree/Q00161_FruitOfTheMotherTree.java
index e578531c2c7e0c420c5a8581ce1d45da46409ba6..2d85fa5a4a6d91cce4451963982b084c61aad88e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00161_FruitOfTheMotherTree/Q00161_FruitOfTheMotherTree.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00161_FruitOfTheMotherTree/Q00161_FruitOfTheMotherTree.java
@@ -51,7 +51,7 @@ public class Q00161_FruitOfTheMotherTree extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00162_CurseOfTheUndergroundFortress/Q00162_CurseOfTheUndergroundFortress.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00162_CurseOfTheUndergroundFortress/Q00162_CurseOfTheUndergroundFortress.java
index 1e6163aea5dcd139626cb0533a3f956bffe61670..0d0d288d241334c2cea518cc195ac7dbbc4cfe9c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00162_CurseOfTheUndergroundFortress/Q00162_CurseOfTheUndergroundFortress.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00162_CurseOfTheUndergroundFortress/Q00162_CurseOfTheUndergroundFortress.java
@@ -70,7 +70,7 @@ public class Q00162_CurseOfTheUndergroundFortress extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -95,7 +95,7 @@ public class Q00162_CurseOfTheUndergroundFortress extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			if (MONSTERS_SKULLS.containsKey(npc.getId()))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00163_LegacyOfThePoet/Q00163_LegacyOfThePoet.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00163_LegacyOfThePoet/Q00163_LegacyOfThePoet.java
index 23b9f02f74d4308c83a161b34686c9543b5354db..19c30ceff4050721f6e4666001cf942210069696 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00163_LegacyOfThePoet/Q00163_LegacyOfThePoet.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00163_LegacyOfThePoet/Q00163_LegacyOfThePoet.java
@@ -60,7 +60,7 @@ public class Q00163_LegacyOfThePoet extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -86,7 +86,7 @@ public class Q00163_LegacyOfThePoet extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			if ((getRandom(10) == 0) && !st.hasQuestItems(RUMIELS_1ST_POEM))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00164_BloodFiend/Q00164_BloodFiend.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00164_BloodFiend/Q00164_BloodFiend.java
index 068d120632386e3a184c92be0a1c9b54aa888e61..78908ae4ab9464e7f3b0a9a377c08676f7cbf59c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00164_BloodFiend/Q00164_BloodFiend.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00164_BloodFiend/Q00164_BloodFiend.java
@@ -55,7 +55,7 @@ public class Q00164_BloodFiend extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30149-04.htm"))
 		{
 			st.startQuest();
@@ -67,7 +67,7 @@ public class Q00164_BloodFiend extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			npc.broadcastPacket(new NpcSay(npc, Say2.ALL, NpcStringId.I_HAVE_FULFILLED_MY_CONTRACT_WITH_TRADER_CREAMEES));
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00165_ShilensHunt/Q00165_ShilensHunt.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00165_ShilensHunt/Q00165_ShilensHunt.java
index ede24427675c3b57999b2f53523efb6862b3c331..8e20a809eeceb0a3f6f244ae706709a3567e52f6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00165_ShilensHunt/Q00165_ShilensHunt.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00165_ShilensHunt/Q00165_ShilensHunt.java
@@ -65,7 +65,7 @@ public class Q00165_ShilensHunt extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30348-03.htm"))
 		{
 			st.startQuest();
@@ -77,7 +77,7 @@ public class Q00165_ShilensHunt extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && (getRandom(3) < MONSTERS.get(npc.getId())))
 		{
 			st.giveItems(DARK_BEZOAR, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00166_MassOfDarkness/Q00166_MassOfDarkness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00166_MassOfDarkness/Q00166_MassOfDarkness.java
index 142849e4f922f4371ba2a31d44e8934dcaa1a54c..b57b835765bf840f79dc52ed9565ad2104de5fac 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00166_MassOfDarkness/Q00166_MassOfDarkness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00166_MassOfDarkness/Q00166_MassOfDarkness.java
@@ -66,7 +66,7 @@ public class Q00166_MassOfDarkness extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30130-03.htm"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00167_DwarvenKinship/Q00167_DwarvenKinship.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00167_DwarvenKinship/Q00167_DwarvenKinship.java
index 4171546f8b9c4a7c45d1603cebe48c11496f63f1..8cea87bc843b5915a47139357d1d98065c3841a4 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00167_DwarvenKinship/Q00167_DwarvenKinship.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00167_DwarvenKinship/Q00167_DwarvenKinship.java
@@ -51,7 +51,7 @@ public class Q00167_DwarvenKinship extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00168_DeliverSupplies/Q00168_DeliverSupplies.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00168_DeliverSupplies/Q00168_DeliverSupplies.java
index 4aa81cebe6e335d68bc3107bf54d36fb21b15fc7..0a0fcc3afe624282bb021c2e2af234906205141b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00168_DeliverSupplies/Q00168_DeliverSupplies.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00168_DeliverSupplies/Q00168_DeliverSupplies.java
@@ -65,7 +65,7 @@ public class Q00168_DeliverSupplies extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30349-03.htm"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00169_OffspringOfNightmares/Q00169_OffspringOfNightmares.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00169_OffspringOfNightmares/Q00169_OffspringOfNightmares.java
index 3b442e0ea83e42c6eb010fd38b2804f628113a5c..1ca17c3e1fa322e8941086a0aec31378083e812d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00169_OffspringOfNightmares/Q00169_OffspringOfNightmares.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00169_OffspringOfNightmares/Q00169_OffspringOfNightmares.java
@@ -57,7 +57,7 @@ public class Q00169_OffspringOfNightmares extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -90,7 +90,7 @@ public class Q00169_OffspringOfNightmares extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isStarted())
 		{
 			if ((getRandom(10) > 7) && !st.hasQuestItems(PERFECT_SKULL))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00170_DangerousSeduction/Q00170_DangerousSeduction.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00170_DangerousSeduction/Q00170_DangerousSeduction.java
index 3365067c957732f7a120f0a505f4bf666a9c9147..a691d8d29f23f82840e3c46b49deab78e2debe79 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00170_DangerousSeduction/Q00170_DangerousSeduction.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00170_DangerousSeduction/Q00170_DangerousSeduction.java
@@ -59,7 +59,7 @@ public class Q00170_DangerousSeduction extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -76,7 +76,7 @@ public class Q00170_DangerousSeduction extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.setCond(2, true);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00172_NewHorizons/Q00172_NewHorizons.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00172_NewHorizons/Q00172_NewHorizons.java
index f88190631cca5a417c243b3881f6eed6cecb8bdd..b5aa6341ec535932a82d57dbf191810ecd9a1ded 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00172_NewHorizons/Q00172_NewHorizons.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00172_NewHorizons/Q00172_NewHorizons.java
@@ -52,7 +52,7 @@ public class Q00172_NewHorizons extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00173_ToTheIsleOfSouls/Q00173_ToTheIsleOfSouls.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00173_ToTheIsleOfSouls/Q00173_ToTheIsleOfSouls.java
index 0bcf0ab78729fe2272f86c6b2ef75b8695711665..e0e74e313488e4ef661de38268570b498d9fde76 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00173_ToTheIsleOfSouls/Q00173_ToTheIsleOfSouls.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00173_ToTheIsleOfSouls/Q00173_ToTheIsleOfSouls.java
@@ -55,7 +55,7 @@ public class Q00173_ToTheIsleOfSouls extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00174_SupplyCheck/Q00174_SupplyCheck.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00174_SupplyCheck/Q00174_SupplyCheck.java
index a8c2658094872132cd6c425792bd7448579865fa..5d982cbf62d3570c1542f85f5f859f08d36b5033 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00174_SupplyCheck/Q00174_SupplyCheck.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00174_SupplyCheck/Q00174_SupplyCheck.java
@@ -63,7 +63,7 @@ public class Q00174_SupplyCheck extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java
index db76628dac0108dd6b610ac69ff5d3eaaf92846b..e1b4b960ec900aacccf9879ba09059eb874e9be7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java
@@ -48,7 +48,7 @@ public class Q00176_StepsForHonor extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("36479-04.html"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00179_IntoTheLargeCavern/Q00179_IntoTheLargeCavern.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00179_IntoTheLargeCavern/Q00179_IntoTheLargeCavern.java
index ceef8ce6049f2f70436114bd34c68c976c5074f8..1316f6e9e90d1035b7531c53d94e79810b7e592a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00179_IntoTheLargeCavern/Q00179_IntoTheLargeCavern.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00179_IntoTheLargeCavern/Q00179_IntoTheLargeCavern.java
@@ -47,7 +47,7 @@ public class Q00179_IntoTheLargeCavern extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00182_NewRecruits/Q00182_NewRecruits.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00182_NewRecruits/Q00182_NewRecruits.java
index 8eaea01e3ed60894e15b895e70af8e93db73d2d7..c21a94d10449588f749609e67e727efe869ce66f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00182_NewRecruits/Q00182_NewRecruits.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00182_NewRecruits/Q00182_NewRecruits.java
@@ -47,7 +47,7 @@ public class Q00182_NewRecruits extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00183_RelicExploration/Q00183_RelicExploration.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00183_RelicExploration/Q00183_RelicExploration.java
index 715a82aaf522de2354ec1aaf0d14d83fadca5a13..55a0235607cfcb41883b52dbac4534a73dffd124 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00183_RelicExploration/Q00183_RelicExploration.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00183_RelicExploration/Q00183_RelicExploration.java
@@ -46,7 +46,7 @@ public final class Q00183_RelicExploration extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00186_ContractExecution/Q00186_ContractExecution.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00186_ContractExecution/Q00186_ContractExecution.java
index 505c1a2e71066d0da4b9257bc85064df648187b5..11901646fae767ce180077117cb82f27ce478b0f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00186_ContractExecution/Q00186_ContractExecution.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00186_ContractExecution/Q00186_ContractExecution.java
@@ -66,7 +66,7 @@ public final class Q00186_ContractExecution extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -137,7 +137,7 @@ public final class Q00186_ContractExecution extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(2) && Util.checkIfInRange(1500, npc, killer, false))
 		{
 			if (!st.hasQuestItems(LETO_LIZARDMAN_ACCESSORY))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00187_NikolasHeart/Q00187_NikolasHeart.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00187_NikolasHeart/Q00187_NikolasHeart.java
index 707f46783ed9adae3f01602d38cbceb4b80e3255..a30af4639c11fa00ffdfe936d8bc065953fc97af 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00187_NikolasHeart/Q00187_NikolasHeart.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00187_NikolasHeart/Q00187_NikolasHeart.java
@@ -52,7 +52,7 @@ public final class Q00187_NikolasHeart extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00188_SealRemoval/Q00188_SealRemoval.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00188_SealRemoval/Q00188_SealRemoval.java
index e71d658bbe26e18dc7e002ff0c49ae0d324f40e0..a5b3e1c3573857f3ab8fc3feb165b5933791bafa 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00188_SealRemoval/Q00188_SealRemoval.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00188_SealRemoval/Q00188_SealRemoval.java
@@ -55,7 +55,7 @@ public final class Q00188_SealRemoval extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00189_ContractCompletion/Q00189_ContractCompletion.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00189_ContractCompletion/Q00189_ContractCompletion.java
index aea7f3c631fbad098665a8793c14c930bd002e19..f379238817ab9259e46a8e0f9dce577622733b0e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00189_ContractCompletion/Q00189_ContractCompletion.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00189_ContractCompletion/Q00189_ContractCompletion.java
@@ -54,7 +54,7 @@ public final class Q00189_ContractCompletion extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00190_LostDream/Q00190_LostDream.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00190_LostDream/Q00190_LostDream.java
index 7180781b0eb21695001d6ec57faa339b1d64b2bf..a77f2e78d9d59af1c30fcb57bfad3be6e0475ba9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00190_LostDream/Q00190_LostDream.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00190_LostDream/Q00190_LostDream.java
@@ -51,7 +51,7 @@ public final class Q00190_LostDream extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00191_VainConclusion/Q00191_VainConclusion.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00191_VainConclusion/Q00191_VainConclusion.java
index e99b1cf3744cc40803a51a4ee5204846d973437f..5156cd376c8c5471c87adb962d7adf06fd9bbcd3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00191_VainConclusion/Q00191_VainConclusion.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00191_VainConclusion/Q00191_VainConclusion.java
@@ -54,7 +54,7 @@ public final class Q00191_VainConclusion extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00235_MimirsElixir/Q00235_MimirsElixir.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00235_MimirsElixir/Q00235_MimirsElixir.java
index f93062a4b836158b7c94379d3e8e7f9af4a9f4d8..662a92a6d89dc60554e38ac7d1b59f735ab87191 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00235_MimirsElixir/Q00235_MimirsElixir.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00235_MimirsElixir/Q00235_MimirsElixir.java
@@ -74,7 +74,7 @@ public final class Q00235_MimirsElixir extends Quest
 	@Override
 	public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
 	{
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		return ((st != null) && (st.isMemoState(3) || st.isMemoState(6)));
 	}
 	
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00237_WindsOfChange/Q00237_WindsOfChange.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00237_WindsOfChange/Q00237_WindsOfChange.java
index 7b481a30222315f57ae5135da13c563698a473f8..cdf4d74352f4ad74104a306f7d197455a5e4f242 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00237_WindsOfChange/Q00237_WindsOfChange.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00237_WindsOfChange/Q00237_WindsOfChange.java
@@ -61,7 +61,7 @@ public class Q00237_WindsOfChange extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00238_SuccessFailureOfBusiness/Q00238_SuccessFailureOfBusiness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00238_SuccessFailureOfBusiness/Q00238_SuccessFailureOfBusiness.java
index 57473cb429f5fd5bf67a0a1e17edb0486a83268e..1fa191a95b2e151752eabda8997eca9c2032ed9b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00238_SuccessFailureOfBusiness/Q00238_SuccessFailureOfBusiness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00238_SuccessFailureOfBusiness/Q00238_SuccessFailureOfBusiness.java
@@ -63,7 +63,7 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -98,7 +98,7 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
 			final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 			if (partyMember != null)
 			{
-				final QuestState st = partyMember.getQuestState(getName());
+				final QuestState st = getQuestState(partyMember, false);
 				if (st.getQuestItemsCount(BROKEN_PIECE_OF_MAGIC_FORCE) < BROKEN_PIECE_OF_MAGIC_FORCE_NEEDED)
 				{
 					st.giveItems(BROKEN_PIECE_OF_MAGIC_FORCE, 1);
@@ -118,7 +118,7 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
 			final L2PcInstance partyMember = getRandomPartyMember(killer, 3);
 			if ((partyMember != null) && (getRandom(100) < CHANCE_FOR_FRAGMENT))
 			{
-				final QuestState st = partyMember.getQuestState(getName());
+				final QuestState st = getQuestState(partyMember, false);
 				if (st.getQuestItemsCount(GUARDIAN_SPIRIT_FRAGMENT) < GUARDIAN_SPIRIT_FRAGMENT_NEEDED)
 				{
 					st.giveItems(GUARDIAN_SPIRIT_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00239_WontYouJoinUs/Q00239_WontYouJoinUs.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00239_WontYouJoinUs/Q00239_WontYouJoinUs.java
index ab5471d11e729e3a20ea1d26c614d9076d47990f..ae935e3b6df39891899fd53b8bdd2ffeb657f898 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00239_WontYouJoinUs/Q00239_WontYouJoinUs.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00239_WontYouJoinUs/Q00239_WontYouJoinUs.java
@@ -63,7 +63,7 @@ public class Q00239_WontYouJoinUs extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -98,7 +98,7 @@ public class Q00239_WontYouJoinUs extends Quest
 			final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 			if (partyMember != null)
 			{
-				final QuestState st = partyMember.getQuestState(getName());
+				final QuestState st = getQuestState(partyMember, false);
 				if (st.getQuestItemsCount(DESTROYED_MACHINE_PIECE) < DESTROYED_MACHINE_PIECE_NEEDED)
 				{
 					st.giveItems(DESTROYED_MACHINE_PIECE, 1);
@@ -118,7 +118,7 @@ public class Q00239_WontYouJoinUs extends Quest
 			final L2PcInstance partyMember = getRandomPartyMember(killer, 3);
 			if ((partyMember != null) && (getRandom(100) < CHANCE_FOR_FRAGMENT))
 			{
-				final QuestState st = partyMember.getQuestState(getName());
+				final QuestState st = getQuestState(partyMember, false);
 				if (st.getQuestItemsCount(ENCHANTED_GOLEM_FRAGMENT) < ENCHANTED_GOLEM_FRAGMENT_NEEDED)
 				{
 					st.giveItems(ENCHANTED_GOLEM_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00240_ImTheOnlyOneYouCanTrust/Q00240_ImTheOnlyOneYouCanTrust.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00240_ImTheOnlyOneYouCanTrust/Q00240_ImTheOnlyOneYouCanTrust.java
index 19a4cf177ba3d8fc7aa3eb7df47c569a6f0f14ff..51f8927d83ebd72a32eb8fd529bbf430e721d064 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00240_ImTheOnlyOneYouCanTrust/Q00240_ImTheOnlyOneYouCanTrust.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00240_ImTheOnlyOneYouCanTrust/Q00240_ImTheOnlyOneYouCanTrust.java
@@ -69,7 +69,7 @@ public class Q00240_ImTheOnlyOneYouCanTrust extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -91,7 +91,7 @@ public class Q00240_ImTheOnlyOneYouCanTrust extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		st.giveItems(STAKATO_FANG, 1);
 		if (st.getQuestItemsCount(STAKATO_FANG) >= 25)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00241_PossessorOfAPreciousSoul1/Q00241_PossessorOfAPreciousSoul1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00241_PossessorOfAPreciousSoul1/Q00241_PossessorOfAPreciousSoul1.java
index a5d0b52afcc6e11c5b69dfc165b4aa16e2f91a15..a32ccea61339758a7495debabb1bf45de7c3bd94 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00241_PossessorOfAPreciousSoul1/Q00241_PossessorOfAPreciousSoul1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00241_PossessorOfAPreciousSoul1/Q00241_PossessorOfAPreciousSoul1.java
@@ -74,7 +74,7 @@ public class Q00241_PossessorOfAPreciousSoul1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -208,7 +208,7 @@ public class Q00241_PossessorOfAPreciousSoul1 extends Quest
 					return null;
 				}
 				
-				st = partyMember.getQuestState(getName());
+				st = getQuestState(partyMember, false);
 				st.giveItems(LEGEND_OF_SEVENTEEN, 1);
 				st.setCond(4, true);
 				break;
@@ -221,7 +221,7 @@ public class Q00241_PossessorOfAPreciousSoul1 extends Quest
 				{
 					return null;
 				}
-				st = partyMember.getQuestState(getName());
+				st = getQuestState(partyMember, false);
 				if ((MALRUK_SUCCUBUS_CLAW_CHANCE >= getRandom(100)) && (st.getQuestItemsCount(MALRUK_SUCCUBUS_CLAW) < 10))
 				{
 					st.giveItems(MALRUK_SUCCUBUS_CLAW, 1);
@@ -241,7 +241,7 @@ public class Q00241_PossessorOfAPreciousSoul1 extends Quest
 				{
 					return null;
 				}
-				st = partyMember.getQuestState(getName());
+				st = getQuestState(partyMember, false);
 				if ((CRIMSON_MOSS_CHANCE >= getRandom(100)) && (st.getQuestItemsCount(CRIMSON_MOSS) < 5))
 				{
 					st.giveItems(CRIMSON_MOSS, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00242_PossessorOfAPreciousSoul2/Q00242_PossessorOfAPreciousSoul2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00242_PossessorOfAPreciousSoul2/Q00242_PossessorOfAPreciousSoul2.java
index 4faf49f27aa6dfbdf32f2e6741e9bbcb05f4861c..5698d77032aebbdd3ccc9f5cd6009cc7d710430d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00242_PossessorOfAPreciousSoul2/Q00242_PossessorOfAPreciousSoul2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00242_PossessorOfAPreciousSoul2/Q00242_PossessorOfAPreciousSoul2.java
@@ -68,7 +68,7 @@ public class Q00242_PossessorOfAPreciousSoul2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -147,7 +147,7 @@ public class Q00242_PossessorOfAPreciousSoul2 extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		if (st.isCond(9) && (st.getQuestItemsCount(ORB_OF_BINDING) < 4))
 		{
 			st.giveItems(ORB_OF_BINDING, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00246_PossessorOfAPreciousSoul3/Q00246_PossessorOfAPreciousSoul3.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00246_PossessorOfAPreciousSoul3/Q00246_PossessorOfAPreciousSoul3.java
index 88205a9c5788a7492ee3dc14406e3883595d1fc2..58b7b0827ee375d8b77278a75af6b0656ee459dc 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00246_PossessorOfAPreciousSoul3/Q00246_PossessorOfAPreciousSoul3.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00246_PossessorOfAPreciousSoul3/Q00246_PossessorOfAPreciousSoul3.java
@@ -76,7 +76,7 @@ public class Q00246_PossessorOfAPreciousSoul3 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -148,7 +148,7 @@ public class Q00246_PossessorOfAPreciousSoul3 extends Quest
 				partyMember = getRandomPartyMember(player, "awaitsWaterbinder", "1");
 				if (partyMember != null)
 				{
-					st = partyMember.getQuestState(getName());
+					st = getQuestState(partyMember, false);
 					final int chance = getRandom(100);
 					if (st.isCond(2) && !st.hasQuestItems(WATERBINDER))
 					{
@@ -173,7 +173,7 @@ public class Q00246_PossessorOfAPreciousSoul3 extends Quest
 				partyMember = getRandomPartyMember(player, "awaitsEvergreen", "1");
 				if (partyMember != null)
 				{
-					st = partyMember.getQuestState(getName());
+					st = getQuestState(partyMember, false);
 					final long chance = getRandom(100);
 					if (st.isCond(2) && !st.hasQuestItems(EVERGREEN))
 					{
@@ -199,7 +199,7 @@ public class Q00246_PossessorOfAPreciousSoul3 extends Quest
 				{
 					for (L2PcInstance member : player.getParty().getMembers())
 					{
-						pst = member.getQuestState(getName());
+						pst = getQuestState(member, false);
 						if (pst != null)
 						{
 							if (pst.isCond(4) && !pst.hasQuestItems(RAIN_SONG))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00247_PossessorOfAPreciousSoul4/Q00247_PossessorOfAPreciousSoul4.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00247_PossessorOfAPreciousSoul4/Q00247_PossessorOfAPreciousSoul4.java
index 115dc6b0b3c82baec5a672ad8df854d5422c8166..cbae84d7f1f01891e64c55f3efbf4981abbfb9a9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00247_PossessorOfAPreciousSoul4/Q00247_PossessorOfAPreciousSoul4.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00247_PossessorOfAPreciousSoul4/Q00247_PossessorOfAPreciousSoul4.java
@@ -57,7 +57,7 @@ public class Q00247_PossessorOfAPreciousSoul4 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java
index 574197c3077869def89af92d64f92d9d03da8dd2..b7d70a3eab50b2c02c7734f054a3ce20b66e584e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java
@@ -46,7 +46,7 @@ public class Q00249_PoisonedPlainsOfTheLizardmen extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java
index 674be6c11d048fcd825d24a4fe6207103fd68307..981b0bdf82c7eac1e0412f6f1ee1928870a2f997 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java
@@ -68,7 +68,7 @@ public class Q00250_WatchWhatYouEat extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -98,12 +98,6 @@ public class Q00250_WatchWhatYouEat extends Quest
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			newQuestState(player);
-		}
-		
 		if (npc.getId() == SALLY)
 		{
 			return "32743-20.html";
@@ -115,7 +109,7 @@ public class Q00250_WatchWhatYouEat extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java
index f75f55c6c40a9bd18305edd75c0030c46bdcc2e8..d90f08749f10b787b9a6512918dafd58723a75b6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java
@@ -65,7 +65,7 @@ public class Q00251_NoSecrets extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -81,7 +81,7 @@ public class Q00251_NoSecrets extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isStarted() && st.isCond(1))
 		{
 			final int npcId = npc.getId();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00254_LegendaryTales/Q00254_LegendaryTales.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00254_LegendaryTales/Q00254_LegendaryTales.java
index 17537f737b8ead31919c9d8344bd0dbb6df1554a..6100367f9e382cbd15985448c3dc60f8288407b2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00254_LegendaryTales/Q00254_LegendaryTales.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00254_LegendaryTales/Q00254_LegendaryTales.java
@@ -138,7 +138,7 @@ public class Q00254_LegendaryTales extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = getNoQuestMsg(player);
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00257_TheGuardIsBusy/Q00257_TheGuardIsBusy.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00257_TheGuardIsBusy/Q00257_TheGuardIsBusy.java
index a27ecf61e34383bd6438973cd9aaa47cc5960849..b7ea7243381e519c2cb38eb1c7504c0cf8e49549 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00257_TheGuardIsBusy/Q00257_TheGuardIsBusy.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00257_TheGuardIsBusy/Q00257_TheGuardIsBusy.java
@@ -94,7 +94,7 @@ public final class Q00257_TheGuardIsBusy extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -128,7 +128,7 @@ public final class Q00257_TheGuardIsBusy extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return super.onKill(npc, killer, isSummon);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00258_BringWolfPelts/Q00258_BringWolfPelts.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00258_BringWolfPelts/Q00258_BringWolfPelts.java
index a7085fd54a75ea3cba5b780c3181dd97ff55ac7f..48dbaf07a5b63b6b26f3d8c625bea7f6c1424596 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00258_BringWolfPelts/Q00258_BringWolfPelts.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00258_BringWolfPelts/Q00258_BringWolfPelts.java
@@ -70,7 +70,7 @@ public final class Q00258_BringWolfPelts extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30001-03.html"))
 		{
 			st.startQuest();
@@ -82,7 +82,7 @@ public final class Q00258_BringWolfPelts extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.giveItems(WOLF_PELT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00259_RequestFromTheFarmOwner/Q00259_RequestFromTheFarmOwner.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00259_RequestFromTheFarmOwner/Q00259_RequestFromTheFarmOwner.java
index e9b730e8eff906267a7a1fd0099817aeaa97d598..82d24c44b0cd390048a46f9b9c9d75187fd14022 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00259_RequestFromTheFarmOwner/Q00259_RequestFromTheFarmOwner.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00259_RequestFromTheFarmOwner/Q00259_RequestFromTheFarmOwner.java
@@ -73,7 +73,7 @@ public final class Q00259_RequestFromTheFarmOwner extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -127,7 +127,7 @@ public final class Q00259_RequestFromTheFarmOwner extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st != null)
 		{
 			st.giveItems(SPIDER_SKIN, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00260_OrcHunting/Q00260_OrcHunting.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00260_OrcHunting/Q00260_OrcHunting.java
index d8594062029a3ccf9a0c8ad0d335ccff751d4c2f..a7154736ddf6d356bc0773d617b4aed6506cb736 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00260_OrcHunting/Q00260_OrcHunting.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00260_OrcHunting/Q00260_OrcHunting.java
@@ -68,7 +68,7 @@ public final class Q00260_OrcHunting extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -101,7 +101,7 @@ public final class Q00260_OrcHunting extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(10) > 4))
 		{
 			st.giveItems(MONSTERS.get(npc.getId()), 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00261_CollectorsDream/Q00261_CollectorsDream.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00261_CollectorsDream/Q00261_CollectorsDream.java
index 25991e332818c3070e329172e0b5fb5854eabf1d..7baf396556e54093d0a66953b3669cb616899d3f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00261_CollectorsDream/Q00261_CollectorsDream.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00261_CollectorsDream/Q00261_CollectorsDream.java
@@ -63,7 +63,7 @@ public final class Q00261_CollectorsDream extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30222-03.htm"))
 		{
 			st.startQuest();
@@ -75,7 +75,7 @@ public final class Q00261_CollectorsDream extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			if (st.giveItemRandomly(SPIDER_LEG, 1, MAX_LEG_COUNT, 1, true))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java
index 4eadabcf3a837c58a33de6f8090113bc30fcfcb3..00da68af58dda4aeaff7f4d02aed0143c8e710c7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java
@@ -63,7 +63,7 @@ public final class Q00262_TradeWithTheIvoryTower extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30137-03.htm"))
 		{
 			st.startQuest();
@@ -81,7 +81,7 @@ public final class Q00262_TradeWithTheIvoryTower extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		float chance = (MOBS_SAC.get(npc.getId()) * Config.RATE_QUEST_DROP);
 		if (getRandom(10) < chance)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00263_OrcSubjugation/Q00263_OrcSubjugation.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00263_OrcSubjugation/Q00263_OrcSubjugation.java
index 626eb79f61af6687f479c919f54e97b9d57ad151..40c6f9821004f7fba84ce22fb0eb0e87f278c048 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00263_OrcSubjugation/Q00263_OrcSubjugation.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00263_OrcSubjugation/Q00263_OrcSubjugation.java
@@ -64,7 +64,7 @@ public final class Q00263_OrcSubjugation extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -97,7 +97,7 @@ public final class Q00263_OrcSubjugation extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(10) > 4))
 		{
 			st.giveItems(MONSTERS.get(npc.getId()), 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00264_KeenClaws/Q00264_KeenClaws.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00264_KeenClaws/Q00264_KeenClaws.java
index e01e13e9880ef250ae7e62e3caebdcb8f5316bf5..bab2243f296997b3bc08b6fd78bb0b2e52289511 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00264_KeenClaws/Q00264_KeenClaws.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00264_KeenClaws/Q00264_KeenClaws.java
@@ -74,7 +74,7 @@ public final class Q00264_KeenClaws extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30136-03.htm"))
 		{
 			st.startQuest();
@@ -86,7 +86,7 @@ public final class Q00264_KeenClaws extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			final int random = getRandom(100);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00265_BondsOfSlavery/Q00265_BondsOfSlavery.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00265_BondsOfSlavery/Q00265_BondsOfSlavery.java
index 30b9d646d10982d4f84c64ea614e06289294967f..d0b207ca20318b88c29cc99066d630d6a62dda34 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00265_BondsOfSlavery/Q00265_BondsOfSlavery.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00265_BondsOfSlavery/Q00265_BondsOfSlavery.java
@@ -63,7 +63,7 @@ public final class Q00265_BondsOfSlavery extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -96,7 +96,7 @@ public final class Q00265_BondsOfSlavery extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(10) < MONSTERS.get(npc.getId())))
 		{
 			st.giveItems(IMP_SHACKLES, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00266_PleasOfPixies/Q00266_PleasOfPixies.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00266_PleasOfPixies/Q00266_PleasOfPixies.java
index a50968c8b0d56bbce95f555e9ee79b7400aad1f4..71e3cbb164cacd64d7d0d90a19510a479bccc5b5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00266_PleasOfPixies/Q00266_PleasOfPixies.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00266_PleasOfPixies/Q00266_PleasOfPixies.java
@@ -75,7 +75,7 @@ public final class Q00266_PleasOfPixies extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("31852-04.htm"))
 		{
 			st.startQuest();
@@ -87,7 +87,7 @@ public final class Q00266_PleasOfPixies extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			final int chance = getRandom(10);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00267_WrathOfVerdure/Q00267_WrathOfVerdure.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00267_WrathOfVerdure/Q00267_WrathOfVerdure.java
index 8b26348419394fa95bc4441748eda88d71637f5f..3cbf46298f82950eb54b0809034001fdc194a782 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00267_WrathOfVerdure/Q00267_WrathOfVerdure.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00267_WrathOfVerdure/Q00267_WrathOfVerdure.java
@@ -55,7 +55,7 @@ public final class Q00267_WrathOfVerdure extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -86,7 +86,7 @@ public final class Q00267_WrathOfVerdure extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(10) < 5))
 		{
 			st.giveItems(GOBLIN_CLUB, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00268_TracesOfEvil/Q00268_TracesOfEvil.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00268_TracesOfEvil/Q00268_TracesOfEvil.java
index c2611e6889a135a022de52574d907dac7e20a13e..6e3ca5acad5795e5d442218fe021ea90ea6e2375 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00268_TracesOfEvil/Q00268_TracesOfEvil.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00268_TracesOfEvil/Q00268_TracesOfEvil.java
@@ -57,7 +57,7 @@ public final class Q00268_TracesOfEvil extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30559-03.htm"))
 		{
 			st.startQuest();
@@ -69,7 +69,7 @@ public final class Q00268_TracesOfEvil extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.giveItems(CONTAMINATED_KASHA_SPIDER_VENOM, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00269_InventionAmbition/Q00269_InventionAmbition.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00269_InventionAmbition/Q00269_InventionAmbition.java
index 3b1e5f79105e8fdbc209ea8361162d6fc389a294..1066129ca1f3416da85049560309cdefac816d7d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00269_InventionAmbition/Q00269_InventionAmbition.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00269_InventionAmbition/Q00269_InventionAmbition.java
@@ -66,7 +66,7 @@ public final class Q00269_InventionAmbition extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -102,7 +102,7 @@ public final class Q00269_InventionAmbition extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(100) < MONSTERS.get(npc.getId())))
 		{
 			st.giveItems(ENERGY_ORE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00270_TheOneWhoEndsSilence/Q00270_TheOneWhoEndsSilence.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00270_TheOneWhoEndsSilence/Q00270_TheOneWhoEndsSilence.java
index 233c932464bfb6c789ffe8dc292676ffeb022c00..6e93d5c9a40fa1f0e3a6e357e2a8dade2991d7b5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00270_TheOneWhoEndsSilence/Q00270_TheOneWhoEndsSilence.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00270_TheOneWhoEndsSilence/Q00270_TheOneWhoEndsSilence.java
@@ -64,7 +64,7 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00271_ProofOfValor/Q00271_ProofOfValor.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00271_ProofOfValor/Q00271_ProofOfValor.java
index 3f4c348aeff76b6d0ae81d91c000878d9800869a..3208af2d72e72cc8f618baf34479e8068498c1e6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00271_ProofOfValor/Q00271_ProofOfValor.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00271_ProofOfValor/Q00271_ProofOfValor.java
@@ -57,7 +57,7 @@ public final class Q00271_ProofOfValor extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30577-04.htm"))
 		{
 			st.startQuest();
@@ -69,7 +69,7 @@ public final class Q00271_ProofOfValor extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			final long count = st.getQuestItemsCount(KASHA_WOLF_FANG);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00272_WrathOfAncestors/Q00272_WrathOfAncestors.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00272_WrathOfAncestors/Q00272_WrathOfAncestors.java
index 5a5ca1be1950cb86e9588e29a671b287fbddfd71..200e47e425383b0c509a1bb96346430da310adb1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00272_WrathOfAncestors/Q00272_WrathOfAncestors.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00272_WrathOfAncestors/Q00272_WrathOfAncestors.java
@@ -57,7 +57,7 @@ public final class Q00272_WrathOfAncestors extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30572-04.htm"))
 		{
 			st.startQuest();
@@ -69,7 +69,7 @@ public final class Q00272_WrathOfAncestors extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.giveItems(GRAVE_ROBBERS_HEAD, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00273_InvadersOfTheHolyLand/Q00273_InvadersOfTheHolyLand.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00273_InvadersOfTheHolyLand/Q00273_InvadersOfTheHolyLand.java
index e7cefa51d980962df4d88f1391797ea786803ed0..0686a6b5242ab6476992da5005477ac9b01d22dd 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00273_InvadersOfTheHolyLand/Q00273_InvadersOfTheHolyLand.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00273_InvadersOfTheHolyLand/Q00273_InvadersOfTheHolyLand.java
@@ -65,7 +65,7 @@ public final class Q00273_InvadersOfTheHolyLand extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -96,7 +96,7 @@ public final class Q00273_InvadersOfTheHolyLand extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st != null)
 		{
 			if (getRandom(100) <= MONSTERS.get(npc.getId()))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00274_SkirmishWithTheWerewolves/Q00274_SkirmishWithTheWerewolves.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00274_SkirmishWithTheWerewolves/Q00274_SkirmishWithTheWerewolves.java
index 3e897d5b95fa43f00c43c84469041ce424b6ed2a..27cd69e3dfc1bc02fab396ac912e67b65024d4c4 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00274_SkirmishWithTheWerewolves/Q00274_SkirmishWithTheWerewolves.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00274_SkirmishWithTheWerewolves/Q00274_SkirmishWithTheWerewolves.java
@@ -60,7 +60,7 @@ public final class Q00274_SkirmishWithTheWerewolves extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30569-04.htm"))
 		{
 			st.startQuest();
@@ -72,7 +72,7 @@ public final class Q00274_SkirmishWithTheWerewolves extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.giveItems(WEREWOLF_HEAD, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java
index 14904a36bcf8bb3e3d27a63e34b6eafb244182b0..39e0386decd9dbe8ba23549f133a9da2afd5d574 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java
@@ -61,7 +61,7 @@ public final class Q00275_DarkWingedSpies extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30567-03.htm"))
 		{
 			st.startQuest();
@@ -73,7 +73,7 @@ public final class Q00275_DarkWingedSpies extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, true))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00276_TotemOfTheHestui/Q00276_TotemOfTheHestui.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00276_TotemOfTheHestui/Q00276_TotemOfTheHestui.java
index 2a3169815e4da65333bdaf2b44504a4d05500f72..de09d69db7c78235befaebc2b9e2f135b6af2c64 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00276_TotemOfTheHestui/Q00276_TotemOfTheHestui.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00276_TotemOfTheHestui/Q00276_TotemOfTheHestui.java
@@ -77,7 +77,7 @@ public final class Q00276_TotemOfTheHestui extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30571-03.htm"))
 		{
 			st.startQuest();
@@ -89,7 +89,7 @@ public final class Q00276_TotemOfTheHestui extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, killer, npc, true))
 		{
 			switch (npc.getId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00277_GatekeepersOffering/Q00277_GatekeepersOffering.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00277_GatekeepersOffering/Q00277_GatekeepersOffering.java
index 250a6fe47b2e5bd1b3df3749d4eacdcee8efc678..41d5b4a6b72502fa197ea5b4999b8d50778a75f7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00277_GatekeepersOffering/Q00277_GatekeepersOffering.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00277_GatekeepersOffering/Q00277_GatekeepersOffering.java
@@ -54,7 +54,7 @@ public class Q00277_GatekeepersOffering extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30576-03.htm"))
 		{
 			if (player.getLevel() < MIN_LEVEL)
@@ -70,7 +70,7 @@ public class Q00277_GatekeepersOffering extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isStarted() && (st.getQuestItemsCount(STARSTONE) < STARSTONE_COUT))
 		{
 			st.giveItems(STARSTONE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00278_HomeSecurity/Q00278_HomeSecurity.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00278_HomeSecurity/Q00278_HomeSecurity.java
index 5643fc9fcf1a5f330f80f469851863875789b312..6e6743ec94e42bb2405369122a60cf3c754974f6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00278_HomeSecurity/Q00278_HomeSecurity.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00278_HomeSecurity/Q00278_HomeSecurity.java
@@ -55,7 +55,7 @@ public class Q00278_HomeSecurity extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java
index 6e6edfd827d30cb646638927f13209e65934ffda..e32b990565381958211d9f97cdbb1da8508d9fe1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java
@@ -70,7 +70,7 @@ public final class Q00279_TargetOfOpportunity extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st == null) || (player.getLevel() < 82))
 		{
 			return getNoQuestMsg(player);
@@ -100,7 +100,7 @@ public final class Q00279_TargetOfOpportunity extends Quest
 			return null;
 		}
 		
-		final QuestState st = pl.getQuestState(getName());
+		final QuestState st = getQuestState(pl, false);
 		if (getRandom(1000) < (int) (311 * Config.RATE_QUEST_DROP))
 		{
 			if (!st.hasQuestItems(SEAL_COMPONENTS[idx]))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00280_TheFoodChain/Q00280_TheFoodChain.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00280_TheFoodChain/Q00280_TheFoodChain.java
index 8a88566fb394fb52b43ed1539380aa32ae5f03dc..76c93c4dec3f922666f0ca00ed2a87a3c4b813c6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00280_TheFoodChain/Q00280_TheFoodChain.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00280_TheFoodChain/Q00280_TheFoodChain.java
@@ -83,7 +83,7 @@ public final class Q00280_TheFoodChain extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -155,7 +155,7 @@ public final class Q00280_TheFoodChain extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			final int chance = getRandom(1000);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00281_HeadForTheHills/Q00281_HeadForTheHills.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00281_HeadForTheHills/Q00281_HeadForTheHills.java
index b777b3d4b07fd5a2f66334dc018eaa3b0305bb86..84d4eb2df7a16c939da52bfca566371fae21d2e0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00281_HeadForTheHills/Q00281_HeadForTheHills.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00281_HeadForTheHills/Q00281_HeadForTheHills.java
@@ -87,7 +87,7 @@ public final class Q00281_HeadForTheHills extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -158,7 +158,7 @@ public final class Q00281_HeadForTheHills extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(1000) <= MONSTERS.get(npc.getId())))
 		{
 			st.giveItems(CLAWS, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00283_TheFewTheProudTheBrave/Q00283_TheFewTheProudTheBrave.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00283_TheFewTheProudTheBrave/Q00283_TheFewTheProudTheBrave.java
index 8ec9acc602399a4fbdca65dbbfdde7135b8de451..56df67d45fa2f9fb3c439f7accdd7901c097542b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00283_TheFewTheProudTheBrave/Q00283_TheFewTheProudTheBrave.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00283_TheFewTheProudTheBrave/Q00283_TheFewTheProudTheBrave.java
@@ -55,7 +55,7 @@ public final class Q00283_TheFewTheProudTheBrave extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java
index ebeb556112b1bf7c94648321af6f52a5b41d043d..b19876fd4bbbf616c4c51b64dcf19f4c65de61a7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java
@@ -99,7 +99,7 @@ public class Q00287_FiguringItOut extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -168,7 +168,7 @@ public class Q00287_FiguringItOut extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		if (getRandom(1000) < MONSTERS.get(npc.getId()))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java
index ad56d0104a5c2d5320861adf31cff66c4bb2dbcb..1a1ad2e73bd93b06930d18128d145e4b0dc713a5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java
@@ -67,7 +67,7 @@ public class Q00288_HandleWithCare extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -165,7 +165,7 @@ public class Q00288_HandleWithCare extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
 		{
 			if (!st.hasQuestItems(MIDDLE_GRADE_LIZARD_SCALE))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java
index 9d80f19b4451d04a2aed2ac23a0b7d5fdf265ede..029a05b38de4ed1100791e403421a1d10f54f18d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java
@@ -170,7 +170,7 @@ public class Q00289_NoMoreSoupForYou extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
@@ -219,7 +219,7 @@ public class Q00289_NoMoreSoupForYou extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		int npcId = npc.getId();
 		if ((st == null) || (st.getState() != State.STARTED))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java
index 743156d655b08ce34db51d687c0eaf4e1b0c9385..2067b99058a81b05b93016b7552bd201ef21bcd2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java
@@ -75,7 +75,7 @@ public class Q00290_ThreatRemoval extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -183,7 +183,7 @@ public class Q00290_ThreatRemoval extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		int npcId = npc.getId();
 		float chance = (MOBS_TAG.get(npcId) * Config.RATE_QUEST_DROP);
 		if (getRandom(1000) < chance)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00293_TheHiddenVeins/Q00293_TheHiddenVeins.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00293_TheHiddenVeins/Q00293_TheHiddenVeins.java
index d57e5e241803989019960f851a11db3199c4eae5..60bd6aac87e593d3493cdd840033ba8a0be821aa 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00293_TheHiddenVeins/Q00293_TheHiddenVeins.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00293_TheHiddenVeins/Q00293_TheHiddenVeins.java
@@ -64,7 +64,7 @@ public final class Q00293_TheHiddenVeins extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -110,7 +110,7 @@ public final class Q00293_TheHiddenVeins extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st != null)
 		{
 			final int chance = getRandom(100);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00297_GatekeepersFavor/Q00297_GatekeepersFavor.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00297_GatekeepersFavor/Q00297_GatekeepersFavor.java
index c85eb898bbb73ec3c5c334e0ea9c95956fdcb07d..2d7b79dc39ddb75b4df1f0bf189a82441206ce32 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00297_GatekeepersFavor/Q00297_GatekeepersFavor.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00297_GatekeepersFavor/Q00297_GatekeepersFavor.java
@@ -54,7 +54,7 @@ public class Q00297_GatekeepersFavor extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30540-03.htm"))
 		{
 			if (player.getLevel() < MIN_LEVEL)
@@ -70,7 +70,7 @@ public class Q00297_GatekeepersFavor extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isStarted() && (st.getQuestItemsCount(STARSTONE) < STARSTONE_COUT))
 		{
 			st.giveItems(STARSTONE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00300_HuntingLetoLizardman/Q00300_HuntingLetoLizardman.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00300_HuntingLetoLizardman/Q00300_HuntingLetoLizardman.java
index 3ab35f7e292cef920a839243b712269c71d56ce4..e6eae2073289386f23f39c9fa969ee56774ed00d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00300_HuntingLetoLizardman/Q00300_HuntingLetoLizardman.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00300_HuntingLetoLizardman/Q00300_HuntingLetoLizardman.java
@@ -70,7 +70,7 @@ public final class Q00300_HuntingLetoLizardman extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -124,7 +124,7 @@ public final class Q00300_HuntingLetoLizardman extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(player, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			if (st.isCond(1) && (getRandom(1000) < MOBS_SAC.get(npc.getId())))
 			{
 				st.giveItems(BRACELET_OF_LIZARDMAN, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00303_CollectArrowheads/Q00303_CollectArrowheads.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00303_CollectArrowheads/Q00303_CollectArrowheads.java
index bc7a26acde3a1f39815bd35c901466d352cb5556..3412c7d6ded1d0b558da6cda81aa0b845f2fb467 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00303_CollectArrowheads/Q00303_CollectArrowheads.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00303_CollectArrowheads/Q00303_CollectArrowheads.java
@@ -52,7 +52,7 @@ public final class Q00303_CollectArrowheads extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30029-04.htm"))
 		{
 			st.startQuest();
@@ -67,7 +67,7 @@ public final class Q00303_CollectArrowheads extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(player, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			if (st.giveItemRandomly(npc, ORCISH_ARROWHEAD, 1, REQUIRED_ITEM_COUNT, 0.4, true))
 			{
 				st.setCond(2);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00306_CrystalOfFireAndIce/Q00306_CrystalOfFireAndIce.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00306_CrystalOfFireAndIce/Q00306_CrystalOfFireAndIce.java
index bb547a9013cacd036918715be2e07030ba019baf..2332091a0d31042ec2a6f4a8e1021987cfc44d15 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00306_CrystalOfFireAndIce/Q00306_CrystalOfFireAndIce.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00306_CrystalOfFireAndIce/Q00306_CrystalOfFireAndIce.java
@@ -67,7 +67,7 @@ public final class Q00306_CrystalOfFireAndIce extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -105,7 +105,7 @@ public final class Q00306_CrystalOfFireAndIce extends Quest
 		final QuestState qs;
 		if (npc.getId() == UNDINE_NOBLE) // Undine Noble gives quest drops only for the killer
 		{
-			qs = killer.getQuestState(getName());
+			qs = getQuestState(killer, false);
 			if ((qs != null) && qs.isStarted())
 			{
 				giveKillReward(killer, npc);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java
index b6f05b22e7dfee3c45340b8d74046853026fc431..74940e08cc717e34ba2044e2c2d90e759d1775ea 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java
@@ -59,7 +59,7 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -124,7 +124,7 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		switch (npc.getId())
 		{
@@ -152,7 +152,7 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
 				{
 					for (L2PcInstance pl : player.getParty().getMembers())
 					{
-						final QuestState qs = pl.getQuestState(getName());
+						final QuestState qs = getQuestState(pl, false);
 						
 						if ((qs != null) && qs.isCond(1))
 						{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java
index 351cf4b7cc7b29aabf4ffc687ef19a311ce448fe..762a8317f5ba06f741d069e4b92166bdf170d51f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java
@@ -130,7 +130,7 @@ public class Q00308_ReedFieldMaintenance extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -217,7 +217,7 @@ public class Q00308_ReedFieldMaintenance extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			float chance = (MUCROKIAN.get(npc.getId()) * Config.RATE_QUEST_DROP);
 			if (getRandom(1000) < chance)
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java
index 3a443ce40eb1943fb990d0db39c560cbda85ba99..47a52ba2d06ba872ffd8a11eccd36ea82162afbb 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java
@@ -130,7 +130,7 @@ public class Q00309_ForAGoodCause extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -219,7 +219,7 @@ public class Q00309_ForAGoodCause extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			float chance = (MUCROKIANS.get(npc.getId()) * Config.RATE_QUEST_DROP);
 			if (getRandom(1000) < chance)
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00310_OnlyWhatRemains/Q00310_OnlyWhatRemains.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00310_OnlyWhatRemains/Q00310_OnlyWhatRemains.java
index 30cbd4a555bb31946dec573a018f0fb97ab67e64..833adf9742fdde26847adcdea6ad55e826eccd77 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00310_OnlyWhatRemains/Q00310_OnlyWhatRemains.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00310_OnlyWhatRemains/Q00310_OnlyWhatRemains.java
@@ -79,7 +79,7 @@ public class Q00310_OnlyWhatRemains extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -118,7 +118,7 @@ public class Q00310_OnlyWhatRemains extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		if (getRandom(1000) < MOBS.get(npc.getId()))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java
index 2d86999a6be83ad9583263be77a19564d79f40a8..3c83678f5924d8937f815f10a3905b79f1a794a2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java
@@ -71,7 +71,7 @@ public class Q00312_TakeAdvantageOfTheCrisis extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -106,7 +106,7 @@ public class Q00312_TakeAdvantageOfTheCrisis extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 1);
 		if ((member != null) && (getRandom(1000) < MOBS.get(npc.getId())))
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			st.giveItems(MINERAL_FRAGMENT, 1);
 			st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
 		}
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00313_CollectSpores/Q00313_CollectSpores.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00313_CollectSpores/Q00313_CollectSpores.java
index 8be709859a948ff8e2a23f84ba9e08fbd4c875cf..37d352c926d047570716f3ccd3cabd85add2ea00 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00313_CollectSpores/Q00313_CollectSpores.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00313_CollectSpores/Q00313_CollectSpores.java
@@ -53,7 +53,7 @@ public final class Q00313_CollectSpores extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -82,7 +82,7 @@ public final class Q00313_CollectSpores extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
 		{
 			if (st.giveItemRandomly(npc, SPORE_SAC, 1, REQUIRED_SAC_COUNT, 0.4, true))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00319_ScentOfDeath/Q00319_ScentOfDeath.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00319_ScentOfDeath/Q00319_ScentOfDeath.java
index 5ec38e6a47991d6df7e0ec0694f77bede5249988..a561bf58c7eb20b843134648ca823559386e55b0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00319_ScentOfDeath/Q00319_ScentOfDeath.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00319_ScentOfDeath/Q00319_ScentOfDeath.java
@@ -58,7 +58,7 @@ public class Q00319_ScentOfDeath extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -83,7 +83,7 @@ public class Q00319_ScentOfDeath extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, killer, false) && (st.getQuestItemsCount(ZOMBIES_SKIN) < REQUIRED_ITEM_COUNT))
 		{
 			if (getRandom(10) > MIN_CHANCE)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java
index 738cb7a805ce61041b62d325184c38e215467ab1..c009231db9e3996f16cda26bf82e67e2bf1619fb 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java
@@ -58,7 +58,7 @@ public final class Q00320_BonesTellTheFuture extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30359-04.htm"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00324_SweetestVenom/Q00324_SweetestVenom.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00324_SweetestVenom/Q00324_SweetestVenom.java
index 0453e1d43ca31dc5a61bf45e1c6425f896b3cc33..fd04df047bb3ee0504827aa429ba8d61e0600a81 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00324_SweetestVenom/Q00324_SweetestVenom.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00324_SweetestVenom/Q00324_SweetestVenom.java
@@ -63,7 +63,7 @@ public class Q00324_SweetestVenom extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -112,7 +112,7 @@ public class Q00324_SweetestVenom extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1))
 		{
 			long sacs = st.getQuestItemsCount(VENOM_SAC);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java
index b5222be2721c8b3cd91f563917b35dacdf7467c8..b5d52c151144b855729b3ffe2fec0867ac3df8d7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java
@@ -82,7 +82,7 @@ public final class Q00325_GrimCollector extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -192,7 +192,7 @@ public final class Q00325_GrimCollector extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState qs = killer.getQuestState(getName());
+		final QuestState qs = getQuestState(killer, false);
 		
 		if ((qs == null) || !qs.isStarted())
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00326_VanquishRemnants/Q00326_VanquishRemnants.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00326_VanquishRemnants/Q00326_VanquishRemnants.java
index 5ed28e773549f1e8c5b79134b488fdd414c4bcc2..ca527704f6b555515876ad3c15acb0e6d714b3d4 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00326_VanquishRemnants/Q00326_VanquishRemnants.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00326_VanquishRemnants/Q00326_VanquishRemnants.java
@@ -72,7 +72,7 @@ public final class Q00326_VanquishRemnants extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -103,7 +103,7 @@ public final class Q00326_VanquishRemnants extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isStarted() && (getRandom(100) < MONSTERS.get(npc.getId())[0]))
 		{
 			st.giveItems(MONSTERS.get(npc.getId())[1], 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java
index 46c2b872b79486672128599026fc3a359e0eedee..913720b7a00dc117e8cb29c2a179c6dff5f080f1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java
@@ -74,7 +74,7 @@ public class Q00328_SenseForBusiness extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -136,7 +136,7 @@ public class Q00328_SenseForBusiness extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isStarted())
 		{
 			final int chance = getRandom(100);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java
index c3c7623dbbc8dde746144a470a7a2dc191601ae7..99c56be44eebc6b14bbb1a6af499e317d589f75f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java
@@ -64,7 +64,7 @@ public final class Q00329_CuriosityOfADwarf extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -100,7 +100,7 @@ public final class Q00329_CuriosityOfADwarf extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			final int rnd = getRandom(100);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java
index 273f36920bcefa074e945d335b43eaa637bd5c43..563bc267470b0654e6627b4e18de96e3ef9d6d3b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java
@@ -68,7 +68,7 @@ public class Q00331_ArrowOfVengeance extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -135,7 +135,7 @@ public class Q00331_ArrowOfVengeance extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st != null)
 		{
 			if (getRandom(100) < MONSTERS.get(npc.getId()))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java
index 31b8087425e6dd732c8406a2fda0bac2bf4c90b0..7dc780b0a55cbc514dd5aa5008cdd2f287180b07 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java
@@ -57,7 +57,7 @@ public class Q00338_AlligatorHunter extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -96,7 +96,7 @@ public class Q00338_AlligatorHunter extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st != null)
 		{
 			st.giveItems(ALLIGATOR_LEATHER, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java
index 2f02bec4a39372fc220bb2c259b8fee1284eb31a..a9da30341845a0be6f684f0a138294bad9746623 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java
@@ -64,7 +64,7 @@ public class Q00341_HuntingForWildBeasts extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -89,7 +89,7 @@ public class Q00341_HuntingForWildBeasts extends Quest
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = getNoQuestMsg(player);
 		if (st != null)
 		{
@@ -122,7 +122,7 @@ public class Q00341_HuntingForWildBeasts extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1))
 		{
 			long skins = st.getQuestItemsCount(BEAR_SKIN);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java
index 830fa6ae3b6153d2050b1180309a5809e271168d..cfb977179deac8b33a00b7660b2aea71f8a424af 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java
@@ -152,7 +152,7 @@ public class Q00350_EnhanceYourWeapon extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (event.endsWith("-04.htm"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java
index 319d6a77296b8b5cfaf71dd180f71218a570fb23..1183376757a20cb489d56d148286624905f3e18b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java
@@ -66,7 +66,7 @@ public final class Q00354_ConquestOfAlligatorIsland extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java
index 7c0d2e3ceda3b73cb27163af859df438b13f51f1..6954ceb031ee76790475b9fb1e70e41771572055 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java
@@ -64,7 +64,7 @@ public final class Q00360_PlunderTheirSupplies extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -98,7 +98,7 @@ public final class Q00360_PlunderTheirSupplies extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st == null) || !Util.checkIfInRange(1500, npc, killer, false))
 		{
 			return super.onKill(npc, killer, isPet);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java
index 26293858c88476fd34ee4bf404617bd7d2e911ec..580987d88f9cdb2687e2b76290998450e21e2014 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java
@@ -59,7 +59,7 @@ public final class Q00366_SilverHairedShaman extends Quest
 	@Override
 	public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
 	{
-		final QuestState qs = member.getQuestState(getName());
+		final QuestState qs = getQuestState(member, false);
 		return ((qs != null) && qs.isStarted());
 	}
 	
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java
index 9c249d4602e11ae9699a8a0344ebab7f7f76f8c6..83cbe6c83f70cee380390691e9f3428e909eeb38 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java
@@ -99,7 +99,7 @@ public final class Q00367_ElectrifyingRecharge extends Quest
 			return super.onAttack(npc, attacker, damage, isSummon);
 		}
 		
-		QuestState qs = attacker.getQuestState(getName());
+		QuestState qs = getQuestState(attacker, false);
 		if ((qs == null) || !qs.isStarted())
 		{
 			return super.onAttack(npc, attacker, damage, isSummon);
@@ -120,7 +120,7 @@ public final class Q00367_ElectrifyingRecharge extends Quest
 		{
 			return super.onAttack(npc, attacker, damage, isSummon);
 		}
-		qs = luckyPlayer.getQuestState(getName());
+		qs = getQuestState(luckyPlayer, false);
 		
 		if ((qs != null) && qs.isStarted() && !hasQuestItems(luckyPlayer, TITAN_LAMP5))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java
index 25fbeb4ee481b72c5f31d41bd7add3e563830bd3..88dc24e5f16631ce8ce220eb4c948ee8d87cece7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java
@@ -60,7 +60,7 @@ public final class Q00368_TrespassingIntoTheHolyGround extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java
index 87bce7979e832c89c7f737ba4cb98dfc34d4bb42..8614b25690b55770ef5e612001c68ec8455b349e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java
@@ -64,7 +64,7 @@ public final class Q00369_CollectorOfJewels extends Quest
 	@Override
 	public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
 	{
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		return ((st != null) && (st.isMemoState(1) || st.isMemoState(3)));
 	}
 	
@@ -121,7 +121,7 @@ public final class Q00369_CollectorOfJewels extends Quest
 			L2PcInstance luckyPlayer = getRandomPartyMember(player, npc);
 			if (luckyPlayer != null)
 			{
-				final QuestState st = luckyPlayer.getQuestState(getName());
+				final QuestState st = getQuestState(luckyPlayer, false);
 				final int itemCount = (st.isMemoState(1) ? 50 : 200);
 				final int cond = (st.isMemoState(1) ? 2 : 4);
 				if (giveItemRandomly(luckyPlayer, npc, item.getId(), item.getCount(), itemCount, 1.0, true) //
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java
index 3f5f298ce799403571fd5731afa907607e52721a..38018152576fd28b64809b5d65ef9b676a663ee2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java
@@ -67,7 +67,7 @@ public final class Q00370_AnElderSowsSeeds extends Quest
 	@Override
 	public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
 	{
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		return ((st != null) && st.isStarted());
 	}
 	
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java
index 1b9d097198e7b4c524f3fc045fbaddc84b685c69..6ed6440de53ace35fc858307dd14c60e340e5b5b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java
@@ -136,7 +136,7 @@ public final class Q00406_PathOfTheElvenKnight extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState qs = killer.getQuestState(getName());
+		final QuestState qs = getQuestState(killer, false);
 		final ItemChanceHolder reward = MONSTER_DROPS.get(npc.getId());
 		int requiredItemId = KLUTO_BOX;
 		int cond = 2;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java
index 2f159ac4b039e26c84e708084ade3acbb8015230..6c5de85f82dedc1b032eedc453c78653b266e13c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java
@@ -419,7 +419,7 @@ public final class Q00420_LittleWing extends Quest
 	@Override
 	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
 	{
-		final QuestState qs = attacker.getQuestState(getName());
+		final QuestState qs = getQuestState(attacker, false);
 		if ((qs != null) && (getQuestItemsCount(attacker, DELUXE_FAIRY_STONE) > 0) && (getRandom(100) < 30))
 		{
 			takeItems(attacker, DELUXE_FAIRY_STONE, -1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java
index f7177143afbb7e12c985f9164ce6224b74dfbd6b..df183821d55a1caa30cf3a9ca9f0061f8155a862 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java
@@ -375,7 +375,7 @@ public final class Q00421_LittleWingsBigAdventure extends Quest
 	@Override
 	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
 	{
-		final QuestState qs = attacker.getQuestState(getName());
+		final QuestState qs = getQuestState(attacker, false);
 		if ((qs != null) && qs.isCond(2))
 		{
 			if (isSummon)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java
index f12f1fede2b0d318486bb5f6084b56d46eecfeb6..7b8e5d55002eaecfa54590fdab648e71a7e4e56e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java
@@ -58,7 +58,7 @@ public class Q00423_TakeYourBestShot extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -98,7 +98,7 @@ public class Q00423_TakeYourBestShot extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.setCond(2, true);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00431_WeddingMarch/Q00431_WeddingMarch.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00431_WeddingMarch/Q00431_WeddingMarch.java
index 63acf90c25ebdb390109b47661dea79bca2cf588..b2f263304182d0236a19bc9cb570fb0476c52314 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00431_WeddingMarch/Q00431_WeddingMarch.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00431_WeddingMarch/Q00431_WeddingMarch.java
@@ -59,7 +59,7 @@ public class Q00431_WeddingMarch extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q00431_WeddingMarch extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 1);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			if (getRandomBoolean())
 			{
 				st.giveItems(SILVER_CRYSTAL, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00432_BirthdayPartySong/Q00432_BirthdayPartySong.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00432_BirthdayPartySong/Q00432_BirthdayPartySong.java
index b820ddb8b3f3c863ac73f57e5aff08987ebbb43d..bfd744ab55ccd4d03bfbaf4b8f0516d617e51047 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00432_BirthdayPartySong/Q00432_BirthdayPartySong.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00432_BirthdayPartySong/Q00432_BirthdayPartySong.java
@@ -53,7 +53,7 @@ public class Q00432_BirthdayPartySong extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -85,7 +85,7 @@ public class Q00432_BirthdayPartySong extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(1) && getRandomBoolean())
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java
index 5b22a68ad6c350e443ac12de9567756d952997d9..de4aba0401132c0a0ea4797ccb04b4088b149739 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java
@@ -59,7 +59,7 @@ public class Q00450_GraveRobberRescue extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00451_LuciensAltar/Q00451_LuciensAltar.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00451_LuciensAltar/Q00451_LuciensAltar.java
index 4c86599b23e86a5b991834d8386dbcbf55838458..52ff71d27a427554fbee3ea1637b18787a5814f7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00451_LuciensAltar/Q00451_LuciensAltar.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00451_LuciensAltar/Q00451_LuciensAltar.java
@@ -62,7 +62,7 @@ public class Q00451_LuciensAltar extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00452_FindingtheLostSoldiers/Q00452_FindingtheLostSoldiers.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00452_FindingtheLostSoldiers/Q00452_FindingtheLostSoldiers.java
index 4068793bb7e401a9c39177794c66e993bae87ebe..fcb2cc2524bc0b3580ee9e24c10b862b03718dff 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00452_FindingtheLostSoldiers/Q00452_FindingtheLostSoldiers.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00452_FindingtheLostSoldiers/Q00452_FindingtheLostSoldiers.java
@@ -54,7 +54,7 @@ public class Q00452_FindingtheLostSoldiers extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00453_NotStrongEnoughAlone/Q00453_NotStrongEnoughAlone.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00453_NotStrongEnoughAlone/Q00453_NotStrongEnoughAlone.java
index 7e07bdb5f2a5f4f88c0570f9261b79660f1d7280..8496ef5a60b342b3d15ab6745c8e297b8a06b681 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00453_NotStrongEnoughAlone/Q00453_NotStrongEnoughAlone.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00453_NotStrongEnoughAlone/Q00453_NotStrongEnoughAlone.java
@@ -111,7 +111,7 @@ public class Q00453_NotStrongEnoughAlone extends Quest
 	
 	private void increaseKill(L2PcInstance player, L2Npc npc)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -221,7 +221,7 @@ public class Q00453_NotStrongEnoughAlone extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00455_WingsOfSand/Q00455_WingsOfSand.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00455_WingsOfSand/Q00455_WingsOfSand.java
index 98bc49aecb2f889d78703fdbea9c1a7598382c7f..06c69cbfed940ce09d68e4438a4b97e74da47909 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00455_WingsOfSand/Q00455_WingsOfSand.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00455_WingsOfSand/Q00455_WingsOfSand.java
@@ -75,7 +75,7 @@ public class Q00455_WingsOfSand extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, player, false) && (getRandom(1000) < CHANCE))
 		{
 			st.giveItems(LARGE_BABY_DRAGON, 1);
@@ -94,7 +94,7 @@ public class Q00455_WingsOfSand extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java
index 199224ec300f6f749df3a8e65414955a0f52b5b6..f30dd16d12eb29873b92e200fc0c235cee629cff 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java
@@ -148,7 +148,7 @@ public final class Q00456_DontKnowDontCare extends Quest
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		final QuestState qs = player.getQuestState(getName());
+		final QuestState qs = getQuestState(player, false);
 		final Set<Integer> allowedPlayers = allowedPlayerMap.get(npc.getObjectId());
 		
 		if ((qs == null) || !qs.isCond(1) || (allowedPlayers == null) || !allowedPlayers.contains(player.getObjectId()))
@@ -235,7 +235,7 @@ public final class Q00456_DontKnowDontCare extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState qs;
+		final QuestState qs = getQuestState(player, false);
 		String htmltext = null;
 		
 		switch (event)
@@ -243,14 +243,12 @@ public final class Q00456_DontKnowDontCare extends Quest
 			case "32864-04.htm":
 			case "32864-05.htm":
 			case "32864-06.htm":
-				qs = player.getQuestState(getName());
 				if ((qs != null) && qs.isCreated())
 				{
 					htmltext = event;
 				}
 				break;
 			case "32864-07.htm":
-				qs = player.getQuestState(getName());
 				if ((qs != null) && qs.isCreated())
 				{
 					qs.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java
index 039145e7d552bc9d90fdfa6232fde185f3b61587..83ea31638b8138cb7391d4908c9758d8c8bdd805 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java
@@ -69,7 +69,7 @@ public final class Q00457_LostAndFound extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java
index 09df5d76d271bc5ba4b13143e5b54c915f5b473d..db349d830c6b4c6c3a395b25a0b3a08d22540d27 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java
@@ -88,7 +88,7 @@ public class Q00458_PerfectForm extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String noQuest = getNoQuestMsg(player);
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return noQuest;
@@ -217,7 +217,7 @@ public class Q00458_PerfectForm extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1))
 		{
 			int npcId = npc.getId();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java
index 90c617ed23b11917f647af834df492eea92c712e..063d347baca7983d3e3dbfddda94988fbb85e8ca 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java
@@ -69,7 +69,7 @@ public class Q00461_RumbleInTheBase extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = null;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
@@ -98,7 +98,7 @@ public class Q00461_RumbleInTheBase extends Quest
 		
 		if (npc.getId() == 18908)
 		{
-			st = player.getQuestState(getName());
+			st = getQuestState(player, false);
 			if ((st != null) && st.isCond(1) && (st.getQuestItemsCount(SHINY_SALMON) < 5))
 			{
 				st.giveItems(SHINY_SALMON, 1);
@@ -117,7 +117,7 @@ public class Q00461_RumbleInTheBase extends Quest
 				return super.onKill(npc, player, isSummon);
 			}
 			
-			st = member.getQuestState(getName());
+			st = getQuestState(member, false);
 			if (st.getQuestItemsCount(SHOES_STRING_OF_SEL_MAHUM) < 10)
 			{
 				st.giveItems(SHOES_STRING_OF_SEL_MAHUM, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java
index 5c0bf66d3e7fa2eedc31dff570f8c01fc2551b4c..ac7af7e093e041279602f088f7dbeb62352848b5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java
@@ -116,7 +116,7 @@ public class Q00463_IMustBeaGenius extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -158,7 +158,7 @@ public class Q00463_IMustBeaGenius extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return super.onKill(npc, player, isSummon);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00464_Oath/Q00464_Oath.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00464_Oath/Q00464_Oath.java
index 5fbea0fb1cbe4db1e509a2af3877878eb81cc39d..9b94775d8bf094f4f6f7914c1848102bc6455c70 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00464_Oath/Q00464_Oath.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00464_Oath/Q00464_Oath.java
@@ -92,7 +92,7 @@ public class Q00464_Oath extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00504_CompetitionForTheBanditStronghold/Q00504_CompetitionForTheBanditStronghold.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00504_CompetitionForTheBanditStronghold/Q00504_CompetitionForTheBanditStronghold.java
index e38089ed8de4e3c1fec30bc14ca88a3745a2cb69..09d1d24dba78bcce3671ef6faf07fab0d2ef6c91 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00504_CompetitionForTheBanditStronghold/Q00504_CompetitionForTheBanditStronghold.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00504_CompetitionForTheBanditStronghold/Q00504_CompetitionForTheBanditStronghold.java
@@ -69,7 +69,7 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if ((st != null) && event.equals("35437-02.htm"))
 		{
@@ -83,7 +83,7 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st == null) || !st.hasQuestItems(CONTEST_CERTIFICATE) || !st.isStarted())
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00508_AClansReputation/Q00508_AClansReputation.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00508_AClansReputation/Q00508_AClansReputation.java
index 6761f86b2ddc1b828af50f5f42e2b2fd9f0e4c71..58c7f07641938db772ba5e885a953dfda08a4559 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00508_AClansReputation/Q00508_AClansReputation.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00508_AClansReputation/Q00508_AClansReputation.java
@@ -78,7 +78,7 @@ public class Q00508_AClansReputation extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00509_AClansFame/Q00509_AClansFame.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00509_AClansFame/Q00509_AClansFame.java
index 5a7533437dcaa33a223d6a0df4fdea948fe21172..1a1dacc23c369b0616162c046e92a06fa6166be1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00509_AClansFame/Q00509_AClansFame.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00509_AClansFame/Q00509_AClansFame.java
@@ -73,7 +73,7 @@ public class Q00509_AClansFame extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00510_AClansPrestige/Q00510_AClansPrestige.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00510_AClansPrestige/Q00510_AClansPrestige.java
index 7fe7fdc1e245f3ce165fb0d6bff4a079f98d75ff..d5c9e83acd4e4f781c453c37e91be40c0435c942 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00510_AClansPrestige/Q00510_AClansPrestige.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00510_AClansPrestige/Q00510_AClansPrestige.java
@@ -58,7 +58,7 @@ public class Q00510_AClansPrestige extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -87,14 +87,14 @@ public class Q00510_AClansPrestige extends Quest
 		QuestState st = null;
 		if (player.isClanLeader())
 		{
-			st = player.getQuestState(getName());
+			st = getQuestState(player, false);
 		}
 		else
 		{
 			L2PcInstance pleader = player.getClan().getLeader().getPlayerInstance();
 			if ((pleader != null) && player.isInsideRadius(pleader, 1500, true, false))
 			{
-				st = pleader.getQuestState(getName());
+				st = getQuestState(pleader, false);
 			}
 		}
 		
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java
index 6220c7eb4db82229542ed50163691d1f6e7e11cc..34e480948559c587b42c6acc65bf8f06aacf7165 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java
@@ -209,7 +209,7 @@ public final class Q00511_AwlUnderFoot extends Quest
 		}
 		for (L2PcInstance partyMember : party.getMembers())
 		{
-			QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			if ((st == null) || (st.getInt("cond") < 1))
 			{
 				return getHtm(player.getHtmlPrefix(), "FortressWarden-05.htm").replace("%player%", partyMember.getName());
@@ -312,10 +312,7 @@ public final class Q00511_AwlUnderFoot extends Quest
 			{
 				teleportPlayer(partyMember, coords, instanceId);
 				world.addAllowed(partyMember.getObjectId());
-				if (partyMember.getQuestState(getName()) == null)
-				{
-					newQuestState(partyMember);
-				}
+				getQuestState(partyMember, true);
 			}
 		}
 		return getHtm(player.getHtmlPrefix(), "FortressWarden-08.htm").replace("%clan%", player.getClan().getName());
@@ -333,11 +330,7 @@ public final class Q00511_AwlUnderFoot extends Quest
 			tele[2] = -6580;
 			return enterInstance(player, "fortdungeon.xml", tele, _fortDungeons.get(npc.getId()), checkFortCondition(player, npc, true));
 		}
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		QuestState st = getQuestState(player, true);
 		
 		if (event.equalsIgnoreCase("FortressWarden-10.htm"))
 		{
@@ -467,7 +460,7 @@ public final class Q00511_AwlUnderFoot extends Quest
 	
 	private void rewardPlayer(L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st.isCond(1))
 		{
 			st.giveItems(DL_MARK, 140);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java
index 430e1ba4d1ad40a49194aa77cfafc927f7610b6b..585ca1c19030e71f9582c7359617ecc167a085a9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java
@@ -56,7 +56,7 @@ public class Q00551_OlympiadStarter extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -92,7 +92,7 @@ public class Q00551_OlympiadStarter extends Quest
 	{
 		if (loser != null)
 		{
-			final QuestState st = loser.getQuestState(getName());
+			final QuestState st = getQuestState(loser, false);
 			if ((st != null) && st.isStarted())
 			{
 				final int matches = st.getInt("matches") + 1;
@@ -132,7 +132,7 @@ public class Q00551_OlympiadStarter extends Quest
 			{
 				return;
 			}
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted())
 			{
 				final int matches = st.getInt("matches") + 1;
@@ -168,7 +168,7 @@ public class Q00551_OlympiadStarter extends Quest
 			{
 				return;
 			}
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted())
 			{
 				final int matches = st.getInt("matches") + 1;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00552_OlympiadVeteran/Q00552_OlympiadVeteran.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00552_OlympiadVeteran/Q00552_OlympiadVeteran.java
index 176d58f34b0052e2245d8bd0e17fd95b16be2c24..516b46bccf5f82445285cdd90ba5f374b246e58c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00552_OlympiadVeteran/Q00552_OlympiadVeteran.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00552_OlympiadVeteran/Q00552_OlympiadVeteran.java
@@ -55,7 +55,7 @@ public class Q00552_OlympiadVeteran extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -94,7 +94,7 @@ public class Q00552_OlympiadVeteran extends Quest
 				return;
 			}
 			
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted())
 			{
 				int matches;
@@ -141,7 +141,7 @@ public class Q00552_OlympiadVeteran extends Quest
 			{
 				return;
 			}
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted())
 			{
 				int matches;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java
index d1356f9a02751f84a0b3a99b4c57ddf363bd6c4c..d6ee464b270a4fb8ae1f56d093ed66c627c25b98 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java
@@ -56,7 +56,7 @@ public class Q00553_OlympiadUndefeated extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -99,7 +99,7 @@ public class Q00553_OlympiadUndefeated extends Quest
 				return;
 			}
 			
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted() && (st.isCond(1)))
 			{
 				final int matches = st.getInt("undefeatable") + 1;
@@ -137,7 +137,7 @@ public class Q00553_OlympiadUndefeated extends Quest
 				return;
 			}
 			
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted() && (st.isCond(1)))
 			{
 				st.unset("undefeatable");
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java
index abc6c90c1d05265b84b7e99cae1cee7cd4008974..35883ef9a391527dd9323d2b5a838bb8a52cc52c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java
@@ -84,7 +84,7 @@ public class Q00601_WatchingEyes extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -122,7 +122,7 @@ public class Q00601_WatchingEyes extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(1) && (getRandom(1000) < MOBS.get(npc.getId())))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java
index ee2203fc721fcdc17ee118507263727db0657060..27ce56a90b109b70214c9458bdbea2490f80ba85 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java
@@ -84,7 +84,7 @@ public class Q00602_ShadowOfLight extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -122,7 +122,7 @@ public class Q00602_ShadowOfLight extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java
index 638e00536fc52d016b58abb1fdee6ac7a6ab912a..18f29306e420073139d9adfbe66c6027f2a7cd97 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java
@@ -185,7 +185,7 @@ public class Q00605_AllianceWithKetraOrcs extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -269,7 +269,7 @@ public class Q00605_AllianceWithKetraOrcs extends Quest
 		final L2PcInstance member = getRandomPartyMemberState(killer, State.STARTED);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			final DropInfo info = MOBS.get(npc.getId());
 			if ((st.getCond() >= info.getMinCond()) && (st.getCond() < 6) && canGetItem(st, info.getItemId()) && (getRandom(1000) < info.getChance()))
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java
index 2716c40c7d4435a339ed05ee0b13a7ecb526c59c..8031872302ce86cccb2fb167bae3d8d9ae37cd38 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java
@@ -75,7 +75,7 @@ public class Q00606_BattleAgainstVarkaSilenos extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -113,7 +113,7 @@ public class Q00606_BattleAgainstVarkaSilenos extends Quest
 		final L2PcInstance member = getRandomPartyMember(killer, 1);
 		if ((member != null) && (getRandom(1000) < MOBS.get(npc.getId())))
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			st.giveItems(MANE, 1);
 			st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
 		}
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java
index 17fd77843d336ab17c910689d45e7a8bc1d6d476..cf55d4a6c74651e736f8789bda2c53cd67777be9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java
@@ -54,7 +54,7 @@ public class Q00607_ProveYourCourageKetra extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(SHADITH_HEAD, 1);
@@ -65,7 +65,7 @@ public class Q00607_ProveYourCourageKetra extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java
index 8a113e1d97cffc0201e0f1d3e92b76820ebc538e..7cf72317f6415bb328a5a4eeefde98c5d510a027 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java
@@ -54,7 +54,7 @@ public class Q00608_SlayTheEnemyCommanderKetra extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(MOS_HEAD, 1);
@@ -65,7 +65,7 @@ public class Q00608_SlayTheEnemyCommanderKetra extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java
index 26e544431fbf4d0e5e01464cb2c5741014710291..b10234d5c9d158c4ef46c810822f33eb15a95022 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java
@@ -95,7 +95,7 @@ public class Q00609_MagicalPowerOfWaterPart1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -139,7 +139,7 @@ public class Q00609_MagicalPowerOfWaterPart1 extends Quest
 	@Override
 	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
 	{
-		final QuestState st = attacker.getQuestState(getName());
+		final QuestState st = getQuestState(attacker, false);
 		if ((st != null) && st.isCond(2) && !st.isSet("spawned"))
 		{
 			st.set("spawned", "1");
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java
index ad1c217e87192e3c84f99b1e7a16f078a51f2c19..f1f08700bee320efdc82d09f84e7e69a7f168ce9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java
@@ -69,7 +69,7 @@ public class Q00610_MagicalPowerOfWaterPart2 extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			if (npc.getId() == ASHUTAR)
@@ -96,7 +96,7 @@ public class Q00610_MagicalPowerOfWaterPart2 extends Quest
 		String htmltext = null;
 		if (player != null)
 		{
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if (st == null)
 			{
 				return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java
index d8f685d3576e12eb4d0e66ccda5b8d1617d685c2..e870d755e7038b0eacb9c06c5b5fe7b2ffd46025 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java
@@ -185,7 +185,7 @@ public class Q00611_AllianceWithVarkaSilenos extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -269,7 +269,7 @@ public class Q00611_AllianceWithVarkaSilenos extends Quest
 		final L2PcInstance member = getRandomPartyMemberState(killer, State.STARTED);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			final DropInfo info = MOBS.get(npc.getId());
 			if ((st.getCond() >= info.getMinCond()) && (st.getCond() < 6) && canGetItem(st, info.getItemId()) && (getRandom(1000) < info.getChance()))
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java
index 19ca70ff1906ca2ee48d7db9f7f5b98d6316e6c5..6e1829c313bb4f778a6d033aeee79fc929d41ffa 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java
@@ -75,7 +75,7 @@ public class Q00612_BattleAgainstKetraOrcs extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -113,7 +113,7 @@ public class Q00612_BattleAgainstKetraOrcs extends Quest
 		final L2PcInstance member = getRandomPartyMember(killer, 1);
 		if ((member != null) && (getRandom(1000) < MOBS.get(npc.getId())))
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			st.giveItems(MOLAR, 1);
 			st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
 		}
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java
index c11708d77fbe9bfe1e736c73aef4e007c87f8907..6c214e69abb19ef74a6557960020eb148794c524 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java
@@ -54,7 +54,7 @@ public class Q00613_ProveYourCourageVarka extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(HEKATON_HEAD, 1);
@@ -65,7 +65,7 @@ public class Q00613_ProveYourCourageVarka extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java
index ca17ff43e00e7cb3b1f84a6d24b368e61c91c22c..19907559edc4deb98762ef57f65fe34c8025da9a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java
@@ -54,7 +54,7 @@ public class Q00614_SlayTheEnemyCommanderVarka extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(TAYR_HEAD, 1);
@@ -65,7 +65,7 @@ public class Q00614_SlayTheEnemyCommanderVarka extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java
index 71dc426c2eb3ad60831f3b530e52c9a9a012eaea..47e59c93879166d95bd469bd58f64d349e71eb48 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java
@@ -95,7 +95,7 @@ public class Q00615_MagicalPowerOfFirePart1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -139,7 +139,7 @@ public class Q00615_MagicalPowerOfFirePart1 extends Quest
 	@Override
 	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
 	{
-		final QuestState st = attacker.getQuestState(getName());
+		final QuestState st = getQuestState(attacker, false);
 		if ((st != null) && st.isCond(2) && !st.isSet("spawned"))
 		{
 			st.set("spawned", "1");
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java
index 1edafc9dff70b0e3c2cffa511ca03940f10e3c19..24eb5030655d9584a658b69fab85b947937bb1a5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java
@@ -69,7 +69,7 @@ public class Q00616_MagicalPowerOfFirePart2 extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			if (npc.getId() == NASTRON)
@@ -96,7 +96,7 @@ public class Q00616_MagicalPowerOfFirePart2 extends Quest
 		String htmltext = null;
 		if (player != null)
 		{
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if (st == null)
 			{
 				return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00617_GatherTheFlames/Q00617_GatherTheFlames.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00617_GatherTheFlames/Q00617_GatherTheFlames.java
index 8fd1a35409343eaf760ec2a92fa10d0982d7f186..865e28992f7f94df370becfaed9cc3e928e877c2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00617_GatherTheFlames/Q00617_GatherTheFlames.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00617_GatherTheFlames/Q00617_GatherTheFlames.java
@@ -89,7 +89,7 @@ public class Q00617_GatherTheFlames extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -159,7 +159,7 @@ public class Q00617_GatherTheFlames extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		if (getRandom(1000) < MOBS.get(npc.getId()))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00618_IntoTheFlame/Q00618_IntoTheFlame.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00618_IntoTheFlame/Q00618_IntoTheFlame.java
index 8000cebd4d701228548787a1e06ca7953578b3d2..8c15fdbf922c7485685cae4409f784c1e559a528 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00618_IntoTheFlame/Q00618_IntoTheFlame.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00618_IntoTheFlame/Q00618_IntoTheFlame.java
@@ -69,7 +69,7 @@ public class Q00618_IntoTheFlame extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -123,7 +123,7 @@ public class Q00618_IntoTheFlame extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 2);
 		if (member != null)
 		{
-			final QuestState qs = member.getQuestState(getName());
+			final QuestState qs = getQuestState(member, false);
 			if ((qs.getQuestItemsCount(VACUALITE_ORE) < REQUIRED_COUNT) && (getRandom(1000) < MONSTERS.get(npc.getId())))
 			{
 				qs.giveItems(VACUALITE_ORE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java
index 897a587dcd2d49b20d19d8e79a40a96b42a3de08..9ad7a98fcfe630075775932e3197c9a641ae33f9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java
@@ -226,7 +226,7 @@ public final class Q00619_RelicsOfTheOldEmpire extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00624_TheFinestIngredientsPart1/Q00624_TheFinestIngredientsPart1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00624_TheFinestIngredientsPart1/Q00624_TheFinestIngredientsPart1.java
index 83565e78ee099b8e6cac782447aa4ab978878b33..1a78648700cdb1bffa46226f7fe6d6f75fd17726 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00624_TheFinestIngredientsPart1/Q00624_TheFinestIngredientsPart1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00624_TheFinestIngredientsPart1/Q00624_TheFinestIngredientsPart1.java
@@ -66,7 +66,7 @@ public final class Q00624_TheFinestIngredientsPart1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -115,7 +115,7 @@ public final class Q00624_TheFinestIngredientsPart1 extends Quest
 				}
 				if (getQuestItemsCount(partyMember, getRegisteredItemIds()) == 150)
 				{
-					partyMember.getQuestState(getName()).setCond(2, true);
+					getQuestState(partyMember, false).setCond(2, true);
 				}
 			}
 			else
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java
index eb7ea88a1061ad4f6bbb0f43637b195f1ce207b4..9e5996edb9283ecaf9070ce690d8e987b17b0425 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java
@@ -79,7 +79,7 @@ public class Q00626_ADarkTwilight extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -123,7 +123,7 @@ public class Q00626_ADarkTwilight extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			final float chance = (MONSTERS.get(npc.getId()) * Config.RATE_QUEST_DROP);
 			if (getRandom(1000) < chance)
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java
index 7c70f052efcc3dd286af53726b665c9c6b3a90af..9f0703954cc043685b026a92835f815a46fb4db8 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java
@@ -82,7 +82,7 @@ public class Q00627_HeartInSearchOfPower extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -163,7 +163,7 @@ public class Q00627_HeartInSearchOfPower extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			final float chance = (MONSTERS.get(npc.getId()) * Config.RATE_QUEST_DROP);
 			if (getRandom(1000) < chance)
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00631_DeliciousTopChoiceMeat/Q00631_DeliciousTopChoiceMeat.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00631_DeliciousTopChoiceMeat/Q00631_DeliciousTopChoiceMeat.java
index e9adc34e7328584de3759e29af36c39392141cc5..c811f659e07aff155b17f418e5beffafd26ed90c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00631_DeliciousTopChoiceMeat/Q00631_DeliciousTopChoiceMeat.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00631_DeliciousTopChoiceMeat/Q00631_DeliciousTopChoiceMeat.java
@@ -95,7 +95,7 @@ public class Q00631_DeliciousTopChoiceMeat extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java
index 0a957e844a48c09a0094536485f6d25337537ae8..899a6c01eef03d5722f1913b1a44dbf4ebc6737b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java
@@ -51,7 +51,7 @@ public final class Q00636_TruthBeyond extends Quest
 	@Override
 	public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java
index 5321805bc3205fa8ed216bfeae66cf7517b63910..9068aa87a9c71bb046548248b6215f6ac706b743 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java
@@ -59,7 +59,7 @@ public final class Q00637_ThroughOnceMore extends Quest
 	@Override
 	public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -79,7 +79,7 @@ public final class Q00637_ThroughOnceMore extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (st.getState() == State.STARTED))
 		{
 			final long count = st.getQuestItemsCount(NECRO_HEART);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00641_AttackSailren/Q00641_AttackSailren.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00641_AttackSailren/Q00641_AttackSailren.java
index f6c3e57367d5dd8c477cc5d0d5b6102f70050695..90297ff0b2b11407a89540e02c6a3f7b00ea7e64 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00641_AttackSailren/Q00641_AttackSailren.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00641_AttackSailren/Q00641_AttackSailren.java
@@ -61,7 +61,7 @@ public class Q00641_AttackSailren extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -89,7 +89,7 @@ public class Q00641_AttackSailren extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(player, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			if (st != null)
 			{
 				st.giveItems(GAZKH_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java
index 2e504de26189eb4e68ef1983a7d9cccb5f32fd10..ef92003405a334138efef6e1dc02cb9e8f8630df 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java
@@ -107,7 +107,7 @@ public class Q00643_RiseAndFallOfTheElrokiTribe extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -190,7 +190,7 @@ public class Q00643_RiseAndFallOfTheElrokiTribe extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		int npcId = npc.getId();
 		
 		if (Util.contains(MOBS1, npcId))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java
index 0b2fbbff15ae785caea694bce476cb85674f57be..8c229e007b6d0c49a64a25821efd26e32d36b336 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java
@@ -74,7 +74,7 @@ public final class Q00644_GraveRobberAnnihilation extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00645_GhostsOfBatur/Q00645_GhostsOfBatur.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00645_GhostsOfBatur/Q00645_GhostsOfBatur.java
index dcb3e65327485de6fec11ff217b4ca64563b7fa6..748a42ad144f3bc7c163be9bba02c85c9927448d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00645_GhostsOfBatur/Q00645_GhostsOfBatur.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00645_GhostsOfBatur/Q00645_GhostsOfBatur.java
@@ -62,7 +62,7 @@ public class Q00645_GhostsOfBatur extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -104,7 +104,7 @@ public class Q00645_GhostsOfBatur extends Quest
 		{
 			if (getRandom(1000) < CHANCES[npc.getId() - CONTAMINATED_MOREK_WARRIOR])
 			{
-				final QuestState st = player.getQuestState(getName());
+				final QuestState st = getQuestState(player, false);
 				st.giveItems(CURSED_BURIAL_ITEMS, 1);
 				if (st.isCond(1) && (st.getQuestItemsCount(CURSED_BURIAL_ITEMS) >= 500))
 				{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00647_InfluxOfMachines/Q00647_InfluxOfMachines.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00647_InfluxOfMachines/Q00647_InfluxOfMachines.java
index 95e4125bae1fb1e05aa12e4ef0959e20ca0cde1b..f95ed683efbc9ebf9547ba4218914ec922e0e429 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00647_InfluxOfMachines/Q00647_InfluxOfMachines.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00647_InfluxOfMachines/Q00647_InfluxOfMachines.java
@@ -84,7 +84,7 @@ public class Q00647_InfluxOfMachines extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -119,7 +119,7 @@ public class Q00647_InfluxOfMachines extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 1);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			if (st.isCond(1) && (getRandom(1000) < MOBS.get(npc.getId())))
 			{
 				st.giveItems(BROKEN_GOLEM_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java
index 1e49ba590f42b1fcb8f4a3d81dd3429abfe85635..9095b1498b1f39f62617d606f57f4356f39b1d5e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java
@@ -68,7 +68,7 @@ public final class Q00649_ALooterAndARailroadMan extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -128,7 +128,7 @@ public final class Q00649_ALooterAndARailroadMan extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false) && (getRandom(1000) < MONSTERS.get(npc.getId())))
 		{
 			st.giveItems(THIEF_GUILD_MARK, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00650_ABrokenDream/Q00650_ABrokenDream.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00650_ABrokenDream/Q00650_ABrokenDream.java
index e5eb47cc84d166f5517232dc33a651c325ec4a52..7b835e34159e0869951652a642a23f6bb01bb5fa 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00650_ABrokenDream/Q00650_ABrokenDream.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00650_ABrokenDream/Q00650_ABrokenDream.java
@@ -23,6 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import quests.Q00117_TheOceanOfDistantStars.Q00117_TheOceanOfDistantStars;
+
 import com.l2jserver.gameserver.enums.QuestSound;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@@ -64,7 +66,7 @@ public final class Q00650_ABrokenDream extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -124,7 +126,7 @@ public final class Q00650_ABrokenDream extends Quest
 				}
 				else
 				{
-					final QuestState q117 = player.getQuestState("117_OceanOfDistantStar"); // TODO: Update.
+					final QuestState q117 = player.getQuestState(Q00117_TheOceanOfDistantStars.class.getSimpleName());
 					htmltext = (q117 != null) && q117.isCompleted() ? "32054-01.htm" : "32054-04.htm";
 				}
 				break;
@@ -142,7 +144,7 @@ public final class Q00650_ABrokenDream extends Quest
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
 		final List<L2PcInstance> randomList = new ArrayList<>();
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isStarted())
 		{
 			randomList.add(killer);
@@ -154,7 +156,7 @@ public final class Q00650_ABrokenDream extends Quest
 		{
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				final QuestState qs = member.getQuestState(getName());
+				final QuestState qs = getQuestState(member, false);
 				if ((qs != null) && qs.isStarted())
 				{
 					randomList.add(member);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java
index 54abb4de4fb24d3b556833ce6512be9111f9a0e2..57a99d54df74a3e0e779b69d6e9be5cd039c5cb5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java
@@ -48,7 +48,7 @@ public class Q00651_RunawayYouth extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00652_AnAgedExAdventurer/Q00652_AnAgedExAdventurer.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00652_AnAgedExAdventurer/Q00652_AnAgedExAdventurer.java
index ec40909926f536c871b874893df71b9f53b52b62..2015824f5623a3b412702f160e4fc5f7c1c7c12f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00652_AnAgedExAdventurer/Q00652_AnAgedExAdventurer.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00652_AnAgedExAdventurer/Q00652_AnAgedExAdventurer.java
@@ -47,7 +47,7 @@ public class Q00652_AnAgedExAdventurer extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java
index 2934d97b862b3cae46551f11d33ebe2349e358c3..208bb3ef5b4baade48b383ef3c3db2348062f7a3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java
@@ -48,7 +48,7 @@ public class Q00653_WildMaiden extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java
index e6f9e04392628693df9a10847096f1581e5c73ac..030a8b260eb572a8b7d57d80091c056697660802 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java
@@ -61,7 +61,7 @@ public final class Q00659_IdRatherBeCollectingFairyBreath extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00662_AGameOfCards/Q00662_AGameOfCards.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00662_AGameOfCards/Q00662_AGameOfCards.java
index 4c7c5a4eb46e48986981c98430bfa809220fb355..a48bc0357a1f80436da2f0532a3ba9730180f547 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00662_AGameOfCards/Q00662_AGameOfCards.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00662_AGameOfCards/Q00662_AGameOfCards.java
@@ -102,7 +102,7 @@ public final class Q00662_AGameOfCards extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -718,7 +718,7 @@ public final class Q00662_AGameOfCards extends Quest
 		{
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				if (member.getQuestState(getName()) != null)
+				if (getQuestState(member, false) != null)
 				{
 					players.add(member);
 				}
@@ -730,7 +730,7 @@ public final class Q00662_AGameOfCards extends Quest
 		{
 			if (MONSTERS.get(npc.getId()) < getRandom(1000))
 			{
-				final QuestState st = player.getQuestState(getName());
+				final QuestState st = getQuestState(player, false);
 				if (st != null)
 				{
 					st.giveItems(RED_GEM, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java
index 36cb14a3a514733c5ae39346fbd2988deaa92941..4723472de6426ebe65c9424224685cb8da3fde8e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java
@@ -53,7 +53,7 @@ public class Q00688_DefeatTheElrokianRaiders extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -129,7 +129,7 @@ public class Q00688_DefeatTheElrokianRaiders extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		float chance = (DROP_RATE * Config.RATE_QUEST_DROP);
 		if (getRandom(1000) < chance)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java
index af004b84e68cfc19071a0f67f667301e5d898fb7..47cf85485b007ce12468b01304248c1c915ed2d3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java
@@ -76,7 +76,7 @@ public class Q00690_JudesRequest extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -131,7 +131,7 @@ public class Q00690_JudesRequest extends Quest
 		{
 			return null;
 		}
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		final int npcId = npc.getId();
 		int chance = 0;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java
index 1a24030f132dc1deb07646ba836729c06392d70c..b28ef2e05cfc704e4a41cab10b82b7c4258161f6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java
@@ -69,7 +69,7 @@ public final class Q00691_MatrasSuspiciousRequest extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -134,7 +134,7 @@ public final class Q00691_MatrasSuspiciousRequest extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = pl.getQuestState(getName());
+		final QuestState st = getQuestState(pl, false);
 		int chance = (int) (Config.RATE_QUEST_DROP * REWARD_CHANCES.get(npc.getId()));
 		int numItems = Math.max((chance / 1000), 1);
 		chance = chance % 1000;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java
index 9a8b2dcff59c8617f32c58a133703ad6eece721a..ab0b1d51e9adead731103bd134e36525fba98c4c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java
@@ -113,7 +113,7 @@ public final class Q00692_HowtoOpposeEvil extends Quest
 	@Override
 	public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -179,7 +179,7 @@ public final class Q00692_HowtoOpposeEvil extends Quest
 		{
 			return null;
 		}
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		final int npcId = npc.getId();
 		if ((st != null) && QUEST_MOBS.containsKey(npcId))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00699_GuardianOfTheSkies/Q00699_GuardianOfTheSkies.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00699_GuardianOfTheSkies/Q00699_GuardianOfTheSkies.java
index 2f449ca71fa651bd3bb4ec82da7d65d7b7bf8c8a..be2a70343b7e0f9036902d23b2cfeb47c4180935 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00699_GuardianOfTheSkies/Q00699_GuardianOfTheSkies.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00699_GuardianOfTheSkies/Q00699_GuardianOfTheSkies.java
@@ -68,7 +68,7 @@ public class Q00699_GuardianOfTheSkies extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -100,7 +100,7 @@ public class Q00699_GuardianOfTheSkies extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st != null)
 		{
 			if (npc.getId() == VALDSTONE)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00700_CursedLife/Q00700_CursedLife.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00700_CursedLife/Q00700_CursedLife.java
index e047376102322b483eb1b91a76786bc6def7f1a8..b19cc4479d9597c4835ad1525bf13fc6eb86c62f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00700_CursedLife/Q00700_CursedLife.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00700_CursedLife/Q00700_CursedLife.java
@@ -76,7 +76,7 @@ public class Q00700_CursedLife extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -151,7 +151,7 @@ public class Q00700_CursedLife extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st != null)
 		{
 			if (npc.getId() == ROK)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00701_ProofOfExistence/Q00701_ProofOfExistence.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00701_ProofOfExistence/Q00701_ProofOfExistence.java
index a895e166594e505ac86a8058c588b65b64d2e901..2e4af7eb5abb217baaa79916a03c1c87bc338e89 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00701_ProofOfExistence/Q00701_ProofOfExistence.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00701_ProofOfExistence/Q00701_ProofOfExistence.java
@@ -69,7 +69,7 @@ public class Q00701_ProofOfExistence extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -101,7 +101,7 @@ public class Q00701_ProofOfExistence extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if (npc.getId() == ENIRA)
 		{
 			final int chance = getRandom(1000);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00702_ATrapForRevenge/Q00702_ATrapForRevenge.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00702_ATrapForRevenge/Q00702_ATrapForRevenge.java
index 040c36a5c93987f619eb133769879b9221a783e5..a6b5003d38d5c3cfe9941a7e04ff074f927c92c3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00702_ATrapForRevenge/Q00702_ATrapForRevenge.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00702_ATrapForRevenge/Q00702_ATrapForRevenge.java
@@ -67,7 +67,7 @@ public class Q00702_ATrapForRevenge extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -272,7 +272,7 @@ public class Q00702_ATrapForRevenge extends Quest
 		{
 			return null;
 		}
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		final int chance = getRandom(1000);
 		switch (npc.getId())
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00901_HowLavasaurusesAreMade/Q00901_HowLavasaurusesAreMade.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00901_HowLavasaurusesAreMade/Q00901_HowLavasaurusesAreMade.java
index 255001ab48f3ce0629bce5f0c1721c8a88283753..ca6e84dab35cdfc2ba0617ff6a26c5205b0aa3d7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00901_HowLavasaurusesAreMade/Q00901_HowLavasaurusesAreMade.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00901_HowLavasaurusesAreMade/Q00901_HowLavasaurusesAreMade.java
@@ -62,7 +62,7 @@ public class Q00901_HowLavasaurusesAreMade extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -106,7 +106,7 @@ public class Q00901_HowLavasaurusesAreMade extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1))
 		{
 			switch (npc.getId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java
index ee775cc9331c6dfb59b2492a1a9146c7da74dff2..421be8d7c96c6a757a96218e0d2b1b9920fb8dd6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java
@@ -73,7 +73,7 @@ public final class Q00902_ReclaimOurEra extends Quest
 	
 	private void giveItem(L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (st.isStarted()) && (!st.isCond(5)) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(MONSTER_DROPS.get(npc.getId()), 1);
@@ -84,7 +84,7 @@ public final class Q00902_ReclaimOurEra extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00903_TheCallOfAntharas/Q00903_TheCallOfAntharas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00903_TheCallOfAntharas/Q00903_TheCallOfAntharas.java
index 88e5069455913f27942ef158a79e19689d85b27a..966515ee3885dbafbd4da105fcf3150b8c572d07 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00903_TheCallOfAntharas/Q00903_TheCallOfAntharas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00903_TheCallOfAntharas/Q00903_TheCallOfAntharas.java
@@ -58,7 +58,7 @@ public class Q00903_TheCallOfAntharas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			switch (npc.getId())
@@ -87,7 +87,7 @@ public class Q00903_TheCallOfAntharas extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java
index e0fe930b10451eb8fa9cdd9e518dd7aaeb555e4f..ac94a39e0ea2c6c835631a897453d33c46c46a95 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java
@@ -54,7 +54,7 @@ public final class Q00904_DragonTrophyAntharas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.setCond(2, true);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00905_RefinedDragonBlood/Q00905_RefinedDragonBlood.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00905_RefinedDragonBlood/Q00905_RefinedDragonBlood.java
index c9afee08ed02e81c525bf32a48e1d48c8ea448e5..754ae0f7f75a22ffdbb26266409b28803fcdba55 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00905_RefinedDragonBlood/Q00905_RefinedDragonBlood.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00905_RefinedDragonBlood/Q00905_RefinedDragonBlood.java
@@ -84,7 +84,7 @@ public final class Q00905_RefinedDragonBlood extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			final int itemId = MONSTERS.get(npc.getId());
@@ -107,7 +107,7 @@ public final class Q00905_RefinedDragonBlood extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00906_TheCallOfValakas/Q00906_TheCallOfValakas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00906_TheCallOfValakas/Q00906_TheCallOfValakas.java
index 92ee6c9fbca9f1884453758d1e5323eaa614c606..c26cba2e1bb1993e79a0788414344be8ffc6b8bf 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00906_TheCallOfValakas/Q00906_TheCallOfValakas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00906_TheCallOfValakas/Q00906_TheCallOfValakas.java
@@ -56,7 +56,7 @@ public class Q00906_TheCallOfValakas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(LAVASAURUS_ALPHA_FRAGMENT, 1);
@@ -68,7 +68,7 @@ public class Q00906_TheCallOfValakas extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java
index 67c3c920229e8a4e8fb9b2807a49f57639c835a6..7bc402a6340d55cb222d9167b177cd3fd657f779 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java
@@ -54,7 +54,7 @@ public class Q00907_DragonTrophyValakas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.setCond(2, true);
@@ -64,7 +64,7 @@ public class Q00907_DragonTrophyValakas extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00998_FallenAngelSelect/Q00998_FallenAngelSelect.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00998_FallenAngelSelect/Q00998_FallenAngelSelect.java
index a0b2eada04b3841fbd72d10a029167d84546dc1e..03720b3ffc53833ee3976496c2607cd5fed1b8c7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00998_FallenAngelSelect/Q00998_FallenAngelSelect.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00998_FallenAngelSelect/Q00998_FallenAngelSelect.java
@@ -52,7 +52,7 @@ public class Q00998_FallenAngelSelect extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java
index 158faab44b8ccf2869201eee52c60178471eac07..bdb164384e2d9d7c6db076a2ae83bcbfe7904817 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java
@@ -49,7 +49,7 @@ public class Q10267_JourneyToGracia extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java
index 07e1336d947fdc8f5d74a473fe47736a4afbf5a9..27828d1cc2fcd43cea7a042ab22b0eba54113a28 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java
@@ -48,7 +48,7 @@ public class Q10268_ToTheSeedOfInfinity extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java
index b745dd75efc76998000d906c93e642d09d460d5a..c2586c9e64c1137f57dd9f8729d326d897b7c403 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java
@@ -48,7 +48,7 @@ public class Q10269_ToTheSeedOfDestruction extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java
index d41cf92fe534b7c861b0497c4307096043fcc548..5f5a13fbcbc183271f001f5be01ab768a39e078b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java
@@ -48,7 +48,7 @@ public class Q10271_TheEnvelopingDarkness extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java
index d701076f948bb0c579e05c6666caefbc83e05932..25a20268af5402dd62bdd5bebfe29cdddbef9df2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java
@@ -75,7 +75,7 @@ public class Q10272_LightFragment extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -143,7 +143,7 @@ public class Q10272_LightFragment extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(5))
 		{
 			final long count = st.getQuestItemsCount(FRAGMENT_POWDER);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java
index 0db3e40f1df1f54dc97aa6fbde0939650a1c065e..dd20b0b458ca2bfd143c6501e8d4a0c3918ef93a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java
@@ -60,7 +60,7 @@ public class Q10273_GoodDayToFly extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -97,7 +97,7 @@ public class Q10273_GoodDayToFly extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st == null) || !st.isStarted())
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java
index 0cd1eba7eab6073bed39c359f6dd6614126f3a11..dff08d410f4ed5f424acf6352fd24c83f9cc338a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java
@@ -69,7 +69,7 @@ public class Q10274_CollectingInTheAir extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -86,7 +86,7 @@ public class Q10274_CollectingInTheAir extends Quest
 	@Override
 	public String onSkillSee(L2Npc npc, L2PcInstance caster, Skill skill, L2Object[] targets, boolean isSummon)
 	{
-		final QuestState st = caster.getQuestState(getName());
+		final QuestState st = getQuestState(caster, false);
 		if ((st == null) || !st.isStarted())
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java
index 2ab6dd4db458bcca550a7585ae7fed9fe7abf780..02a0e8ebdc16cca0204c55659b5f6b9ce1b26ab9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java
@@ -65,7 +65,7 @@ public class Q10275_ContainingTheAttributePower extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
@@ -133,7 +133,7 @@ public class Q10275_ContainingTheAttributePower extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java
index faf62de8f02da4e8d9ce24154df6502872418614..02f85f09e3c6953a4993171e4beeb1395452be5d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java
@@ -56,7 +56,7 @@ public class Q10276_MutatedKaneusGludio extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -78,7 +78,7 @@ public class Q10276_MutatedKaneusGludio extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q10276_MutatedKaneusGludio extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				st = getQuestState(member, false);
 				if ((st != null) && st.isStarted() && (((npcId == TOMLAN_KAMOS) && !st.hasQuestItems(TISSUE_TK)) || ((npcId == OL_ARIOSH) && !st.hasQuestItems(TISSUE_OA))))
 				{
 					PartyMembers.add(st);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
index 56ca2bf9c39c2cef8947fa5d75127ff547e787f5..fa0bc677380658791f8e3cdd5b96a6318a8e9dc8 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
@@ -56,7 +56,7 @@ public class Q10277_MutatedKaneusDion extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -78,7 +78,7 @@ public class Q10277_MutatedKaneusDion extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return super.onKill(npc, killer, isSummon);
@@ -90,7 +90,7 @@ public class Q10277_MutatedKaneusDion extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				st = getQuestState(member, false);
 				if ((st != null) && st.isStarted() && (((npcId == CRIMSON_HATU) && !st.hasQuestItems(TISSUE_CH)) || ((npcId == SEER_FLOUROS) && !st.hasQuestItems(TISSUE_SF))))
 				{
 					PartyMembers.add(st);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java
index c627489589309e6b119d5259a19efe1ec7a6b95c..e664faae1777f6683a2d9ee335e9d91199ebfb13 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java
@@ -56,7 +56,7 @@ public class Q10278_MutatedKaneusHeine extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -78,7 +78,7 @@ public class Q10278_MutatedKaneusHeine extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q10278_MutatedKaneusHeine extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				st = getQuestState(member, false);
 				if ((st != null) && st.isStarted() && (((npcId == BLADE_OTIS) && !st.hasQuestItems(TISSUE_BO)) || ((npcId == WEIRD_BUNEI) && !st.hasQuestItems(TISSUE_WB))))
 				{
 					PartyMembers.add(st);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java
index 2b23fe410ba7c3026df5c3c0670952e797d0db79..e6a48a6ed3ad774fa6ddcbbd5358313d581fdc46 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java
@@ -56,7 +56,7 @@ public class Q10279_MutatedKaneusOren extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -78,7 +78,7 @@ public class Q10279_MutatedKaneusOren extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q10279_MutatedKaneusOren extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				st = getQuestState(member, false);
 				if ((st != null) && st.isStarted() && (((npcId == KAIM_ABIGORE) && !st.hasQuestItems(TISSUE_KA)) || ((npcId == KNIGHT_MONTAGNAR) && !st.hasQuestItems(TISSUE_KM))))
 				{
 					PartyMembers.add(st);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java
index cd2891a34a73488c597cc90944651645e401ff20..69f93a3ad9982b4d5862b088c21c702842f2dc80 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java
@@ -56,7 +56,7 @@ public class Q10280_MutatedKaneusSchuttgart extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -78,7 +78,7 @@ public class Q10280_MutatedKaneusSchuttgart extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q10280_MutatedKaneusSchuttgart extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				st = getQuestState(member, false);
 				if ((st != null) && st.isStarted() && (((npcId == VENOMOUS_STORACE) && !st.hasQuestItems(TISSUE_VS)) || ((npcId == KEL_BILETTE) && !st.hasQuestItems(TISSUE_KB))))
 				{
 					PartyMembers.add(st);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java
index dd57d0d7688c9319ca4b408d0208b89b4eb398a0..ad1f0aaef085b3af3eda2d47418e100ba75c48cf 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java
@@ -54,7 +54,7 @@ public class Q10281_MutatedKaneusRune extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -76,7 +76,7 @@ public class Q10281_MutatedKaneusRune extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return null;
@@ -88,7 +88,7 @@ public class Q10281_MutatedKaneusRune extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				st = getQuestState(member, false);
 				if ((st != null) && st.isStarted() && !st.hasQuestItems(TISSUE_WA))
 				{
 					PartyMembers.add(st);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java
index 0ffd04bbfd68b3b869cd1f106c9a067e306fed3c..fe21d2d9b42c60a86c73c4ed4127fac22b5059f4 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java
@@ -49,7 +49,7 @@ public class Q10282_ToTheSeedOfAnnihilation extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java
index e9a9c2ca7ee636a7c5823d484ae69e33bbc77138..47afbc658be74e6534c28339e3ea596fb2bd1adc 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java
@@ -56,7 +56,7 @@ public class Q10283_RequestOfIceMerchant extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
@@ -112,7 +112,7 @@ public class Q10283_RequestOfIceMerchant extends Quest
 			return "32760-10.html";
 		}
 		
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(2))
 		{
 			return "32760-01.html";
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java
index bd8ede3ea1d8bc76700af2998758f9ae54071c65..e504083da5bac170006c36b62c538199419c0762 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java
@@ -52,7 +52,7 @@ public class Q10288_SecretMission extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -99,7 +99,7 @@ public class Q10288_SecretMission extends Quest
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		// dialog only changes when you talk to Aquilani after quest completion
 		if ((st != null) && st.isCompleted())
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java
index 921c5a76b315f5377eb03c14970b95e7d2bf2542..e9926bcc409a1c32f7f0497f10b94f54a224e554 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java
@@ -84,7 +84,7 @@ public final class Q10290_LandDragonConqueror extends Quest
 		{
 			if (Util.checkIfInRange(8000, npc, p, false))
 			{
-				QuestState st = p.getQuestState(getName());
+				QuestState st = getQuestState(p, false);
 				
 				if ((st != null) && st.isCond(1) && st.hasQuestItems(SHABBY_NECKLACE))
 				{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java
index f54e5045a0998cf0cca8bfc3d32f702a5315b6d5..78b99429864f4d6cb944a2c4d0b8181ace929bf3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java
@@ -56,7 +56,7 @@ public class Q10291_FireDragonDestroyer extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -83,7 +83,7 @@ public class Q10291_FireDragonDestroyer extends Quest
 		{
 			if (Util.checkIfInRange(8000, npc, p, false))
 			{
-				QuestState st = p.getQuestState(getName());
+				QuestState st = getQuestState(p, false);
 				
 				if ((st != null) && st.isCond(1) && st.hasQuestItems(POOR_NECKLACE))
 				{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
index be96bcde87a52a0e151d4c575a7c9a8ae7490a7e..02c5eba01cfb2375d2e9f11587a6053563a544d5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
@@ -55,7 +55,7 @@ public class Q10501_ZakenEmbroideredSoulCloak extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			final long currentCount = st.getQuestItemsCount(ZAKENS_SOUL_FRAGMENT);
@@ -76,7 +76,7 @@ public class Q10501_ZakenEmbroideredSoulCloak extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (player.getLevel() >= MIN_LEVEL) && event.equals("32612-04.html"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
index b0b7bdc8c85c26240946f1ef8e1199562cc8f1e4..9c91f9c46099f603c7c260bb910413abf71b1564 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
@@ -55,7 +55,7 @@ public class Q10502_FreyaEmbroideredSoulCloak extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			final long currentCount = st.getQuestItemsCount(FREYAS_SOUL_FRAGMENT);
@@ -76,7 +76,7 @@ public class Q10502_FreyaEmbroideredSoulCloak extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (player.getLevel() >= MIN_LEVEL) && event.equals("32612-04.html"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
index 9a9c82e71f9edef93982d89c1b1fabd84ec3266a..df278452dff5334e30c8d62fd513e71c5df175d5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
@@ -56,7 +56,7 @@ public class Q10503_FrintezzaEmbroideredSoulCloak extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			final long currentCount = st.getQuestItemsCount(FRINTEZZAS_SOUL_FRAGMENT);
@@ -77,7 +77,7 @@ public class Q10503_FrintezzaEmbroideredSoulCloak extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (player.getLevel() >= MIN_LEVEL) && event.equals("32612-04.html"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10504_JewelOfAntharas/Q10504_JewelOfAntharas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10504_JewelOfAntharas/Q10504_JewelOfAntharas.java
index fcdc9f9504f26704c7a3abb7198d3ef76063ebee..419d921b51a414491d6304d9e0d9e55ffd604919 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10504_JewelOfAntharas/Q10504_JewelOfAntharas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10504_JewelOfAntharas/Q10504_JewelOfAntharas.java
@@ -56,7 +56,7 @@ public final class Q10504_JewelOfAntharas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.takeItems(CLEAR_CRYSTAL, -1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10505_JewelOfValakas/Q10505_JewelOfValakas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10505_JewelOfValakas/Q10505_JewelOfValakas.java
index 48a79f8e15c758bf454a39ee45e9cfe768f0f973..af0fbb0614574fae1df7bc8107e9b2fa4c7ab58d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10505_JewelOfValakas/Q10505_JewelOfValakas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10505_JewelOfValakas/Q10505_JewelOfValakas.java
@@ -56,7 +56,7 @@ public class Q10505_JewelOfValakas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.takeItems(EMPTY_CRYSTAL, -1);
@@ -69,7 +69,7 @@ public class Q10505_JewelOfValakas extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java b/L2J_DataPack/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java
index 77a70d5545706c3948e804fecfbb580ab76b50aa..c19ad7838d86f8cc5ac8b98b4562e2163fae2030 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java
@@ -115,7 +115,7 @@ public class TerritoryWarSuperClass extends Quest
 	
 	private void handleKillTheQuest(L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		int kill = 1;
 		int max = 10;
 		if (st == null)
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange1/DarkElvenChange1.java b/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange1/DarkElvenChange1.java
index 4559bc09f5eb3b186b0fc1606dd490597905bacc..bc7df16c14ad3f481e45164062a21a78b0d78e25 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange1/DarkElvenChange1.java
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange1/DarkElvenChange1.java
@@ -68,7 +68,7 @@ public final class DarkElvenChange1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -114,11 +114,7 @@ public final class DarkElvenChange1 extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = getNoQuestMsg(player);
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
 		if (player.isSubClassActive())
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange2/DarkElvenChange2.java b/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange2/DarkElvenChange2.java
index cb7c70767bcbca8d6a07df71b97356435c7a16ac..bc52774a8ee20acf427e5cc0d340410b9af9f494 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange2/DarkElvenChange2.java
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange2/DarkElvenChange2.java
@@ -86,7 +86,7 @@ public final class DarkElvenChange2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -135,11 +135,8 @@ public final class DarkElvenChange2 extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = getNoQuestMsg(player);
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
+		
 		if (player.isSubClassActive())
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/dwarven_occupation_change/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/dwarven_occupation_change/__init__.py
index 95a35543a2cf6080489d135399e0914dc8ba86fa..db37ca0b78d0f951bbdaad39cecb96b81b11791e 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/dwarven_occupation_change/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/dwarven_occupation_change/__init__.py
@@ -48,7 +48,7 @@ class Quest (JQuest) :
  def onAdvEvent (self,event,npc,player) :
    npcId    = npc.getId()
    htmltext = event
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -90,7 +90,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    if player.isSubClassActive() :
       st.exitQuest(1)
       return htmltext
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_buffers_2/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_buffers_2/__init__.py
index 0acaf4a34e87efba2bc1dda270726838a11007b6..87577e114de308c426b3ed565e8005046b0c50f4 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_buffers_2/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_buffers_2/__init__.py
@@ -48,7 +48,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -78,7 +78,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_1/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_1/__init__.py
index 29bf7e48c589c84daf30093f73db4e405d6514ae..1c9d8fcbc8f3266d7647f4078a00f2c9e7b1f527 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_1/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_1/__init__.py
@@ -51,7 +51,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -79,7 +79,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race    = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_2/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_2/__init__.py
index 966f525954faf782ba9a45db8a89ccae6ba96953..6165b88097de3545ccdee7f044e0c802f7d8a57d 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_2/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_2/__init__.py
@@ -62,7 +62,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -92,7 +92,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_1/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_1/__init__.py
index 38c11133a838784c99a174f17da5ceb74f3e92c9..ccadd87d15aaf09bba7593aad35581456036c073 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_1/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_1/__init__.py
@@ -49,7 +49,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -77,7 +77,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race    = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_2/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_2/__init__.py
index fcb3ae5082fd22a4a8f0ad0989bf2e6fa80406fc..7209ab60f49800eb93308af2a95e840d7b5481a8 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_2/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_2/__init__.py
@@ -51,7 +51,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -81,7 +81,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_1/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_1/__init__.py
index 26483a4d8208acee88877a9510bb015b2ccecf93..63fbaa681ee9b2013a430dba4d4fc426d11f1cc2 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_1/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_1/__init__.py
@@ -47,7 +47,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -75,7 +75,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race    = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_2/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_2/__init__.py
index 6bbb4cd27078b52ba6d4db66c3d5bfb4d1f81748..7cf00d45925edfafa0a466c944ea5dcaba48b5c9 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_2/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_2/__init__.py
@@ -52,7 +52,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -82,7 +82,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race = player.getRace().ordinal()
    classId = player.getClassId()