Merchant Radia:
+Welcome! How can I help you? You're not here to propose to me, are you?
+Just kidding! Don't tell me you thought I was serious.
+Oh, you're here for Leikar's order? I'm sorry, but it's not here yet. Can you actually go to the Town of Gludio to check with Varan? The shipment is way late.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-02.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-02.html
new file mode 100644
index 0000000000..486ac14d7f
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-02.html
@@ -0,0 +1,3 @@
+Merchant Radia:
+Leikar's order isn't ready because the materials haven't arrived yet. You'll need to check back later. (You must be Lv. 85 or above to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-03.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-03.htm
new file mode 100644
index 0000000000..f944a9e5b5
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-03.htm
@@ -0,0 +1,3 @@
+Merchant Radia:
+I would've checked with Varan myself if I wasn't so busy. Go ask him why the materials aren't here yet.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-04.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-04.html
new file mode 100644
index 0000000000..eebb022a88
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-04.html
@@ -0,0 +1,3 @@
+Merchant Radia:
+What are you still doing here? If you want the order, you'll have to check with Varan and find out where the materials are!
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-05.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-05.html
new file mode 100644
index 0000000000..d1f6b6974c
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-05.html
@@ -0,0 +1,5 @@
+Merchant Radia:
+Welcome back! So what did Varan say?
+What? Doesn't look possible to close the deal? Seriously?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-06.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-06.html
new file mode 100644
index 0000000000..1b484c123b
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-06.html
@@ -0,0 +1,3 @@
+Merchant Radia:
+Well then, I guess we'll have to look elsewhere. Do you think you could go to Ralford in Oren Castle's Ivory Tower? He can probably get what I need. I have means of contacting him, so I'll tell him to be expecting you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-07.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-07.html
new file mode 100644
index 0000000000..9082c12b72
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-07.html
@@ -0,0 +1,3 @@
+Merchant Radia:
+Please go to Ralford at the Ivory Tower. I can't make you what you need unless I have the supplies.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-08.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-08.html
new file mode 100644
index 0000000000..51187efaed
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-08.html
@@ -0,0 +1,4 @@
+Merchant Radia:
+Oh, you're back with all of them! Here, let me have them.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-09.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-09.html
new file mode 100644
index 0000000000..8a2d116e5c
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-09.html
@@ -0,0 +1,3 @@
+Armor Trader Radia:
+You haven't heard from Ralford? I need spidersilk, 420 Armor Fragments (Low Grade) and 750 Accessory Gems (Low Grade). Please hurry.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-10.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-10.html
new file mode 100644
index 0000000000..352b6a3b7d
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-10.html
@@ -0,0 +1,4 @@
+Merchant Radia:
+Yes, your fabric is ready! Let me get it for you.
+Here it is! Isn't it nice? You can really make something nice with this. Have a safe journey!
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-11.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-11.html
new file mode 100644
index 0000000000..52eff99751
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30088-11.html
@@ -0,0 +1,3 @@
+Merchant Radia:
+Didn't Ralford tell you? I need 420 Low-grade Armor Fragments, 750 Low-grade Accessory Gems, and Spider Silk. Please, retrieve them!
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-01.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-01.html
new file mode 100644
index 0000000000..d512370545
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-01.html
@@ -0,0 +1,4 @@
+Trader Ralford:
+Hello there! I understand you're looking for Spidersilk, Armor Fragments, and Accessory Gems? I'm afraid we're out. You can probably buy leftovers from most travelers, but as for Spidersilk... well, I can make it myself. Will you help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-02.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-02.html
new file mode 100644
index 0000000000..deac322337
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-02.html
@@ -0,0 +1,3 @@
+Trader Ralford:
+If you go to place called Cruma Marshlands, you'll find some Marsh Spiders. I need 10 Spinnerets from them. If you bring those, I'll make you some spidersilk.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-03.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-03.html
new file mode 100644
index 0000000000..60943de378
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-03.html
@@ -0,0 +1,4 @@
+Trader Ralford:
+This isn't enough. I need more Spinnerests.
+You can get them from Marsh Spiders in the Cruma Marshlands.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-04.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-04.html
new file mode 100644
index 0000000000..a735fc86da
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-04.html
@@ -0,0 +1,4 @@
+Trader Ralford:
+Wonderful! Give me the Spinneret and I'll make spidersilk for you.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-05.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-05.html
new file mode 100644
index 0000000000..9ae9673c15
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-05.html
@@ -0,0 +1,4 @@
+Trader Ralford:
+Thank you. Just wait here a moment...
+Here's the Spider Silk you requested. Radia had actually asked for other materials as well, but you seem capable of finding enough. She needs 420 Low-grade Armor Fragments and 750 Low-grade Accessory Gems. Easy enough for you, right?
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-06.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-06.html
new file mode 100644
index 0000000000..6410b8beed
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30165-06.html
@@ -0,0 +1,3 @@
+Trader Ralford:
+Radia needs 420 Low-grade Armor Fragments, 750 Low-grade Accessory Gems, and Spider Silk. Deliver them to her you've collected them all.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30294-01.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30294-01.html
new file mode 100644
index 0000000000..3ae1e90886
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30294-01.html
@@ -0,0 +1,4 @@
+Trader Varan:
+Ah, you mean Radia's order? Well, I haven't gotten the materials yet. The goods she wants have been rather scarce of late, making them difficult to obtain.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30294-02.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30294-02.html
new file mode 100644
index 0000000000..34419bc24f
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30294-02.html
@@ -0,0 +1,3 @@
+Trader Varan:
+Tell her I'm sorry I couldn't fill the order on time, and that I accept responsibility for the breach of Contract.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30294-03.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30294-03.html
new file mode 100644
index 0000000000..a9970f0472
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/30294-03.html
@@ -0,0 +1,3 @@
+Trader Varan:
+Please tell Radia that I won't make a mistake like this again.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java
new file mode 100644
index 0000000000..9fbbc4ca36
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java
@@ -0,0 +1,269 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package quests.Q00034_InSearchOfCloth;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * In Search of Cloth (34)
+ * @URL https://l2wiki.com/In_Search_of_Cloth
+ * @author malyelfik
+ */
+public class Q00034_InSearchOfCloth extends Quest
+{
+ // NPCs
+ private static final int RADIA = 30088;
+ private static final int RALFORD = 30165;
+ private static final int VARAN = 30294;
+ // Monsters
+ private static final int MARSH_SPIDER = 20233;
+ // Items
+ private static final int ARMOR_FRAGMENT_LOW_GRADE = 36551;
+ private static final int ACCESSORY_GEM_LOW_GRADE = 36556;
+ private static final int MYSTERIOUS_CLOTH = 7076;
+ private static final int SKEIN_OF_YARN = 7161;
+ private static final int SPINNERET = 7528;
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final int SPINNERET_COUNT = 10;
+ private static final int ARMOR_FRAGMENT_COUNT = 420;
+ private static final int ACCESSORY_GEM_COUNT = 750;
+
+ public Q00034_InSearchOfCloth()
+ {
+ super(34);
+ addStartNpc(RADIA);
+ addTalkId(RADIA, RALFORD, VARAN);
+ addKillId(MARSH_SPIDER);
+ addCondMinLevel(MIN_LEVEL, "30088-02.html");
+ registerQuestItems(SKEIN_OF_YARN, SPINNERET);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+
+ String htmltext = event;
+ switch (event)
+ {
+ case "30088-03.htm":
+ {
+ st.startQuest();
+ break;
+ }
+ case "30294-02.html":
+ {
+ if (st.isCond(1))
+ {
+ st.setCond(2, true);
+ }
+ break;
+ }
+ case "30088-06.html":
+ {
+ if (st.isCond(2))
+ {
+ st.setCond(3, true);
+ }
+ break;
+ }
+ case "30165-02.html":
+ {
+ if (st.isCond(3))
+ {
+ st.setCond(4, true);
+ }
+ break;
+ }
+ case "30165-05.html":
+ {
+ if (st.isCond(5))
+ {
+ if (getQuestItemsCount(player, SPINNERET) < SPINNERET_COUNT)
+ {
+ return getNoQuestMsg(player);
+ }
+ takeItems(player, SPINNERET, SPINNERET_COUNT);
+ giveItems(player, SKEIN_OF_YARN, 1);
+ st.setCond(6, true);
+ }
+ break;
+ }
+ case "30088-10.html":
+ {
+ if (st.isCond(6))
+ {
+ if ((getQuestItemsCount(player, ARMOR_FRAGMENT_LOW_GRADE) >= ARMOR_FRAGMENT_COUNT) && (getQuestItemsCount(player, ACCESSORY_GEM_LOW_GRADE) >= ACCESSORY_GEM_COUNT) && hasQuestItems(player, SKEIN_OF_YARN))
+ {
+ if ((player.getLevel() >= MIN_LEVEL))
+ {
+ takeItems(player, SKEIN_OF_YARN, 1);
+ takeItems(player, ARMOR_FRAGMENT_LOW_GRADE, ARMOR_FRAGMENT_COUNT);
+ takeItems(player, ACCESSORY_GEM_LOW_GRADE, ACCESSORY_GEM_COUNT);
+ giveItems(player, MYSTERIOUS_CLOTH, 1);
+ st.exitQuest(false, true);
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ }
+ else
+ {
+ htmltext = "30088-11.html";
+ }
+ }
+ break;
+ }
+ default:
+ {
+ htmltext = null;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
+ {
+ final QuestState st = getQuestState(player, false);
+ final PlayerInstance member = getRandomPartyMember(player, 4);
+
+ if ((st != null) && (st.isCond(4)) && (member != null) && getRandomBoolean())
+ {
+ giveItems(member, SPINNERET, 1);
+ if (getQuestItemsCount(member, SPINNERET) >= SPINNERET_COUNT)
+ {
+ st.setCond(5, true);
+ }
+ else
+ {
+ playSound(member, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState st = getQuestState(player, true);
+
+ switch (st.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == RADIA)
+ {
+ htmltext = "30088-01.htm";
+ break;
+ }
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case RADIA:
+ {
+ switch (st.getCond())
+ {
+ case 1:
+ {
+ htmltext = "30088-04.html";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "30088-05.html";
+ break;
+ }
+ case 3:
+ {
+ htmltext = "30088-07.html";
+ break;
+ }
+ case 6:
+ {
+ htmltext = ((getQuestItemsCount(player, ARMOR_FRAGMENT_LOW_GRADE) >= ARMOR_FRAGMENT_COUNT) && (getQuestItemsCount(player, ACCESSORY_GEM_LOW_GRADE) >= ACCESSORY_GEM_COUNT)) ? "30088-08.html" : "30088-09.html";
+ break;
+ }
+ }
+ break;
+ }
+ case VARAN:
+ {
+ if (st.isCond(1))
+ {
+ htmltext = "30294-01.html";
+ }
+ else if (st.isCond(2))
+ {
+ htmltext = "30294-03.html";
+ }
+ break;
+ }
+ case RALFORD:
+ {
+ switch (st.getCond())
+ {
+ case 3:
+ {
+ htmltext = "30165-01.html";
+ break;
+ }
+ case 4:
+ {
+ htmltext = "30165-03.html";
+ break;
+ }
+ case 5:
+ {
+ htmltext = "30165-04.html";
+ break;
+ }
+ case 6:
+ {
+ htmltext = "30165-06.html";
+ break;
+ }
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java
index 176211fa3f..1994893eed 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -26,6 +26,7 @@ import quests.Q00017_LightAndDarkness.Q00017_LightAndDarkness;
import quests.Q00031_SecretBuriedInTheSwamp.Q00031_SecretBuriedInTheSwamp;
import quests.Q00032_AnObviousLie.Q00032_AnObviousLie;
import quests.Q00033_MakeAPairOfDressShoes.Q00033_MakeAPairOfDressShoes;
+import quests.Q00034_InSearchOfCloth.Q00034_InSearchOfCloth;
import quests.Q00035_FindGlitteringJewelry.Q00035_FindGlitteringJewelry;
import quests.Q00036_MakeASewingKit.Q00036_MakeASewingKit;
import quests.Q00037_MakeFormalWear.Q00037_MakeFormalWear;
@@ -442,6 +443,7 @@ public class QuestMasterHandler
Q00031_SecretBuriedInTheSwamp.class,
Q00032_AnObviousLie.class,
Q00033_MakeAPairOfDressShoes.class,
+ Q00034_InSearchOfCloth.class,
Q00035_FindGlitteringJewelry.class,
Q00036_MakeASewingKit.class,
Q00037_MakeFormalWear.class,