Bladeren bron

BETA/STABLE: Q153_DeliverGoods by Zoey76.

MELERIX 14 jaren geleden
bovenliggende
commit
4e449a679a

+ 1 - 1
L2J_DataPack_BETA/data/scripts.cfg

@@ -324,7 +324,7 @@ quests/Q147_PathtoBecominganEliteMercenary/Q147_PathtoBecominganEliteMercenary.j
 quests/Q148_PathtoBecominganExaltedMercenary/Q148_PathtoBecominganExaltedMercenary.java
 quests/151_SaveMySister1/__init__.py
 quests/152_ShardsOfGolem/__init__.py
-quests/153_WharfOldtimersFavor/__init__.py
+quests/Q153_DeliverGoods/Q153_DeliverGoods.java
 quests/154_SacrificeToSea/__init__.py
 quests/155_FindSirWindawood/__init__.py
 quests/156_MillenniumLove/__init__.py

+ 0 - 4
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30041-04.htm

@@ -1,4 +0,0 @@
-<html><body>Guard Arnold:<br>
-Deliver these goods to the village people as indicated on this delivery list. It's not a hard task. Of course, you will be compensated for your trouble, so don't worry.<br>
-Deliver that heavy wooden box to<font color="LEVEL"> Armor Merchant Jackson</font> at the weapons shop, and the bolts of cloth to<font color="LEVEL"> Accessory Merchant Silvia</font> at the grocery store. And the clay pot should be delivered to<font color="LEVEL"> Warehouse Keeper Rant</font>. Deliver the goods and collect<font color="LEVEL"> receipts of delivery</font>, then bring those receipts back to me. I thank you in advance.
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30041-05.htm

@@ -1,4 +0,0 @@
-<html><body>Guard Arnold:<br>
-I see you have not completed your deliveries yet. Deliver the goods to the people on my list, and bring back their receipts of delivery.<br>
-Take the heavy wooden box to Armor Merchant Jackson at the weapons shop in the village, the bolts of cloth to Accessory Merchant Silvia at the village grocery shop, and the clay pot to Warehouse Keeper Rant.
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30054-01.htm

@@ -1,4 +0,0 @@
-<html><body>Warehouse Keeper Rant:<br>
-Ha ha! The pot I ordered from Giran. I was worried that it might break during shipping... Glad to see that it doesn't have even a scratch.<br>
-That's right... I have to give you a receipt, right? Here you go. Rant of the Iron Gate Guild confirms delivery of ordered goods! Have a nice day!
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30054-02.htm

@@ -1,3 +0,0 @@
-<html><body>Warehouse Keeper Rant:<br>
-Please tell Arnold that I have received my goods in perfect condition. And don't forget to show him my receipt.
-</body></html>

+ 0 - 121
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/__init__.py

@@ -1,121 +0,0 @@
-# Made by Mr. Have fun! Version 0.2
-import sys
-from com.l2jserver import Config 
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-
-qn = "153_WharfOldtimersFavor"
-
-DELIVERY_LIST_ID = 1012
-HEAVY_WOOD_BOX_ID = 1013
-CLOTH_BUNDLE_ID = 1014
-CLAY_POT_ID = 1015
-JACKSONS_RECEIPT_ID = 1016
-SILVIAS_RECEIPT_ID = 1017
-RANTS_RECEIPT_ID = 1018
-RING_ID = 875
-
-class Quest (JQuest) :
-
- def __init__(self,id,name,descr):
-     JQuest.__init__(self,id,name,descr)
-     self.questItemIds = [HEAVY_WOOD_BOX_ID, CLOTH_BUNDLE_ID, CLAY_POT_ID, DELIVERY_LIST_ID, JACKSONS_RECEIPT_ID, SILVIAS_RECEIPT_ID, RANTS_RECEIPT_ID]
-
- def onAdvEvent (self,event,npc, player) :
-    htmltext = event
-    st = player.getQuestState(qn)
-    if not st : return
-    if event == "1" :
-        st.set("id","0")
-        st.set("cond","1")
-        st.setState(State.STARTED)
-        st.playSound("ItemSound.quest_accept")
-        if st.getQuestItemsCount(DELIVERY_LIST_ID) == 0 :
-          st.giveItems(DELIVERY_LIST_ID,1)
-        if st.getQuestItemsCount(HEAVY_WOOD_BOX_ID) == 0 :
-          st.giveItems(HEAVY_WOOD_BOX_ID,1)
-        if st.getQuestItemsCount(CLOTH_BUNDLE_ID) == 0 :
-          st.giveItems(CLOTH_BUNDLE_ID,1)
-        if st.getQuestItemsCount(CLAY_POT_ID) == 0 :
-          st.giveItems(CLAY_POT_ID,1)
-        htmltext = "30041-04.htm"
-    return htmltext
-
-
- def onTalk (self,npc,player):
-   htmltext = Quest.getNoQuestMsg(player)
-   st = player.getQuestState(qn)
-   if not st : return htmltext 
-
-   npcId = npc.getNpcId()
-   id = st.getState()
-   if npcId == 30041 and st.getInt("cond")==0 and st.getInt("onlyone")==0 :
-      if player.getLevel() >= 2 :
-        htmltext = "30041-03.htm"
-        return htmltext
-      else:
-        htmltext = "30041-02.htm"
-        st.exitQuest(1)
-   elif npcId == 30041 and st.getInt("cond")==0 and st.getInt("onlyone")==1 :
-        htmltext = Quest.getAlreadyCompletedMsg(player)
-   elif npcId == 30041 and st.getInt("cond")!=0 and (st.getQuestItemsCount(JACKSONS_RECEIPT_ID)!=0 and st.getQuestItemsCount(SILVIAS_RECEIPT_ID)!=0 and st.getQuestItemsCount(RANTS_RECEIPT_ID)!=0)==0 :
-        htmltext = "30041-05.htm"
-   if id == State.STARTED :     
-       if npcId == 30002 and st.getInt("cond")!=0 and st.getQuestItemsCount(HEAVY_WOOD_BOX_ID)!=0 :
-            st.takeItems(HEAVY_WOOD_BOX_ID,st.getQuestItemsCount(HEAVY_WOOD_BOX_ID))
-            if st.getQuestItemsCount(JACKSONS_RECEIPT_ID) == 0 :
-              st.giveItems(JACKSONS_RECEIPT_ID,1)
-              if st.getQuestItemsCount(JACKSONS_RECEIPT_ID)!=0 and st.getQuestItemsCount(SILVIAS_RECEIPT_ID)!=0 and st.getQuestItemsCount(RANTS_RECEIPT_ID)!=0:
-                 st.set("cond","2")
-                 st.playSound("ItemSound.quest_middle")
-            htmltext = "30002-01.htm"
-       elif npcId == 30002 and st.getInt("cond")!=0 and st.getQuestItemsCount(JACKSONS_RECEIPT_ID)!=0 :
-            htmltext = "30002-02.htm"
-       elif npcId == 30003 and st.getInt("cond")!=0 and st.getQuestItemsCount(CLOTH_BUNDLE_ID)!=0 :
-            st.takeItems(CLOTH_BUNDLE_ID,st.getQuestItemsCount(CLOTH_BUNDLE_ID))
-            if st.getQuestItemsCount(SILVIAS_RECEIPT_ID) == 0 :
-              st.giveItems(SILVIAS_RECEIPT_ID,1)
-              st.rewardItems(1835,3)
-              if st.getQuestItemsCount(JACKSONS_RECEIPT_ID)!=0 and st.getQuestItemsCount(SILVIAS_RECEIPT_ID)!=0 and st.getQuestItemsCount(RANTS_RECEIPT_ID)!=0:
-                 st.set("cond","2")
-                 st.playSound("ItemSound.quest_middle")
-            htmltext = "30003-01.htm"
-       elif npcId == 30003 and st.getInt("cond")!=0 and st.getQuestItemsCount(SILVIAS_RECEIPT_ID)!=0 :
-            htmltext = "30003-02.htm"
-       elif npcId == 30054 and st.getInt("cond")!=0 and st.getQuestItemsCount(CLAY_POT_ID)!=0 :
-            st.takeItems(CLAY_POT_ID,st.getQuestItemsCount(CLAY_POT_ID))
-            if st.getQuestItemsCount(RANTS_RECEIPT_ID) == 0 :
-              st.giveItems(RANTS_RECEIPT_ID,1)
-              if st.getQuestItemsCount(JACKSONS_RECEIPT_ID)!=0 and st.getQuestItemsCount(SILVIAS_RECEIPT_ID)!=0 and st.getQuestItemsCount(RANTS_RECEIPT_ID)!=0:
-                 st.set("cond","2")
-                 st.playSound("ItemSound.quest_middle")
-            htmltext = "30054-01.htm"
-       elif npcId == 30054 and st.getInt("cond")!=0 and st.getQuestItemsCount(RANTS_RECEIPT_ID)!=0 :
-            htmltext = "30054-02.htm"
-       elif npcId == 30041 and st.getInt("cond")!=0 and (st.getQuestItemsCount(JACKSONS_RECEIPT_ID)!=0 and st.getQuestItemsCount(SILVIAS_RECEIPT_ID)!=0 and st.getQuestItemsCount(RANTS_RECEIPT_ID)!=0)!=0 and st.getInt("onlyone")==0 :
-            if st.getInt("id") != 153 :
-              st.set("id","153")
-              st.set("cond","0")
-              st.exitQuest(False)
-              st.playSound("ItemSound.quest_finish")
-              st.set("onlyone","1")
-              st.giveItems(RING_ID,1)
-              st.giveItems(1835,3)
-              st.takeItems(DELIVERY_LIST_ID,-1)
-              st.takeItems(JACKSONS_RECEIPT_ID,-1)
-              st.takeItems(SILVIAS_RECEIPT_ID,-1)
-              st.takeItems(RANTS_RECEIPT_ID,-1)
-              st.addExpAndSp(600,0)
-              htmltext = "30041-06.htm"
-   return htmltext
-
-QUEST       = Quest(153,qn,"Deliver Goods")
-
-QUEST.addStartNpc(30041)
-
-QUEST.addTalkId(30041)
-
-QUEST.addTalkId(30002)
-QUEST.addTalkId(30003)
-QUEST.addTalkId(30054)

+ 3 - 3
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30002-01.htm → L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30002-01.html

@@ -1,4 +1,4 @@
-<html><body>Armor Merchant Jackson:<br>
-Ah, the goods that I ordered from the mainland! Thank you. I heard that the trade ship was shipwrecked because of the storm... for a time, I thought that I would never receive my goods... I'm glad that it turned out otherwise!<br>
-Wonderful! Here is the receipt. Carry on!
+<html><head><body>Trader Jackson:<br>
+Ah, the goods that I ordered from the mainland! Thank you. I heard that the trade ship was shipwrecked because of the storm... for a time, I thought that I would never receive my goods... I'm glad that it turned out otherwise!<br>
+Wonderful! Here is the receipt. Carry on!
 </body></html>

+ 2 - 2
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30002-02.htm → L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30002-02.html

@@ -1,3 +1,3 @@
-<html><body>Armor Merchant Jackson:<br>
-Take the receipt I have given you and go to Guard Arnold. He is so old-fashioned, he will probably worry continuously until he has the receipt in his hand. Thanks a lot, then!
+<html><head><body>Trader Jackson:<br>
+Take the receipt I have given you and go to Guard Arnold. He is so old-fashioned, he will probably worry continuously until he has the receipt in his hand. Thanks a lot, then!
 </body></html>

+ 3 - 3
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30003-01.htm → L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30003-01.html

@@ -1,4 +1,4 @@
-<html><body>Accessory Merchant Silvia:<br>
-Oh, the cloth I ordered has arrived. Thank you. So kind of you to personally deliver it to the store... Now I can make a new robe for Cristel to wear on her outings.<br>
-Wait a moment... take this receipt. And here, take this as a reward for personally delivering the goods to me. Have a fine day!
+<html><head><body>Trader Silvia:<br>
+Oh, the cloth I ordered has arrived. Thank you. So kind of you to personally deliver it to the store... Now I can make a new robe for Cristel to wear on her outings.<br>
+Wait a moment... take this receipt. And here, take this as a reward for personally delivering the goods to me. Have a fine day!
 </body></html>

+ 2 - 2
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30003-02.htm → L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30003-02.html

@@ -1,3 +1,3 @@
-<html><body>Accessory Merchant Silvia:<br>
-Go and show the receipt I gave you to Guard Arnold. And please tell him thank you, I have received the goods in good condition.
+<html><head><body>Trader Silvia:<br>
+Go and show the receipt I gave you to Guard Arnold. And please tell him thank you, I have received the goods in good condition.
 </body></html>

+ 5 - 5
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30041-02.htm → L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30041-00.htm

@@ -1,6 +1,6 @@
-<html><body>Guard Arnold:<br>
-These days, no trade ships bearing the flag of Gracia sail into the dock. That's because all trade with Gracia has been halted since the war. It was quite a sight to see the great trade ships slowly sail into the harbor with their horns sounding, but I guess we won't be seeing any of that anymore. Instead, there has been an increase in trade ships coming in from Giran.<br>
-However, the recent storms have caused numerous Giran trade ships to be shipwrecked on the island's western shores. Fortunately, none of the crews were lost, but even we guards had to be called out to collect the sunken trade goods.<br>
-Now we have to organize the goods that were on the shipwrecked ships. As soon as we organize them, we will have to deliver the goods to their respective owners. I hope you can help us when the time comes.<br>
-(Characters of Level 2 and above may undertake this quest.)
+<html><head><body>Guard Arnold:<br>
+These days, no trade ships bearing the flag of Gracia sail into the dock. That's because all trade with Gracia has been halted since the war. It was quite a sight to see the great trade ships slowly sail into the harbor with their horns sounding, but I guess we won't be seeing any of that anymore. Instead, there has been an increase in trade ships coming in from Giran.<br>
+However, the recent storms have caused numerous Giran trade ships to be shipwrecked on the island's western shores. Fortunately, none of the crews were lost, but even we guards had to be called out to collect the sunken trade goods.<br>
+Now we have to organize the goods that were on the shipwrecked ships. As soon as we organize them, we will have to deliver the goods to their respective owners. I hope you can help us when the time comes.<br>
+(Characters of Level 2 and above may undertake this quest.)
 </body></html>

+ 5 - 5
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30041-03.htm → L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30041-01.htm

@@ -1,6 +1,6 @@
-<html><body>Guard Arnold:<br>
-Following the war with Gracia, our king issued a trade embargo, and trade with Gracia was stopped altogether. That's why Gracia trade ships cannot be seen nowadays. On those days that the grand, magnificent Gracia trade ships slowly sailed into the harbor, the village people would all come out to the docks and greet the ship with enthusiastic waves ...<br>
-Lately there have been many trade ships coming in from Giran. But compared to Gracia, it seems that they are inexperienced when it comes to navigation. The recent storms have caused numerous trade ships to be shipwrecked on the southern shores of the island. Fortunately, none of the crew were killed, but even we guards had to be called out to collect the sunken trade goods.<br>
-We're just about finished organizing the goods that were on the shipwrecked ships, but the task of delivering the goods to their respective owners still remains. We're still short on help. Do you think you can help us out?<br>
-<a action="bypass -h Quest 153_WharfOldtimersFavor 1">Say you will help</a>
+<html><head><body>Guard Arnold:<br>
+Following the war with Gracia, our king issued a trade embargo, and trade with Gracia was stopped altogether. That's why Gracian trade ships cannot be seen nowadays. On those days that the grand, magnificent Gracian trade ships slowly sailed into the harbor, the village people would all come out to the docks and greet the ship with enthusiastic waves ...<br>
+Lately there have been many trade ships coming in from Giran. But compared to Gracia, it seems that they are inexperienced when it comes to navigation. The recent storms have caused numerous trade ships to be shipwrecked on the southern shores of the island. Fortunately, none of the crew were killed, but even we guards had to be called out to collect the sunken trade goods.<br>
+We're just about finished organizing the goods that were on the shipwrecked ships, but the task of delivering the goods to their respective owners still remains. We're still short on help. Do you think you can help us out?<br>
+<a action="bypass -h Quest 153_DeliverGoods 30041-02.html">Say you will help</a>
 </body></html>

+ 4 - 0
L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30041-02.html

@@ -0,0 +1,4 @@
+<html><head><body>Sentry Arnold:<br>
+Here is the list of all the townspeople you must deliver items to. It's that simple! I'll figure your wages based on how well you do. <br>
+That Heavy Wooden Box goes to <font color="LEVEL">Merchant Jackson</font> at the Weapons Shop, the Fabric goes to <font color="LEVEL">Merchant Silvia</font> at the General Store, and that Clay Pot goes to <font color="LEVEL">Warehouse Keeper Lant</font>. Deliver those items and bring back the <font color="LEVEL">receipts</font>. Thank you!  
+</body></html>

+ 4 - 0
L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30041-03.html

@@ -0,0 +1,4 @@
+<html><head><body>Sentry Arnold:<br>
+You still haven't made the deliveries? Please do so immediately and bring me back the receipts! <br>
+The Heavy Wooden Box goes to Merchant Jackson at the Weapons Shop, the Fabrics go to Merchant Silvia at the General Store, and the Clay Pot goes to Warehouse Keeper Lant.  
+</body></html>

+ 3 - 3
L2J_DataPack_BETA/data/scripts/quests/153_WharfOldtimersFavor/30041-06.htm → L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30041-04.html

@@ -1,4 +1,4 @@
-<html><body>Guard Arnold:<br>
-Have you finished all your deliveries? Thank you. As promised, here is your pay.<br>
-If you ever get the chance, let's have a drink sometime. It's not a bad experience to sit on the shore and tip back a drink, while watching the night sea.
+<html><head><body>Guard Arnold:<br>
+Have you finished all your deliveries? Thank you. As promised, here is your pay.<br>
+If you ever get the chance, let's have a drink sometime. It's not a bad experience to sit on the shore and tip back a drink, while watching the night sea.
 </body></html>

+ 4 - 0
L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30054-01.html

@@ -0,0 +1,4 @@
+<html><head><body>Warehouse Keeper Rant:<br>
+Ha ha! It's the jar I ordered from Giran. I was worried it would be broken during shipping. I'm so relieved!<br>
+Ah, you need a receipt, don't you?  Here it is. Let me just sign it and confirm delivery. There you go -- have a nice day!
+</body></html>

+ 3 - 0
L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/30054-02.html

@@ -0,0 +1,3 @@
+<html><head><body>Warehouse Keeper Rant:<br>
+Please tell Mr. Arnold that I received it. And don't forget to show him the receipt I gave you! 
+</body></html>

+ 172 - 0
L2J_DataPack_BETA/data/scripts/quests/Q153_DeliverGoods/Q153_DeliverGoods.java

@@ -0,0 +1,172 @@
+package quests.Q153_DeliverGoods;
+
+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;
+
+/**
+ * Based on Naia (EURO)
+ * @author Zoey76
+ * @version 1.0 Freya (11/16/2010)
+ */
+public class Q153_DeliverGoods extends Quest
+{
+	private static final String qn = "153_DeliverGoods";
+	
+	// NPCs
+	private static final int JacksonId = 30002;
+	private static final int SilviaId = 30003;
+	private static final int ArnoldId = 30041;
+	private static final int RantId = 30054;
+	//ITEMs
+	private static final int DeliveryListId = 1012;
+	private static final int HeavyWoodBoxId = 1013;
+	private static final int ClothBundleId = 1014;
+	private static final int ClayPotId = 1015;
+	private static final int JacksonsReceipt = 1016;
+	private static final int SilviasReceipt = 1017;
+	private static final int RantsReceipt = 1018;
+	
+	//REWARDs
+	private static final int SoulshotNoGradeId = 1835; //You get 3 Soulshots no grade.
+	private static final int RingofKnowledgeId = 875;
+	private static final int XpRewardAmount = 600;
+	
+	public Q153_DeliverGoods(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(ArnoldId);
+		addTalkId(JacksonId);
+		addTalkId(SilviaId);
+		addTalkId(ArnoldId);
+		addTalkId(RantId);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if ((st != null) && (npc.getNpcId() == ArnoldId))
+		{
+			if (event.equalsIgnoreCase("30041-02.html"))
+			{
+				st.setState(State.STARTED);
+				st.set("cond", "1");
+				st.playSound("ItemSound.quest_accept");
+				st.giveItems(DeliveryListId, 1);
+				st.giveItems(HeavyWoodBoxId, 1);
+				st.giveItems(ClothBundleId, 1);
+				st.giveItems(ClayPotId, 1);
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		if (st != null)
+		{
+			if (npc.getNpcId() == ArnoldId)
+			{
+				switch (st.getState())
+				{
+					case State.CREATED:
+						if (player.getLevel() >= 2)
+						{
+							htmltext = "30041-01.htm";
+						}
+						else
+						{
+							htmltext = "30041-00.htm";
+						}
+						break;
+					case State.STARTED:
+						if (st.getInt("cond") == 1)
+						{
+							htmltext = "30041-03.html";
+						}
+						else if (st.getInt("cond") == 2)
+						{
+							htmltext = "30041-04.html";
+							st.takeItems(DeliveryListId, 1);
+							st.takeItems(JacksonsReceipt, 1);
+							st.takeItems(SilviasReceipt, 1);
+							st.takeItems(RantsReceipt, 1);
+							//On retail it gives 2 rings but one at the time.
+							st.giveItems(RingofKnowledgeId, 1);
+							st.giveItems(RingofKnowledgeId, 1);
+							st.addExpAndSp(XpRewardAmount, 0);
+							st.exitQuest(false);
+						}
+						break;
+					case State.COMPLETED:
+						htmltext = getAlreadyCompletedMsg(player);
+						break;
+				}
+			}
+			else
+			{
+				if (npc.getNpcId() == JacksonId)
+				{
+					if (st.getQuestItemsCount(HeavyWoodBoxId) == 1)
+					{
+						htmltext = "30002-01.html";
+						st.takeItems(HeavyWoodBoxId, 1);
+						st.giveItems(JacksonsReceipt, 1);
+					}
+					else
+					{
+						htmltext = "30002-02.html";
+					}
+				}
+				else if (npc.getNpcId() == SilviaId)
+				{
+					if (st.getQuestItemsCount(ClothBundleId) == 1)
+					{
+						htmltext = "30003-01.html";
+						st.takeItems(ClothBundleId, 1);
+						st.giveItems(SilviasReceipt, 1);
+						st.giveItems(SoulshotNoGradeId, 3);
+					}
+					else
+					{
+						htmltext = "30003-02.html";
+					}
+				}
+				else if (npc.getNpcId() == RantId)
+				{
+					if (st.getQuestItemsCount(ClayPotId) == 1)
+					{
+						htmltext = "30054-01.html";
+						st.takeItems(ClayPotId, 1);
+						st.giveItems(RantsReceipt, 1);
+					}
+					else
+					{
+						htmltext = "30054-02.html";
+					}
+				}
+				
+				if ((st.getInt("cond") == 1) && (st.getQuestItemsCount(JacksonsReceipt) == 1) && (st.getQuestItemsCount(SilviasReceipt) == 1) && (st.getQuestItemsCount(RantsReceipt) == 1))
+				{
+					st.set("cond", "2");
+					st.playSound("ItemSound.quest_middle");
+				}
+			}
+		}
+		return htmltext;
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q153_DeliverGoods(153, qn, "Deliver Goods");
+	}
+}