From 6435d0a503036621a178e6fa74d3ca95e797fbca Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Mon, 21 Nov 2011 13:09:21 +0000
Subject: [PATCH] Datapack code refactoring: 	* Removed "Loaded quest ...",
 with 600 quest this will be more likely spam. 	* Changed
 getQuestItemsCount(itemId) == 0 and getQuestItemsCount(itemId) < 1 for
 !st.hasQuestItems(itemId). 	* Changed getQuestItemsCount(itemId) > 0 and
 getQuestItemsCount(itemId) >= 1 for st.hasQuestItems(itemId). 	* Changed
 st.getState() != State.COMPLETED and st.getState() == State.COMPLETED for
 !qs.isCompleted() and qs.isCompleted() respectively. 	* Added some JavaDocs
 to event mods and minor code improvement. 	* Changed switch statements
 with one case for if statement. 	* Changed takeItems(itemId,
 st.getQuestItemsCount(itemId)) for takeItems(itemId, -1) where it was
 possible. 	* Changed for(int npcId : NPCIDS) addKillId(npcId); for
 addKillId(NPCIDS); can be done in more places. 	* Unhardcoded class Id
 in Q401_PathToWarrior.

---
 .../scripts/ai/group_template/BeastFarm.java  |   2 +-
 .../ai/group_template/FeedableBeasts.java     |   2 +-
 .../data/scripts/ai/individual/Baium.java     |   2 +-
 .../custom/EchoCrystals/EchoCrystals.java     |   8 +-
 .../KetraOrcSupport/KetraOrcSupport.java      |   3 +-
 .../scripts/custom/Nottingale/Nottingale.java |   3 +-
 .../PinsAndPouchUnseal.java                   |   2 +-
 .../custom/ShadowWeapons/ShadowWeapons.java   |  10 +-
 .../VarkaSilenosSupport.java                  |   3 +-
 .../scripts/events/HeavyMedal/HeavyMedal.java |   8 +-
 .../MasterOfEnchanting.java                   |   2 +-
 .../TheValentineEvent/TheValentineEvent.java  |   2 +-
 .../scripts/hellbound/Natives/Natives.java    |   2 +-
 .../CrystalCaverns/CrystalCaverns.java        |   9 +-
 .../DarkCloudMansion/DarkCloudMansion.java    |   2 +-
 .../Pailaka/PailakaDevilsLegacy.java          |  10 +-
 .../mods/eventmodElpies/eventmodElpies.java   |  10 +-
 .../mods/eventmodRabbits/eventmodRabbits.java |   9 +-
 .../Q10271_TheEnvelopingDarkness.java         |   8 +-
 .../Q10272_LightFragment.java                 |  12 +-
 .../Q10283_RequestOfIceMerchant.java          |   2 +-
 .../Q10288_SecretMission.java                 |   4 +-
 .../Q10289_FadeToBlack.java                   |   6 +-
 .../Q10290_LandDragonConqueror.java           |   2 +-
 .../Q10291_FireDragonDestroyer.java           |   2 +-
 .../Q132_MatrasCuriosity.java                 |   6 +-
 .../Q146_TheZeroHour/Q146_TheZeroHour.java    |   4 +-
 ...Q148_PathtoBecominganExaltedMercenary.java |   2 +-
 .../Q153_DeliverGoods/Q153_DeliverGoods.java  |   8 +-
 .../Q179_IntoTheLargeCavern.java              |   2 +-
 .../Q249_PoisonedPlainsOfTheLizardmen.java    |   2 +-
 .../Q250_WatchWhatYouEat.java                 |   2 +-
 .../Q278_HomeSecurity/Q278_HomeSecurity.java  |   2 +-
 .../Q279_TargetOfOpportunity.java             |   4 +-
 .../Q287_FiguringItOut.java                   |   4 +-
 .../Q289_NoMoreSoupForYou.java                | 150 ++++++++++++++----
 .../Q290_ThreatRemoval.java                   |   2 +-
 .../Q307_ControlDeviceOfTheGiants.java        |   6 +-
 .../Q309_ForAGoodCause.java                   |  12 +-
 .../Q350_EnhanceYourWeapon.java               |   6 +-
 .../Q401_PathToWarrior.java                   |   3 +-
 .../Q423_TakeYourBestShot.java                |   2 +-
 .../Q453_NotStrongEnoughAlone.java            |   2 +-
 .../Q461_RumbleInTheBase.java                 |   2 +-
 .../Q511_AwlUnderFoot/Q511_AwlUnderFoot.java  |   2 +-
 .../Q636_TruthBeyond/Q636_TruthBeyond.java    |   4 +-
 .../Q637_ThroughOnceMore.java                 |  10 +-
 .../Q691_MatrasSuspiciousRequest.java         |   4 +-
 .../Q692_HowtoOpposeEvil.java                 |   2 +-
 .../Q702_ATrapForRevenge.java                 |  12 +-
 .../quests/SagasScripts/SagaOfTheDuelist.java |   2 +-
 .../quests/SagasScripts/SagasSuperClass.java  |   8 +-
 .../TerritoryWarSuperClass.java               |   4 +-
 .../teleports/StakatoNest/StakatoNest.java    |   3 +-
 .../scripts/teleports/Warpgate/Warpgate.java  |   5 +-
 55 files changed, 243 insertions(+), 159 deletions(-)

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/BeastFarm.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/BeastFarm.java
index af374167fe..9dbb515d6c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/BeastFarm.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/BeastFarm.java
@@ -314,7 +314,7 @@ public class BeastFarm extends L2AttackableAIScript
 			nextNpc.setRunning();
 			
 			QuestState st = player.getQuestState("20_BringUpWithLove");
-			if (st != null && st.getInt("cond") == 1 && st.getQuestItemsCount(7185) == 0 && Rnd.get(10) == 1)
+			if (st != null && st.getInt("cond") == 1 && !st.hasQuestItems(7185) && Rnd.get(10) == 1)
 			{
 				// if player has quest 20 going, give quest item
 				// it's easier to hardcode it in here than to try and repeat this stuff in the quest
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/FeedableBeasts.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/FeedableBeasts.java
index 2a9e663b6d..41ac662901 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/FeedableBeasts.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/FeedableBeasts.java
@@ -398,7 +398,7 @@ public class FeedableBeasts extends L2AttackableAIScript
 			QuestState st = player.getQuestState("20_BringUpWithLove");
 			if (st != null)
 			{
-				if (Rnd.get(100) <= 5 && st.getQuestItemsCount(7185) == 0)
+				if (Rnd.get(100) <= 5 && !st.hasQuestItems(7185))
 				{
 					// if player has quest 20 going, give quest item
 					// it's easier to hardcode it in here than to try and repeat this stuff in the quest
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
index 7fcff30098..4eb25603f7 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java
@@ -314,7 +314,7 @@ public class Baium extends L2AttackableAIScript
 				return "<html><body>Angelic Vortex:<br>You may not enter while flying a wyvern</body></html>";
 			}
 			
-			if (GrandBossManager.getInstance().getBossStatus(LIVE_BAIUM) == ASLEEP && player.getQuestState("baium").getQuestItemsCount(4295) > 0) // bloody fabric
+			if (GrandBossManager.getInstance().getBossStatus(LIVE_BAIUM) == ASLEEP && player.getQuestState("baium").hasQuestItems(4295)) // bloody fabric
 			{
 				player.getQuestState("baium").takeItems(4295, 1);
 				// allow entry for the player for the next 30 secs (more than enough time for the TP to happen)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/custom/EchoCrystals/EchoCrystals.java b/L2J_DataPack_BETA/dist/game/data/scripts/custom/EchoCrystals/EchoCrystals.java
index 116be56aeb..550b6170bd 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/custom/EchoCrystals/EchoCrystals.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/custom/EchoCrystals/EchoCrystals.java
@@ -95,12 +95,14 @@ public class EchoCrystals extends Quest
 				String noadena = SCORES.get(score).getNoAdenaMsg();
 				String noscore = SCORES.get(score).getNoScoreMsg();
 
-				if (st.getQuestItemsCount(score) == 0)
+				if (!st.hasQuestItems(score))
+				{
 					htmltext = npc.getNpcId() + "-" + noscore + ".htm";
-
+				}
 				else if (st.getQuestItemsCount(ADENA) < COST)
+				{
 					htmltext = npc.getNpcId() + "-" + noadena + ".htm";
-
+				}
 				else
 				{
 					st.takeItems(ADENA, COST);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/custom/KetraOrcSupport/KetraOrcSupport.java b/L2J_DataPack_BETA/dist/game/data/scripts/custom/KetraOrcSupport/KetraOrcSupport.java
index eba8397ef1..3ebaf080be 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/custom/KetraOrcSupport/KetraOrcSupport.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/custom/KetraOrcSupport/KetraOrcSupport.java
@@ -125,7 +125,6 @@ public class KetraOrcSupport extends Quest
 			st = this.newQuestState(player);
 		int npcId = npc.getNpcId();
 		int Alevel = player.getAllianceWithVarkaKetra();
-		long horns = st.getQuestItemsCount(HORN);
 		if (npcId == KADUN)
 		{
 			if (Alevel > 0)
@@ -148,7 +147,7 @@ public class KetraOrcSupport extends Quest
 			else if (Alevel < 3 && Alevel > 0)
 				htmltext = "31372-1.htm";
 			else if (Alevel > 2)
-				if (horns != 0)
+				if (st.hasQuestItems(HORN))
 					htmltext = "31372-4.htm";
 				else
 					htmltext = "31372-2.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/custom/Nottingale/Nottingale.java b/L2J_DataPack_BETA/dist/game/data/scripts/custom/Nottingale/Nottingale.java
index c615e9611b..3fc217848a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/custom/Nottingale/Nottingale.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/custom/Nottingale/Nottingale.java
@@ -18,7 +18,6 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
-import com.l2jserver.gameserver.model.quest.State;
 import com.l2jserver.gameserver.network.serverpackets.RadarControl;
 
 /**
@@ -43,7 +42,7 @@ public class Nottingale extends Quest
 	{
 		String htmltext = event;
 		QuestState qs = player.getQuestState("10273_GoodDayToFly");
-		if (qs == null || qs.getState() != State.COMPLETED)
+		if (qs == null || !qs.isCompleted())
 		{
 			player.sendPacket(new RadarControl(2, 2, 0, 0, 0));
 			player.sendPacket(new RadarControl(0, 2, -184545, 243120, 1581));
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/custom/PinsAndPouchUnseal/PinsAndPouchUnseal.java b/L2J_DataPack_BETA/dist/game/data/scripts/custom/PinsAndPouchUnseal/PinsAndPouchUnseal.java
index a6e56d0a9c..0560eb9b9b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/custom/PinsAndPouchUnseal/PinsAndPouchUnseal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/custom/PinsAndPouchUnseal/PinsAndPouchUnseal.java
@@ -101,7 +101,7 @@ public class PinsAndPouchUnseal extends Quest
 			else
 				// this should not happen!
 				return "";
-			if (st.getQuestItemsCount(itemIds[0]) > 0)
+			if (st.hasQuestItems(itemIds[0]))
 			{
 				if (st.getQuestItemsCount(57) > price)
 				{
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/custom/ShadowWeapons/ShadowWeapons.java b/L2J_DataPack_BETA/dist/game/data/scripts/custom/ShadowWeapons/ShadowWeapons.java
index 0dbe4dd241..9d28723ad0 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/custom/ShadowWeapons/ShadowWeapons.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/custom/ShadowWeapons/ShadowWeapons.java
@@ -64,19 +64,19 @@ public class ShadowWeapons extends Quest
 		if (st == null)
 			return htmltext;
 
-		long has_d = st.getQuestItemsCount(D_COUPON);
-		long has_c = st.getQuestItemsCount(C_COUPON);
+		boolean has_d = st.hasQuestItems(D_COUPON);
+		boolean has_c = st.hasQuestItems(C_COUPON);
 
-		if (has_d > 0 || has_c > 0)
+		if (has_d  || has_c)
 		{
 			// let's assume character had both c & d-grade coupons, we'll confirm later
 			String multisell = "306893003";
-			if (has_d < 1)
+			if (!has_d)
 			{
 				// if s/he had c-grade only...
 				multisell = "306893002";
 			}
-			else if (has_c < 1)
+			else if (!has_c)
 			{
 				// or d-grade only.
 				multisell = "306893001";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/custom/VarkaSilenosSupport/VarkaSilenosSupport.java b/L2J_DataPack_BETA/dist/game/data/scripts/custom/VarkaSilenosSupport/VarkaSilenosSupport.java
index 18eb232110..1de9a780b7 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/custom/VarkaSilenosSupport/VarkaSilenosSupport.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/custom/VarkaSilenosSupport/VarkaSilenosSupport.java
@@ -125,7 +125,6 @@ public class VarkaSilenosSupport extends Quest
 			st = this.newQuestState(player);
 		int npcId = npc.getNpcId();
 		int Alevel = player.getAllianceWithVarkaKetra();
-		long seeds = st.getQuestItemsCount(SEED);
 		if (npcId == ASHAS)
 		{
 			if (Alevel < 0)
@@ -148,7 +147,7 @@ public class VarkaSilenosSupport extends Quest
 			else if (Alevel > -3 && Alevel > 0)
 				htmltext = "31379-1.htm";
 			else if (Alevel < -2)
-				if (seeds != 0)
+				if (st.hasQuestItems(SEED))
 					htmltext = "31379-4.htm";
 				else
 					htmltext = "31379-2.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java b/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
index 017c770ca5..a6f39edde6 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
@@ -204,13 +204,13 @@ public class HeavyMedal extends Quest
 		int _lev = 0;
 		if (st == null)
 			return 0;
-		else if (st.getQuestItemsCount(6402) > 0)
+		else if (st.hasQuestItems(6402))
 			_lev = 4;
-		else if (st.getQuestItemsCount(6401) > 0)
+		else if (st.hasQuestItems(6401))
 			_lev = 3;
-		else if (st.getQuestItemsCount(6400) > 0)
+		else if (st.hasQuestItems(6400))
 			_lev = 2;
-		else if (st.getQuestItemsCount(6399) > 0)
+		else if (st.hasQuestItems(6399))
 			_lev = 1;
 		
 		return _lev;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java b/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
index c8f161e8dd..bd614f837d 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
@@ -120,7 +120,7 @@ public class MasterOfEnchanting extends Quest
 		htmltext = event;
 		if (event.equalsIgnoreCase("buy_staff"))
 		{
-			if (st.getQuestItemsCount(_master_yogi_staff) == 0 && st.getQuestItemsCount(_adena) > _staff_price)
+			if (!st.hasQuestItems(_master_yogi_staff) && st.getQuestItemsCount(_adena) > _staff_price)
 			{
 				st.takeItems(_adena, _staff_price);
 				st.giveItems(_master_yogi_staff, 1);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java b/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
index 3eda8f4ae1..c764f72811 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
@@ -95,7 +95,7 @@ public class TheValentineEvent extends Quest
 		htmltext = event;
 		if (event.equalsIgnoreCase("4301-3.htm"))
 		{
-			if (st.getState() == State.COMPLETED)
+			if (st.isCompleted())
 			{
 				htmltext = "4301-4.htm";
 			}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Natives/Natives.java b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Natives/Natives.java
index 04b266b5ba..575a8b3906 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Natives/Natives.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Natives/Natives.java
@@ -107,7 +107,7 @@ public class Natives extends Quest
 					cancelQuestTimers("close_doors");
 					startQuestTimer("close_doors", 1800000, npc, player); // 30 min
 				}
-				else if (qs.getQuestItemsCount(MARK_OF_BETRAYAL) > 0)
+				else if (qs.hasQuestItems(MARK_OF_BETRAYAL))
 				{
 					htmltext = "32364-01.htm";
 				}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
index 050fe5beee..70e84c9ad2 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
@@ -44,7 +44,6 @@ import com.l2jserver.gameserver.model.entity.Instance;
 import com.l2jserver.gameserver.model.item.instance.L2ItemInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
-import com.l2jserver.gameserver.model.quest.State;
 import com.l2jserver.gameserver.model.zone.L2ZoneType;
 import com.l2jserver.gameserver.network.NpcStringId;
 import com.l2jserver.gameserver.network.SystemMessageId;
@@ -776,7 +775,7 @@ public class CrystalCaverns extends Quest
 		{
 			QuestState st = player.getQuestState("131_BirdInACage");
 			String htmltext = "32279.htm";
-			if (st != null && st.getState() != State.COMPLETED)
+			if (st != null && !st.isCompleted())
 				htmltext = "32279-01.htm";
 			return htmltext;
 		}
@@ -1306,7 +1305,7 @@ public class CrystalCaverns extends Quest
 					QuestState st = partyMember.getQuestState(qn);
 					if (st == null)
 						st = newQuestState(partyMember);
-					if (!isBaylor && st.getQuestItemsCount(CONT_CRYSTAL) > 0)
+					if (!isBaylor && st.hasQuestItems(CONT_CRYSTAL))
 					{
 						st.takeItems(CONT_CRYSTAL, 1);
 						st.giveItems(bossCry, 1);
@@ -1322,7 +1321,7 @@ public class CrystalCaverns extends Quest
 			QuestState st = player.getQuestState(qn);
 			if (st == null)
 				st = newQuestState(player);
-			if (!isBaylor && st.getQuestItemsCount(CONT_CRYSTAL) > 0)
+			if (!isBaylor && st.hasQuestItems(CONT_CRYSTAL))
 			{
 				st.takeItems(CONT_CRYSTAL, 1);
 				st.giveItems(bossCry, 1);
@@ -1790,7 +1789,7 @@ public class CrystalCaverns extends Quest
 								QuestState st = ((L2PcInstance) character).getQuestState(qn);
 								if (st == null)
 									st = newQuestState((L2PcInstance) character);
-								if (st.getQuestItemsCount(RACE_KEY) == 0)
+								if (!st.hasQuestItems(RACE_KEY))
 									return "";
 								if (world.roomsStatus[zone.getId() - 20104] == 0)
 									runEmeraldRooms(world, spawns, room);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
index 992b27ad9a..6e25cbc0d7 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
@@ -1035,7 +1035,7 @@ public class DarkCloudMansion extends Quest
 				if (st == null)
 					st = newQuestState(player);
 				
-				if (st.getQuestItemsCount(CC) < 1)
+				if (!st.hasQuestItems(CC))
 					st.giveItems(CC,1);
 			}
 		}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaDevilsLegacy.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaDevilsLegacy.java
index b9b3a00396..95106fe9fd 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaDevilsLegacy.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaDevilsLegacy.java
@@ -331,7 +331,7 @@ public class PailakaDevilsLegacy extends Quest
 	public final String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
 		final QuestState st = player.getQuestState(qn);
-		if (st != null && npc.getNpcId() == ADVENTURER2 && st.getState() == State.COMPLETED)
+		if (st != null && npc.getNpcId() == ADVENTURER2 && st.isCompleted())
 			return "32511-03.htm";
 		else
 			return npc.getNpcId() + ".htm";
@@ -374,7 +374,7 @@ public class PailakaDevilsLegacy extends Quest
 			case ADVENTURER1:
 				if(player.getPet() == null)
 				{
-					if (st.getQuestItemsCount(SWORD) > 0)
+					if (st.hasQuestItems(SWORD))
 					{
 						if(st.getQuestItemsCount(SCROLL_1) > 0)
 						{
@@ -487,17 +487,17 @@ public class PailakaDevilsLegacy extends Quest
 		switch (npc.getNpcId())
 		{
 			case KAMS:
-				if (st.getQuestItemsCount(SWORD) > 0)
+				if (st.hasQuestItems(SWORD))
 				{
 					st.playSound("ItemSound.quest_itemget");
 					st.giveItems(SCROLL_1, 1);
 				}
 				break;
 			case ALKASO:
-				if (st.getQuestItemsCount(ENH_SWORD1) > 0)
+				if (st.hasQuestItems(ENH_SWORD1))
 				{
 					st.playSound("ItemSound.quest_itemget");
-					st.giveItems(SCROLL_2, 1);					
+					st.giveItems(SCROLL_2, 1);
 				}
 				break;
 			case LEMATAN:
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodElpies/eventmodElpies.java b/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodElpies/eventmodElpies.java
index 6be4c991e8..2e55e6012f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodElpies/eventmodElpies.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodElpies/eventmodElpies.java
@@ -66,7 +66,12 @@ public class eventmodElpies extends Event
 		{  18564,  19200, 144377, 145782, -3081 },
 		{  82048,  82940,  53240,  54126, -1490 }
 	};
-	// Drop data
+	
+	/**
+	 * Drop data:<br />
+	 * Higher the chance harder the item.<br />
+	 * ItemId, chance in percent, min amount, max amount
+	 */
 	private static final int[][] DROPLIST =
 	{
 		{  1540,  80, 10, 15 },	// Quick Healing Potion
@@ -221,9 +226,8 @@ public class eventmodElpies extends Event
 	{
 		final int chance = Rnd.get(100);
 		
-		for (int i = 0; i < droplist.length; i++)
+		for (int[] drop : droplist)
 		{
-			int[] drop = droplist[i];
 			if (chance > drop[1])
 			{
 				((L2MonsterInstance)mob).dropItem(player, drop[0], Rnd.get(drop[2], drop[3]));
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRabbits/eventmodRabbits.java b/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRabbits/eventmodRabbits.java
index 98c1c0d7b7..118434dd2b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRabbits/eventmodRabbits.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/mods/eventmodRabbits/eventmodRabbits.java
@@ -58,7 +58,11 @@ public class eventmodRabbits extends Event
 	public static final int _skill_tornado = 630;
 	public static final int _skill_magic_eye = 629;
 	
-	// Drop data
+	/**
+	 * Drop data:<br />
+	 * Higher the chance harder the item.<br />
+	 * ItemId, chance in percent, min amount, max amount
+	 */
 	private static final int[][] DROPLIST =
 	{
 		{  1540,  80, 10, 15 },	// Quick Healing Potion
@@ -256,9 +260,8 @@ public class eventmodRabbits extends Event
 	{
 		final int chance = Rnd.get(100);
 		
-		for (int i = 0; i < droplist.length; i++)
+		for (int[] drop : droplist)
 		{
-			int[] drop = droplist[i];
 			if (chance > drop[1])
 			{
 				((L2MonsterInstance)mob).dropItem(player, drop[0], Rnd.get(drop[2], drop[3]));
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java
index 2e2a5a6293..936e1f58c0 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java
@@ -33,7 +33,7 @@ public class Q10271_TheEnvelopingDarkness extends Quest
 			{
 				case State.CREATED:
 					QuestState _prev = player.getQuestState("10269_ToTheSeedOfDestruction");
-					if ((_prev != null) && (_prev.getState() == State.COMPLETED) && (player.getLevel() >= 75))
+					if ((_prev != null) && _prev.isCompleted() && (player.getLevel() >= 75))
 						htmltext = "32560-01.htm";
 					else
 						htmltext = "32560-02.htm";
@@ -68,11 +68,9 @@ public class Q10271_TheEnvelopingDarkness extends Quest
 		
 		else if (npc.getNpcId() == EL)
 		{
-			switch (st.getState())
+			if (st.isCompleted())
 			{
-				case State.COMPLETED:
-					htmltext = "32556-02.htm";
-					break;
+				htmltext = "32556-02.htm";
 			}
 			if (st.getInt("cond") == 1)
 			{
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java
index 9301a9c726..6d73088c57 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java
@@ -43,7 +43,7 @@ public class Q10272_LightFragment extends Quest
 			{
 				case State.CREATED:
 					QuestState _prev = player.getQuestState("10271_TheEnvelopingDarkness");
-					if ((_prev != null) && (_prev.getState() == State.COMPLETED) && (player.getLevel() >= 75))
+					if ((_prev != null) && _prev.isCompleted() && (player.getLevel() >= 75))
 						htmltext = "32560-01.htm";
 					else
 						htmltext = "32560-02.htm";
@@ -65,11 +65,9 @@ public class Q10272_LightFragment extends Quest
 		}
 		else if (npc.getNpcId() == ARTIUS)
 		{
-			switch (st.getState())
+			if (st.isCompleted())
 			{
-				case State.COMPLETED:
-					htmltext = "32559-19.htm";
-					break;
+				htmltext = "32559-19.htm";
 			}
 			if (st.getInt("cond") == 1)
 			{
@@ -94,11 +92,11 @@ public class Q10272_LightFragment extends Quest
 					htmltext = "32559-15.htm";
 					st.set("cond", "6");
 				}
-				else if (st.getQuestItemsCount(FRAGMENT_POWDER) >= 1)
+				else if (st.hasQuestItems(FRAGMENT_POWDER))
 				{
 					htmltext = "32559-14.htm";
 				}
-				else if (st.getQuestItemsCount(FRAGMENT_POWDER) < 1)
+				else if (!st.hasQuestItems(FRAGMENT_POWDER))
 				{
 					htmltext = "32559-13.htm";
 				}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java
index 26ce1a514e..779aa78485 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java
@@ -97,7 +97,7 @@ public class Q10283_RequestOfIceMerchant extends Quest
 			{
 				case State.CREATED:
 					QuestState _prev = player.getQuestState("115_TheOtherSideOfTruth");
-					if ((_prev != null) && (_prev.getState() == State.COMPLETED) && (player.getLevel() >= 82))
+					if ((_prev != null) && _prev.isCompleted() && (player.getLevel() >= 82))
 						htmltext = "32020-01.htm";
 					else
 						htmltext = "32020-00.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java
index a66595c86d..0ad33e48c1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java
@@ -75,7 +75,7 @@ public class Q10288_SecretMission extends Quest
 					st.playSound("ItemSound.quest_middle");
 				}
 			}
-			else if (st.getState() == State.COMPLETED && event.equalsIgnoreCase("teleport"))
+			else if (st.isCompleted() && event.equalsIgnoreCase("teleport"))
 			{
 				player.teleToLocation(118833, -80589, -2688);
 				return null;
@@ -142,7 +142,7 @@ public class Q10288_SecretMission extends Quest
 		}
 		if (npc.getNpcId() == _aquilani)
 		{
-			if (st.getState() == State.COMPLETED)
+			if (st.isCompleted())
 				return "32780-01.html";
 			else
 				return "32780-00.html";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10289_FadeToBlack/Q10289_FadeToBlack.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10289_FadeToBlack/Q10289_FadeToBlack.java
index f29a877c03..b611ff76e7 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10289_FadeToBlack/Q10289_FadeToBlack.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10289_FadeToBlack/Q10289_FadeToBlack.java
@@ -42,7 +42,7 @@ public class Q10289_FadeToBlack extends Quest
 				st.set("cond", "1");
 				st.playSound("ItemSound.quest_accept");
 			}
-			else if(Util.isDigit(event) && st.getQuestItemsCount(MARK_OF_SPLENDOR) > 0)
+			else if(Util.isDigit(event) && st.hasQuestItems(MARK_OF_SPLENDOR))
 			{
 				int itemId = Integer.parseInt(event);
 				st.takeItems(MARK_OF_SPLENDOR, 1);
@@ -69,7 +69,7 @@ public class Q10289_FadeToBlack extends Quest
 			switch(st.getState())
 			{
 				case State.CREATED :
-					if (player.getLevel() >= 82 && secretMission != null && secretMission.getState() == State.COMPLETED)
+					if (player.getLevel() >= 82 && secretMission != null && secretMission.isCompleted())
 						htmltext = "32757-02.htm";
 					else if (player.getLevel() < 82)
 						htmltext = "32757-00.htm";
@@ -79,7 +79,7 @@ public class Q10289_FadeToBlack extends Quest
 				case State.STARTED :
 					if (st.getInt("cond") == 1)
 						htmltext = "32757-04b.htm";
-					if (st.getInt("cond") == 2 && st.getQuestItemsCount(MARK_OF_DARKNESS) > 0)
+					if (st.getInt("cond") == 2 && st.hasQuestItems(MARK_OF_DARKNESS))
 					{
 						htmltext = "32757-05.htm";
 						st.takeItems(MARK_OF_DARKNESS, 1);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java
index 6eea014817..9c1dc78f21 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java
@@ -54,7 +54,7 @@ public class Q10290_LandDragonConqueror extends Quest
 		{
 			case State.CREATED:
 			{
-				if (player.getLevel() >= 83 && st.getQuestItemsCount(PortalStone) >= 1)
+				if (player.getLevel() >= 83 && st.hasQuestItems(PortalStone))
 					htmltext = "30755-01.htm";
 				else if (player.getLevel() < 83)
 					htmltext = "30755-02.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java
index fa69b46ef0..0938f49b20 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java
@@ -54,7 +54,7 @@ public class Q10291_FireDragonDestroyer extends Quest
 		{
 			case State.CREATED:
 			{
-				if (player.getLevel() >= 83 && st.getQuestItemsCount(FloatingStone) >= 1)
+				if (player.getLevel() >= 83 && st.hasQuestItems(FloatingStone))
 					htmltext = "31540-01.htm";
 				else if (player.getLevel() < 83)
 					htmltext = "31540-02.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q132_MatrasCuriosity/Q132_MatrasCuriosity.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q132_MatrasCuriosity/Q132_MatrasCuriosity.java
index 4aa79f7e61..9f891bfc39 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q132_MatrasCuriosity/Q132_MatrasCuriosity.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q132_MatrasCuriosity/Q132_MatrasCuriosity.java
@@ -117,7 +117,7 @@ public final class Q132_MatrasCuriosity extends Quest
 				htmltext = "32245-02.htm";
 			}
 		}
-		else if (st.getState() == State.COMPLETED)
+		else if (st.isCompleted())
 		{
 			htmltext = getAlreadyCompletedMsg(player);
 		}
@@ -127,7 +127,7 @@ public final class Q132_MatrasCuriosity extends Quest
 			{
 				case 1:
 				case 2:
-					if ((st.getQuestItemsCount(BLUEPRINT_RANKU) > 0) && (st.getQuestItemsCount(BLUEPRINT_PRINCE) > 0))
+					if (st.hasQuestItems(BLUEPRINT_RANKU) && st.hasQuestItems(BLUEPRINT_PRINCE))
 					{
 						st.takeItems(BLUEPRINT_RANKU, -1);
 						st.takeItems(BLUEPRINT_PRINCE, -1);
@@ -162,7 +162,7 @@ public final class Q132_MatrasCuriosity extends Quest
 					st.giveItems(BLUEPRINT_PRINCE, 1);
 					st.set("rewarded_prince", "2");
 					
-					if (st.getQuestItemsCount(BLUEPRINT_RANKU) > 0)
+					if (st.hasQuestItems(BLUEPRINT_RANKU))
 					{
 						st.playSound("ItemSound.quest_middle");
 						st.set("cond", "2");
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q146_TheZeroHour/Q146_TheZeroHour.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q146_TheZeroHour/Q146_TheZeroHour.java
index 3d89ba4061..c0ae1ae72a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q146_TheZeroHour/Q146_TheZeroHour.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q146_TheZeroHour/Q146_TheZeroHour.java
@@ -54,7 +54,7 @@ public class Q146_TheZeroHour extends Quest
 					htmltext = "31554-02.htm";
 				else
 				{
-					if (prev != null && prev.getState() == State.COMPLETED)
+					if ((prev != null) && prev.isCompleted())
 						htmltext = "31554-01a.htm";
 					else
 						htmltext = "31554-04.html";
@@ -88,7 +88,7 @@ public class Q146_TheZeroHour extends Quest
 			return null;
 		QuestState st = partyMember.getQuestState(qn);
 		
-		if (st.getQuestItemsCount(Fang) < 1)
+		if (!st.hasQuestItems(Fang))
 		{
 			st.giveItems(Fang, 1);
 			st.set("cond", "2");
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q148_PathtoBecominganExaltedMercenary/Q148_PathtoBecominganExaltedMercenary.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q148_PathtoBecominganExaltedMercenary/Q148_PathtoBecominganExaltedMercenary.java
index 6836f4b5b6..4dd993bf4f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q148_PathtoBecominganExaltedMercenary/Q148_PathtoBecominganExaltedMercenary.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q148_PathtoBecominganExaltedMercenary/Q148_PathtoBecominganExaltedMercenary.java
@@ -84,7 +84,7 @@ public class Q148_PathtoBecominganExaltedMercenary extends Quest
 					}
 					else
 					{
-						if (_prev != null && _prev.getState() == State.COMPLETED)
+						if ((_prev != null) && _prev.isCompleted())
 							htmltext = "exalted-00a.htm";
 						else
 							htmltext = "exalted-00.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q153_DeliverGoods/Q153_DeliverGoods.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q153_DeliverGoods/Q153_DeliverGoods.java
index d31b738693..f75438c077 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q153_DeliverGoods/Q153_DeliverGoods.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q153_DeliverGoods/Q153_DeliverGoods.java
@@ -117,7 +117,7 @@ public class Q153_DeliverGoods extends Quest
 			{
 				if (npc.getNpcId() == JacksonId)
 				{
-					if (st.getQuestItemsCount(HeavyWoodBoxId) > 0)
+					if (st.hasQuestItems(HeavyWoodBoxId))
 					{
 						htmltext = "30002-01.html";
 						st.takeItems(HeavyWoodBoxId, -1);
@@ -130,7 +130,7 @@ public class Q153_DeliverGoods extends Quest
 				}
 				else if (npc.getNpcId() == SilviaId)
 				{
-					if (st.getQuestItemsCount(ClothBundleId) > 0)
+					if (st.hasQuestItems(ClothBundleId))
 					{
 						htmltext = "30003-01.html";
 						st.takeItems(ClothBundleId, -1);
@@ -144,7 +144,7 @@ public class Q153_DeliverGoods extends Quest
 				}
 				else if (npc.getNpcId() == RantId)
 				{
-					if (st.getQuestItemsCount(ClayPotId) > 0)
+					if (st.hasQuestItems(ClayPotId))
 					{
 						htmltext = "30054-01.html";
 						st.takeItems(ClayPotId, -1);
@@ -156,7 +156,7 @@ public class Q153_DeliverGoods extends Quest
 					}
 				}
 				
-				if ((st.getInt("cond") == 1) && (st.getQuestItemsCount(JacksonsReceipt) > 0) && (st.getQuestItemsCount(SilviasReceipt) > 0) && (st.getQuestItemsCount(RantsReceipt) > 0))
+				if ((st.getInt("cond") == 1) && st.hasQuestItems(JacksonsReceipt) && st.hasQuestItems(SilviasReceipt) && st.hasQuestItems(RantsReceipt))
 				{
 					st.set("cond", "2");
 					st.playSound("ItemSound.quest_middle");
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q179_IntoTheLargeCavern/Q179_IntoTheLargeCavern.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q179_IntoTheLargeCavern/Q179_IntoTheLargeCavern.java
index b18d6b5260..6102f7c3f9 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q179_IntoTheLargeCavern/Q179_IntoTheLargeCavern.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q179_IntoTheLargeCavern/Q179_IntoTheLargeCavern.java
@@ -82,7 +82,7 @@ public class Q179_IntoTheLargeCavern extends Quest
 
 		QuestState _prev = player.getQuestState("178_IconicTrinity");
 		if (_prev != null
-			&& _prev.getState() == State.COMPLETED
+			&& _prev.isCompleted()
 			&& player.getLevel() >= 17
 			&& player.getRace().ordinal() == 5
 			&& player.getClassId().level() == 0)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q249_PoisonedPlainsOfTheLizardmen/Q249_PoisonedPlainsOfTheLizardmen.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q249_PoisonedPlainsOfTheLizardmen/Q249_PoisonedPlainsOfTheLizardmen.java
index ca8be9d2b6..bad99f7d88 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q249_PoisonedPlainsOfTheLizardmen/Q249_PoisonedPlainsOfTheLizardmen.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q249_PoisonedPlainsOfTheLizardmen/Q249_PoisonedPlainsOfTheLizardmen.java
@@ -91,7 +91,7 @@ public class Q249_PoisonedPlainsOfTheLizardmen extends Quest
 		{
 			if (st.getInt("cond") == 1)
 				htmltext = "32744-01.htm";
-			else if (st.getState() == State.COMPLETED)
+			else if (st.isCompleted())
 				htmltext = "32744-04.htm";
 		}
 		return htmltext;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q250_WatchWhatYouEat/Q250_WatchWhatYouEat.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q250_WatchWhatYouEat/Q250_WatchWhatYouEat.java
index 539cf24467..e955af35bc 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q250_WatchWhatYouEat/Q250_WatchWhatYouEat.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q250_WatchWhatYouEat/Q250_WatchWhatYouEat.java
@@ -64,7 +64,7 @@ public class Q250_WatchWhatYouEat extends Quest
 				st.playSound("ItemSound.quest_finish");
 				st.exitQuest(false);
 			}
-			else if (event.equalsIgnoreCase("32743-22.html") && st.getState() == State.COMPLETED)
+			else if (event.equalsIgnoreCase("32743-22.html") && st.isCompleted())
 			{
 				htmltext = "32743-23.html";
 			}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q278_HomeSecurity/Q278_HomeSecurity.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q278_HomeSecurity/Q278_HomeSecurity.java
index 96c5ef8481..377bc38f7f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q278_HomeSecurity/Q278_HomeSecurity.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q278_HomeSecurity/Q278_HomeSecurity.java
@@ -73,7 +73,7 @@ public class Q278_HomeSecurity extends Quest
 			else
 				st.giveItems(959, 1);
 			
-			st.takeItems(SelMahumMane, st.getQuestItemsCount(SelMahumMane));
+			st.takeItems(SelMahumMane, -1);
 			st.unset("cond");
 			st.playSound("ItemSound.quest_finish");
 			st.exitQuest(true);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q279_TargetOfOpportunity/Q279_TargetOfOpportunity.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q279_TargetOfOpportunity/Q279_TargetOfOpportunity.java
index 3762defd17..850c7875dc 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q279_TargetOfOpportunity/Q279_TargetOfOpportunity.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q279_TargetOfOpportunity/Q279_TargetOfOpportunity.java
@@ -142,7 +142,7 @@ public final class Q279_TargetOfOpportunity extends Quest
 		final QuestState st = pl.getQuestState(qn);
 		if (Rnd.get(1000) < (int) (311 * Config.RATE_QUEST_DROP))
 		{
-			if (st.getQuestItemsCount(SEAL_COMPONENTS[idx]) < 1)
+			if (!st.hasQuestItems(SEAL_COMPONENTS[idx]))
 			{
 				st.giveItems(SEAL_COMPONENTS[idx], 1);
 				if (haveAllExceptThis(st, idx))
@@ -168,7 +168,7 @@ public final class Q279_TargetOfOpportunity extends Quest
 				continue;
 			}
 			
-			if (st.getQuestItemsCount(SEAL_COMPONENTS[i]) < 1)
+			if (!st.hasQuestItems(SEAL_COMPONENTS[i]))
 			{
 				return false;
 			}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q287_FiguringItOut/Q287_FiguringItOut.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q287_FiguringItOut/Q287_FiguringItOut.java
index 1814eace27..3be35d9ee4 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q287_FiguringItOut/Q287_FiguringItOut.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q287_FiguringItOut/Q287_FiguringItOut.java
@@ -119,7 +119,7 @@ public class Q287_FiguringItOut extends Quest
 		}
 		else if (event.equalsIgnoreCase("32742-11.html"))
 		{
-			if (st.getQuestItemsCount(VialOfTantaBlood) >= 1)
+			if (st.hasQuestItems(VialOfTantaBlood))
 				htmltext = "32742-11.html";
 			else
 			{
@@ -151,7 +151,7 @@ public class Q287_FiguringItOut extends Quest
 		switch (st.getState())
 		{
 			case State.CREATED:
-				if (player.getLevel() >= 82 && prev != null && prev.getState() == State.COMPLETED)
+				if (player.getLevel() >= 82 && prev != null && prev.isCompleted())
 					htmltext = "32742-01.htm";
 				else
 					htmltext = "32742-14.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q289_NoMoreSoupForYou/Q289_NoMoreSoupForYou.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q289_NoMoreSoupForYou/Q289_NoMoreSoupForYou.java
index 83b2c2cc23..e3f5cb1e10 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q289_NoMoreSoupForYou/Q289_NoMoreSoupForYou.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q289_NoMoreSoupForYou/Q289_NoMoreSoupForYou.java
@@ -9,55 +9,135 @@ import com.l2jserver.gameserver.util.Util;
 
 public class Q289_NoMoreSoupForYou extends Quest
 {
-	public static final int STAN		= 30200;
-	public static final int RATE		= 5;
-	public static final int SOUP		= 15712;
-
+	public static final int STAN = 30200;
+	public static final int RATE = 5;
+	public static final int SOUP = 15712;
+	
 	public static final String qn = "289_NoMoreSoupForYou";
 	
 	private static final int[] MOBS =
 	{
 		18908, 22779, 22786, 22787, 22788
 	};
-
+	
 	private static final int[][] WEAPONS =
-	{{10377, 1}, {10401, 1}, {10401, 2}, {10401, 3}, {10401, 4}, {10401, 5}, {10401, 6}};
-
+	{
+		{
+			10377, 1
+		},
+		{
+			10401, 1
+		},
+		{
+			10401, 2
+		},
+		{
+			10401, 3
+		},
+		{
+			10401, 4
+		},
+		{
+			10401, 5
+		},
+		{
+			10401, 6
+		}
+	};
+	
 	private static final int[][] ARMORS =
-	{{15812, 1}, {15813, 1}, {15814, 1}, {15791, 1}, {15787, 1}, {15784, 1}, {15781, 1}, {15778, 1}, {15775, 1}, {15774, 5}, {15773, 5}, {15772, 5}, {15693, 5}, {15657, 5}, {15654, 5}, {15651, 5}, {15648, 5}, {15645, 5}};
+	{
+		{
+			15812, 1
+		},
+		{
+			15813, 1
+		},
+		{
+			15814, 1
+		},
+		{
+			15791, 1
+		},
+		{
+			15787, 1
+		},
+		{
+			15784, 1
+		},
+		{
+			15781, 1
+		},
+		{
+			15778, 1
+		},
+		{
+			15775, 1
+		},
+		{
+			15774, 5
+		},
+		{
+			15773, 5
+		},
+		{
+			15772, 5
+		},
+		{
+			15693, 5
+		},
+		{
+			15657, 5
+		},
+		{
+			15654, 5
+		},
+		{
+			15651, 5
+		},
+		{
+			15648, 5
+		},
+		{
+			15645, 5
+		}
+	};
 	
 	public Q289_NoMoreSoupForYou(int id, String name, String descr)
 	{
-		super(id,name,descr);
+		super(id, name, descr);
 		
 		addStartNpc(STAN);
 		addTalkId(STAN);
-
+		
 		for (int i : MOBS)
-			addKillId(i);	
+		{
+			addKillId(i);
+		}
 	}
 	
 	public static void main(String[] args)
 	{
 		new Q289_NoMoreSoupForYou(289, qn, "No More Soup For You");
-		_log.info("Loaded Quest: No More Soup For You");
 	}
 	
 	@Override
-	public String onAdvEvent (String event, L2Npc npc, L2PcInstance player)
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
 		QuestState st = player.getQuestState(qn);
 		if (st == null)
+		{
 			return htmltext;
+		}
 		int b = st.getRandom(18);
 		int c = st.getRandom(7);
-
+		
 		if (npc.getNpcId() == STAN)
 		{
 			if (event.equalsIgnoreCase("30200-03.htm"))
 			{
-				st.set("cond","1");
+				st.set("cond", "1");
 				st.setState(State.STARTED);
 				st.playSound("ItemSound.quest_accept");
 			}
@@ -65,75 +145,91 @@ public class Q289_NoMoreSoupForYou extends Quest
 			{
 				if (st.getQuestItemsCount(SOUP) >= 500)
 				{
-					st.giveItems(WEAPONS[c][0],WEAPONS[c][1]);
+					st.giveItems(WEAPONS[c][0], WEAPONS[c][1]);
 					st.takeItems(SOUP, 500);
 					st.playSound("ItemSound.quest_accept");
 					htmltext = "30200-04.htm";
 				}
 				else
+				{
 					htmltext = "30200-07.htm";
+				}
 			}
 			else if (event.equalsIgnoreCase("30200-06.htm"))
 			{
 				if (st.getQuestItemsCount(SOUP) >= 100)
 				{
-					st.giveItems(ARMORS[b][0],ARMORS[b][1]);
+					st.giveItems(ARMORS[b][0], ARMORS[b][1]);
 					st.takeItems(SOUP, 100);
 					st.playSound("ItemSound.quest_accept");
 					htmltext = "30200-04.htm";
 				}
 				else
+				{
 					htmltext = "30200-07.htm";
+				}
 			}
 		}
 		return htmltext;
 	}
 	
 	@Override
-	public String onTalk(L2Npc npc,L2PcInstance player)
+	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = getNoQuestMsg(player);
 		QuestState st = player.getQuestState(qn);
 		if (st == null)
+		{
 			return htmltext;
+		}
 		
-		if(npc.getNpcId() == STAN)
+		if (npc.getNpcId() == STAN)
 		{
 			switch (st.getState())
 			{
 				case State.CREATED:
-					QuestState PREV = player.getQuestState("252_ItSmellsDelicious");
-					if ((PREV != null) && (PREV.getState() == State.COMPLETED) && (player.getLevel() >= 82))
+					QuestState _prev = player.getQuestState("252_ItSmellsDelicious");
+					if ((_prev != null) && _prev.isCompleted() && (player.getLevel() >= 82))
+					{
 						htmltext = "30200-01.htm";
+					}
 					else
+					{
 						htmltext = "30200-00.htm";
-				break;
+					}
+					break;
 				case State.STARTED:
 					if (st.getInt("cond") == 1)
 					{
 						if (st.getQuestItemsCount(SOUP) >= 100)
+						{
 							htmltext = "30200-04.htm";
+						}
 						else
+						{
 							htmltext = "30200-03.htm";
+						}
 					}
-				break;
+					break;
 			}
 		}
 		return htmltext;
 	}
 	
 	@Override
-	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet) 
+	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
 		QuestState st = player.getQuestState(getName());
 		int npcId = npc.getNpcId();
-		if (st == null || st.getState() != State.STARTED)
+		if ((st == null) || (st.getState() != State.STARTED))
+		{
 			return null;
+		}
 		if (Util.contains(MOBS, npcId))
 		{
-			st.giveItems(SOUP, 1*RATE);
+			st.giveItems(SOUP, 1 * RATE);
 			st.playSound("ItemSound.quest_itemget");
 		}
 		return super.onKill(npc, player, isPet);
 	}
-}
\ No newline at end of file
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q290_ThreatRemoval/Q290_ThreatRemoval.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q290_ThreatRemoval/Q290_ThreatRemoval.java
index 9fdb2f4955..9c54c11561 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q290_ThreatRemoval/Q290_ThreatRemoval.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q290_ThreatRemoval/Q290_ThreatRemoval.java
@@ -105,7 +105,7 @@ public class Q290_ThreatRemoval extends Quest
 			switch (st.getState())
 			{
 				case State.CREATED:
-					if (player.getLevel() >= 82 && (_prev != null && _prev.getState() == State.COMPLETED))
+					if (player.getLevel() >= 82 && (_prev != null) && _prev.isCompleted())
 						htmltext = "30201-01.htm";
 					else
 						htmltext = "30201-00.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q307_ControlDeviceOfTheGiants/Q307_ControlDeviceOfTheGiants.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q307_ControlDeviceOfTheGiants/Q307_ControlDeviceOfTheGiants.java
index 6c263dea1f..e51cfcb58a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q307_ControlDeviceOfTheGiants/Q307_ControlDeviceOfTheGiants.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q307_ControlDeviceOfTheGiants/Q307_ControlDeviceOfTheGiants.java
@@ -58,9 +58,9 @@ public class Q307_ControlDeviceOfTheGiants extends Quest
 				st.setState(State.STARTED);
 				st.set("cond", "1");
 				st.playSound("ItemSound.quest_accept");
-				if (st.getQuestItemsCount(CET_1_SHEET) < 1 || st.getQuestItemsCount(CET_2_SHEET) < 1 || st.getQuestItemsCount(CET_3_SHEET) < 1)
+				if (!st.hasQuestItems(CET_1_SHEET) || !st.hasQuestItems(CET_2_SHEET) || !st.hasQuestItems(CET_3_SHEET))
 					htmltext = "32711-04.htm";
-				else if (st.getQuestItemsCount(CET_1_SHEET) >= 1 && st.getQuestItemsCount(CET_2_SHEET) >= 1 && st.getQuestItemsCount(CET_3_SHEET) >= 1)
+				else if (st.hasQuestItems(CET_1_SHEET) && st.hasQuestItems(CET_2_SHEET) && st.hasQuestItems(CET_3_SHEET))
 					htmltext = "32711-04a.htm";
 			}
 		}
@@ -134,7 +134,7 @@ public class Q307_ControlDeviceOfTheGiants extends Quest
 					htmltext = "32711-09.htm";
 				else if (st.getInt("cond") == 1)
 				{
-					if (st.getQuestItemsCount(CET_1_SHEET) < 1 || st.getQuestItemsCount(CET_2_SHEET) < 1 || st.getQuestItemsCount(CET_3_SHEET) < 1)
+					if (!st.hasQuestItems(CET_1_SHEET) || st.hasQuestItems(CET_2_SHEET) || st.hasQuestItems(CET_3_SHEET))
 						htmltext = "32711-07.htm";
 					else
 						htmltext = "32711-08.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q309_ForAGoodCause/Q309_ForAGoodCause.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q309_ForAGoodCause/Q309_ForAGoodCause.java
index f84c014945..8f86eebc17 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q309_ForAGoodCause/Q309_ForAGoodCause.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q309_ForAGoodCause/Q309_ForAGoodCause.java
@@ -216,7 +216,7 @@ public class Q309_ForAGoodCause extends Quest
 			if ((_prev!=null) && _prev.isStarted()){
 				htmltext = "32647-17.htm";
 			}else if (st.isStarted()){
-				if(st.getQuestItemsCount(MUCROKIAN_HIDE) >= 1 || st.getQuestItemsCount(FALLEN_MUCROKIAN_HIDE) >= 1)
+				if(st.hasQuestItems(MUCROKIAN_HIDE) || st.hasQuestItems(FALLEN_MUCROKIAN_HIDE))
 					htmltext = "32647-08.htm";
 				else
 					htmltext = "32647-06.htm";
@@ -264,8 +264,7 @@ public class Q309_ForAGoodCause extends Quest
 	
 	private String onPiecesExchangeRequest(QuestState st, int pieces,int event)
 	{
-		long h1 = st.getQuestItemsCount(MUCROKIAN_HIDE);
-		if (h1 >= event)
+		if (st.getQuestItemsCount(MUCROKIAN_HIDE) >= event)
 		{
 			st.giveItems(pieces,Rnd.get(1,4));
 			st.takeItems(MUCROKIAN_HIDE,event);
@@ -280,8 +279,7 @@ public class Q309_ForAGoodCause extends Quest
 	
 	private String onRecipeExchangeRequest(QuestState st, int recipe, int takeid, int quanty)
 	{
-		long h1 = st.getQuestItemsCount(takeid);
-		if (h1 >= quanty)
+		if (st.getQuestItemsCount(takeid) >= quanty)
 		{
 			st.giveItems(recipe, 1);
 			st.takeItems(takeid, quanty);
@@ -301,9 +299,7 @@ public class Q309_ForAGoodCause extends Quest
 		addStartNpc(ATRA);
 		addTalkId(ATRA);
 		
-		for(int _mob : MUCROKIANS)
-			addKillId(_mob);
-		
+		addKillId(MUCROKIANS);
 	}
 	
 	public static void main(String[] args)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q350_EnhanceYourWeapon/Q350_EnhanceYourWeapon.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q350_EnhanceYourWeapon/Q350_EnhanceYourWeapon.java
index 917d2ae630..03a6b2e43f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q350_EnhanceYourWeapon/Q350_EnhanceYourWeapon.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q350_EnhanceYourWeapon/Q350_EnhanceYourWeapon.java
@@ -124,7 +124,7 @@ public class Q350_EnhanceYourWeapon extends Quest
 	private boolean check(QuestState st)
 	{
 		for (int i = 4629; i < 4665; i++)
-			if (st.getQuestItemsCount(i) > 0)
+			if (st.hasQuestItems(i))
 				return true;
 		return false;
 	}
@@ -362,9 +362,7 @@ public class Q350_EnhanceYourWeapon extends Quest
 			htmltext = npc.getNpcId() + "-01.htm";
 		else if (check(st))
 			htmltext = npc.getNpcId() + "-03.htm";
-		else if (st.getQuestItemsCount(RED_SOUL_CRYSTAL0_ID) == 0
-				&& st.getQuestItemsCount(GREEN_SOUL_CRYSTAL0_ID) == 0
-				&& st.getQuestItemsCount(BLUE_SOUL_CRYSTAL0_ID) == 0)
+		else if (!st.hasQuestItems(RED_SOUL_CRYSTAL0_ID) && !st.hasQuestItems(GREEN_SOUL_CRYSTAL0_ID) && !st.hasQuestItems(BLUE_SOUL_CRYSTAL0_ID))
 			htmltext = npc.getNpcId() + "-21.htm";
 		return htmltext;
 	}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q401_PathToWarrior/Q401_PathToWarrior.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q401_PathToWarrior/Q401_PathToWarrior.java
index e8d8161a2e..7d1e21c34e 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q401_PathToWarrior/Q401_PathToWarrior.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q401_PathToWarrior/Q401_PathToWarrior.java
@@ -16,6 +16,7 @@ package quests.Q401_PathToWarrior;
 
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.base.ClassId;
 import com.l2jserver.gameserver.model.itemcontainer.Inventory;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
@@ -78,7 +79,7 @@ public class Q401_PathToWarrior extends Quest
 					htmltext = "30010-02.htm";
 				}
 			}
-			else if (player.getClassId().getId() == 0x01)
+			else if (player.getClassId() == ClassId.warrior)
 			{
 				htmltext = "30010-03.htm";
 			}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q423_TakeYourBestShot/Q423_TakeYourBestShot.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q423_TakeYourBestShot/Q423_TakeYourBestShot.java
index c583b6f722..2c7dd17044 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q423_TakeYourBestShot/Q423_TakeYourBestShot.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q423_TakeYourBestShot/Q423_TakeYourBestShot.java
@@ -86,7 +86,7 @@ public class Q423_TakeYourBestShot extends Quest
 			{
 				case State.CREATED :
 					QuestState _prev = player.getQuestState("249_PoisonedPlainsOfTheLizardmen");
-					if ((_prev != null) && (_prev.getState() == State.COMPLETED) && (player.getLevel() >= 82))
+					if ((_prev != null) && _prev.isCompleted() && (player.getLevel() >= 82))
 						if (st.hasQuestItems(_seer_ugoros_pass))
 							htmltext = "32744-07.htm";
 						else
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q453_NotStrongEnoughAlone/Q453_NotStrongEnoughAlone.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q453_NotStrongEnoughAlone/Q453_NotStrongEnoughAlone.java
index fa51f0fd9d..8634911a6d 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q453_NotStrongEnoughAlone/Q453_NotStrongEnoughAlone.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q453_NotStrongEnoughAlone/Q453_NotStrongEnoughAlone.java
@@ -106,7 +106,7 @@ public class Q453_NotStrongEnoughAlone extends Quest
 		switch (st.getState())
 		{
 			case State.CREATED:
-				if (player.getLevel() >= 84 && prev != null && prev.getState() == State.COMPLETED)
+				if ((player.getLevel() >= 84) && (prev != null) && prev.isCompleted())
 					htmltext = "32734-01.htm";
 				else
 					htmltext = "32734-03.html";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q461_RumbleInTheBase/Q461_RumbleInTheBase.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q461_RumbleInTheBase/Q461_RumbleInTheBase.java
index 1a0eb58131..5a74809cca 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q461_RumbleInTheBase/Q461_RumbleInTheBase.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q461_RumbleInTheBase/Q461_RumbleInTheBase.java
@@ -60,7 +60,7 @@ public class Q461_RumbleInTheBase extends Quest
 		switch (st.getState())
 		{
 			case State.CREATED:
-				if (player.getLevel() >= 82 && prev != null && prev.getState() == State.COMPLETED)
+				if ((player.getLevel() >= 82) && (prev != null) && prev.isCompleted())
 					htmltext = "30200-01.htm";
 				else
 					htmltext = "30200-02.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q511_AwlUnderFoot/Q511_AwlUnderFoot.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q511_AwlUnderFoot/Q511_AwlUnderFoot.java
index 68e6a1ff03..a68d60962f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q511_AwlUnderFoot/Q511_AwlUnderFoot.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q511_AwlUnderFoot/Q511_AwlUnderFoot.java
@@ -299,7 +299,7 @@ public final class Q511_AwlUnderFoot extends Quest
 				if (cond == 1 && count > 0)
 				{
 					htmltext = "FortressWarden-14.htm";
-					st.takeItems(DL_MARK,count);
+					st.takeItems(DL_MARK, -1);
 					st.rewardItems(KNIGHT_EPALUETTE, count);
 				}
 				else if (cond == 1 && count == 0)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q636_TruthBeyond/Q636_TruthBeyond.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q636_TruthBeyond/Q636_TruthBeyond.java
index 7e0dcdefbc..6da9377e11 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q636_TruthBeyond/Q636_TruthBeyond.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q636_TruthBeyond/Q636_TruthBeyond.java
@@ -79,9 +79,7 @@ public final class Q636_TruthBeyond extends Quest
 		
 		if (npc.getNpcId() == ELIAH)
 		{
-			if (st.getQuestItemsCount(VISITOR_MARK) > 0
-					|| st.getQuestItemsCount(FADED_MARK) > 0
-					|| st.getQuestItemsCount(MARK) > 0)
+			if (st.hasQuestItems(VISITOR_MARK) || st.hasQuestItems(FADED_MARK) || st.hasQuestItems(MARK))
 			{
 				st.exitQuest(true);
 				return "31329-mark.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q637_ThroughOnceMore/Q637_ThroughOnceMore.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q637_ThroughOnceMore/Q637_ThroughOnceMore.java
index 8ea157c063..ee8a891203 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q637_ThroughOnceMore/Q637_ThroughOnceMore.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q637_ThroughOnceMore/Q637_ThroughOnceMore.java
@@ -82,14 +82,14 @@ public final class Q637_ThroughOnceMore extends Quest
 		{
 			if (player.getLevel() > 72)
 			{
-				if (st.getQuestItemsCount(FADED_MARK) > 0)
+				if (st.hasQuestItems(FADED_MARK))
 					return "32010-02.htm";
-				if (st.getQuestItemsCount(VISITOR_MARK) > 0)
+				if (st.hasQuestItems(VISITOR_MARK))
 				{
 					st.exitQuest(true);
 					return "32010-01a.htm";
 				}
-				if (st.getQuestItemsCount(MARK) > 0)
+				if (st.hasQuestItems(MARK))
 				{
 					st.exitQuest(true);
 					return "32010-0.htm";
@@ -100,8 +100,7 @@ public final class Q637_ThroughOnceMore extends Quest
 		}
 		else if (id == State.STARTED)
 		{
-			if (Integer.parseInt(st.get("cond")) == 2
-					&& st.getQuestItemsCount(NECRO_HEART) == 10)
+			if ((st.getInt("cond") == 2) && st.getQuestItemsCount(NECRO_HEART) == 10)
 			{
 				st.takeItems(NECRO_HEART, 10);
 				st.takeItems(FADED_MARK, 1);
@@ -114,7 +113,6 @@ public final class Q637_ThroughOnceMore extends Quest
 			else
 				return "32010-04.htm";
 		}
-		
 		return getNoQuestMsg(player);
 	}
 	
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q691_MatrasSuspiciousRequest/Q691_MatrasSuspiciousRequest.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q691_MatrasSuspiciousRequest/Q691_MatrasSuspiciousRequest.java
index 25b47227d1..01614febfe 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q691_MatrasSuspiciousRequest/Q691_MatrasSuspiciousRequest.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q691_MatrasSuspiciousRequest/Q691_MatrasSuspiciousRequest.java
@@ -146,11 +146,11 @@ public final class Q691_MatrasSuspiciousRequest extends Quest
 		}
 		else if (st.getState() == State.STARTED)
 		{
-			if (st.getQuestItemsCount(RED_GEM) > 0)
+			if (st.hasQuestItems(RED_GEM))
 			{
 				htmltext = "32245-05.htm";
 			}
-			else if (st.getQuestItemsCount(RED_GEM) == 0)
+			else if (!st.hasQuestItems(RED_GEM))
 			{
 				htmltext = "32245-06.htm";
 			}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q692_HowtoOpposeEvil/Q692_HowtoOpposeEvil.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q692_HowtoOpposeEvil/Q692_HowtoOpposeEvil.java
index 850d939369..950984f572 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q692_HowtoOpposeEvil/Q692_HowtoOpposeEvil.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q692_HowtoOpposeEvil/Q692_HowtoOpposeEvil.java
@@ -175,7 +175,7 @@ public final class Q692_HowtoOpposeEvil extends Quest
 		{
 			if (npc.getNpcId() == DILIOS)
 			{
-				if (cond == 1 && st.getQuestItemsCount(LEKONS_CERTIFICATE) >= 1)
+				if (cond == 1 && st.hasQuestItems(LEKONS_CERTIFICATE))
 				{
 					st.takeItems(LEKONS_CERTIFICATE, 1);
 					htmltext = "32549-04.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q702_ATrapForRevenge/Q702_ATrapForRevenge.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q702_ATrapForRevenge/Q702_ATrapForRevenge.java
index cb9f67d045..43fdcd7e7f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q702_ATrapForRevenge/Q702_ATrapForRevenge.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q702_ATrapForRevenge/Q702_ATrapForRevenge.java
@@ -64,17 +64,15 @@ public class Q702_ATrapForRevenge extends Quest
 		}
 		else if (event.equalsIgnoreCase("32563-09.html"))
 		{
-			long count = st.getQuestItemsCount(DrakeFlesh);
-			st.giveItems(57, count * 100);
-			st.takeItems(DrakeFlesh, count);
+			st.giveItems(57, st.getQuestItemsCount(DrakeFlesh) * 100);
+			st.takeItems(DrakeFlesh, -1);
 		}
 		else if (event.equalsIgnoreCase("32563-11.html"))
 		{
 			if (st.hasQuestItems(VariantDrakeWingHorns))
 			{
-				long count = st.getQuestItemsCount(VariantDrakeWingHorns);
-				st.giveItems(57, count * 200000);
-				st.takeItems(VariantDrakeWingHorns, count);
+				st.giveItems(57, st.getQuestItemsCount(VariantDrakeWingHorns) * 200000);
+				st.takeItems(VariantDrakeWingHorns, -1);
 				htmltext = "32563-12.html";
 			}
 			else
@@ -237,7 +235,7 @@ public class Q702_ATrapForRevenge extends Quest
 			switch (st.getState())
 			{
 				case State.CREATED:
-					if (prev != null && prev.getState() == State.COMPLETED && player.getLevel() >= 78)
+					if ((prev != null) && prev.isCompleted() && (player.getLevel() >= 78))
 						htmltext = "32563-01.htm";
 					else
 						htmltext = "32563-02.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/SagasScripts/SagaOfTheDuelist.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/SagasScripts/SagaOfTheDuelist.java
index 5291dafb43..c03ade757b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/SagasScripts/SagaOfTheDuelist.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/SagasScripts/SagaOfTheDuelist.java
@@ -83,7 +83,7 @@ public class SagaOfTheDuelist extends SagasSuperClass
 				int cond = st.getInt("cond");
 				if (cond == 3)
 				{
-					if (st.getQuestItemsCount(TOPQUALITYMEAT) == 0)
+					if (!st.hasQuestItems(TOPQUALITYMEAT))
 					{
 						st.giveItems(TOPQUALITYMEAT, 1);
 						return "tunatun_01.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/SagasScripts/SagasSuperClass.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/SagasScripts/SagasSuperClass.java
index c3c280caf6..e58dd66c29 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/SagasScripts/SagasSuperClass.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/SagasScripts/SagasSuperClass.java
@@ -508,7 +508,7 @@ public class SagasSuperClass extends QuestJython
 		{
 			int npcId = npc.getNpcId();
 			int cond = st.getInt("cond");
-			if (st.getState() == State.COMPLETED && npcId == NPC[0])
+			if (st.isCompleted() && (npcId == NPC[0]))
 				htmltext = "<html><body>You have already completed this quest!</body></html>";
 			else if (player.getClassId().getId() == getPrevClass(player))
 			{
@@ -533,10 +533,10 @@ public class SagasSuperClass extends QuestJython
 				}
 				else if (cond == 3)
 				{
-					if (npcId == NPC[1] && st.getQuestItemsCount(Items[0]) != 0)
+					if (npcId == NPC[1] && st.hasQuestItems(Items[0]))
 					{
 						htmltext = "1-02.htm";
-						if (Items[11] == 0 || st.getQuestItemsCount(Items[11]) != 0)
+						if (Items[11] == 0 || st.hasQuestItems(Items[11]))
 							htmltext = "1-03.htm";
 					}
 				}
@@ -589,7 +589,7 @@ public class SagasSuperClass extends QuestJython
 				{
 					if (npcId == NPC[3])
 					{
-						if (st.getQuestItemsCount(Items[2]) > 0)
+						if (st.hasQuestItems(Items[2]))
 							htmltext = "3-05.htm";
 						else
 							htmltext = "3-04.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java
index 791c374555..bce8da66f7 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java
@@ -209,9 +209,9 @@ public class TerritoryWarSuperClass extends Quest
 		int max = 10;
 		if (st == null)
 			st = newQuestState(player);
-		if (st.getState() != State.COMPLETED)
+		if (!st.isCompleted())
 		{
-			if (st.getState() != State.STARTED)
+			if (!st.isStarted())
 			{
 				st.setState(State.STARTED);
 				st.set("cond","1");
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/teleports/StakatoNest/StakatoNest.java b/L2J_DataPack_BETA/dist/game/data/scripts/teleports/StakatoNest/StakatoNest.java
index 9c20921756..3029cef9fc 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/teleports/StakatoNest/StakatoNest.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/teleports/StakatoNest/StakatoNest.java
@@ -19,7 +19,6 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
-import com.l2jserver.gameserver.model.quest.State;
 
 public class StakatoNest extends Quest
 {
@@ -75,7 +74,7 @@ public class StakatoNest extends Quest
 	{
 		String htmltext = "";
 		QuestState accessQuest = player.getQuestState("240_ImTheOnlyOneYouCanTrust");
-		if (accessQuest != null && accessQuest.getState() == State.COMPLETED)
+		if ((accessQuest != null) && accessQuest.isCompleted())
 			htmltext = "32640.htm";
 		else
 			htmltext = "32640-no.htm";
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/teleports/Warpgate/Warpgate.java b/L2J_DataPack_BETA/dist/game/data/scripts/teleports/Warpgate/Warpgate.java
index 4ad87e5fba..83fb94b37b 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/teleports/Warpgate/Warpgate.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/teleports/Warpgate/Warpgate.java
@@ -21,7 +21,6 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
-import com.l2jserver.gameserver.model.quest.State;
 import com.l2jserver.gameserver.model.zone.L2ZoneType;
 
 public class Warpgate extends Quest
@@ -48,14 +47,14 @@ public class Warpgate extends Quest
 		if (!HellboundManager.getInstance().isLocked())
 		{
 			st = player.getQuestState(PATH_TO_HELLBOUND);
-			if ((st != null) && (st.getState() == State.COMPLETED))
+			if ((st != null) && st.isCompleted())
 			{
 				return true;
 			}
 		}
 		
 		st = player.getQuestState(THATS_BLOODY_HOT);
-		if ((st != null) && (st.getState() == State.COMPLETED))
+		if ((st != null) && st.isCompleted())
 		{
 			return true;
 		}
-- 
GitLab