From 2b7428027d36b15694d4ed07071a5b4df0ba524b Mon Sep 17 00:00:00 2001
From: Adry_85 <Adrya85@hotmail.it>
Date: Fri, 27 Dec 2013 13:29:08 +0000
Subject: [PATCH] BETA: Improvements for quest '''An Elder Sows Seeds''' (370).
 	Patch by: jurchiks 	Reviewed by: Adry_85

---
 .../Q00370_AnElderSowsSeeds.java              | 36 +++++++++----------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java
index 1b26f73639..23de58b828 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java
@@ -102,15 +102,8 @@ public final class Q00370_AnElderSowsSeeds extends Quest
 			{
 				if (st.isStarted())
 				{
-					if (hasQuestItems(player, CHAPTER_OF_FIRE, CHAPTER_OF_WATER, CHAPTER_OF_WIND, CHAPTER_OF_EARTH))
+					if (exchangeChapters(player, false))
 					{
-						final long waterChapters = getQuestItemsCount(player, CHAPTER_OF_WATER);
-						final long earthChapters = getQuestItemsCount(player, CHAPTER_OF_EARTH);
-						final long windChapters = getQuestItemsCount(player, CHAPTER_OF_WIND);
-						final long fireChapters = getQuestItemsCount(player, CHAPTER_OF_FIRE);
-						final long minCount = Util.min(waterChapters, earthChapters, windChapters, fireChapters);
-						giveAdena(player, minCount * 3600, true);
-						takeItems(player, (int) minCount, CHAPTER_OF_WATER, CHAPTER_OF_EARTH, CHAPTER_OF_WIND, CHAPTER_OF_FIRE);
 						htmltext = "30612-08.html";
 					}
 					else
@@ -124,16 +117,7 @@ public final class Q00370_AnElderSowsSeeds extends Quest
 			{
 				if (st.isStarted())
 				{
-					if (hasQuestItems(player, CHAPTER_OF_FIRE, CHAPTER_OF_WATER, CHAPTER_OF_WIND, CHAPTER_OF_EARTH))
-					{
-						final long waterChapters = getQuestItemsCount(player, CHAPTER_OF_WATER);
-						final long earthChapters = getQuestItemsCount(player, CHAPTER_OF_EARTH);
-						final long windChapters = getQuestItemsCount(player, CHAPTER_OF_WIND);
-						final long fireChapters = getQuestItemsCount(player, CHAPTER_OF_FIRE);
-						final long minCount = Util.min(waterChapters, earthChapters, windChapters, fireChapters);
-						giveAdena(player, minCount * 3600, true);
-					}
-					takeItems(player, -1, CHAPTER_OF_WATER, CHAPTER_OF_EARTH, CHAPTER_OF_WIND, CHAPTER_OF_FIRE);
+					exchangeChapters(player, true);
 					st.exitQuest(true, true);
 					htmltext = event;
 				}
@@ -185,6 +169,22 @@ public final class Q00370_AnElderSowsSeeds extends Quest
 		return htmltext;
 	}
 	
+	private final boolean exchangeChapters(L2PcInstance player, boolean takeAllItems)
+	{
+		final long waterChapters = getQuestItemsCount(player, CHAPTER_OF_WATER);
+		final long earthChapters = getQuestItemsCount(player, CHAPTER_OF_EARTH);
+		final long windChapters = getQuestItemsCount(player, CHAPTER_OF_WIND);
+		final long fireChapters = getQuestItemsCount(player, CHAPTER_OF_FIRE);
+		final long minCount = Util.min(waterChapters, earthChapters, windChapters, fireChapters);
+		if (minCount > 0)
+		{
+			giveAdena(player, minCount * 3600, true);
+		}
+		final long countToTake = (takeAllItems ? -1 : minCount);
+		takeItems(player, (int) countToTake, CHAPTER_OF_WATER, CHAPTER_OF_EARTH, CHAPTER_OF_WIND, CHAPTER_OF_FIRE);
+		return (minCount > 0);
+	}
+	
 	public static void main(String args[])
 	{
 		new Q00370_AnElderSowsSeeds();
-- 
GitLab