Supplies Certificate:
+Payne sent this note to Vollodos when ordering the Shiels from him. It includes his comments for the order.
+Order Deatails.
+Order for making and sale of the Shield of Silence.
+1. Stone Giant Guardian's Core.
+Please base the Shield on Stone Giant Guardian's Core and reinforce it with brass from the sides.
+2. Crystalline Beast's Shinedust.
+Not as good at dispelling magic as we thought. My advice is to use a thicker layer of it for better protection.
+3. Giant Spider Skin Fragment
+Patterns in the form of knots are popular in Giran Castle nowadays. You can glue together parts of the Shield and interlay them with leather straps braided into knots.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90253.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90253.htm
new file mode 100644
index 0000000000..6f9ec54c20
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90253.htm
@@ -0,0 +1,11 @@
+Supplies Certificate:
+Payne sent this note to Vollodos when ordering the Shiels from him. It includes his comments for the order.
+Order Deatails.
+Order for making and sale of the Shield of Silence.
+1. Stone Giant Guardian's Core.
+Please base the Shield on Stone Giant Guardian's Core and reinforce it with brass from the sides.
+2. Crystalline Beast's Shinedust.
+Not as good at dispelling magic as we thought. My advice is to use a thicker layer of it for better protection.
+3. Giant Spider Skin Fragment
+Patterns in the form of knots are popular in Giran Castle nowadays. You can glue together parts of the Shield and interlay them with leather straps braided into knots.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90257.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90257.htm
new file mode 100644
index 0000000000..6f9ec54c20
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90257.htm
@@ -0,0 +1,11 @@
+Supplies Certificate:
+Payne sent this note to Vollodos when ordering the Shiels from him. It includes his comments for the order.
+Order Deatails.
+Order for making and sale of the Shield of Silence.
+1. Stone Giant Guardian's Core.
+Please base the Shield on Stone Giant Guardian's Core and reinforce it with brass from the sides.
+2. Crystalline Beast's Shinedust.
+Not as good at dispelling magic as we thought. My advice is to use a thicker layer of it for better protection.
+3. Giant Spider Skin Fragment
+Patterns in the form of knots are popular in Giran Castle nowadays. You can glue together parts of the Shield and interlay them with leather straps braided into knots.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/MissingQuests.txt
index 36bbdfb4d4..18de055020 100644
--- a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/MissingQuests.txt
@@ -29,9 +29,6 @@
11011 New Potion Development (3/3)
11012 Future Elves
11014 Surprise Gift
-11015 Prepare for trade (1/3)
-11016 Prepare for trade (2/3)
-11017 Prepare for trade (3/3)
11018 Future: Dark Elves
11020 Blacksmith's Request
11021 Red Gem Necklace (1/3)
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11004_PerfectLeatherArmor2/30001-02.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11004_PerfectLeatherArmor2/30001-02.htm
index 8dbb539f09..04cf041b60 100644
--- a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11004_PerfectLeatherArmor2/30001-02.htm
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11004_PerfectLeatherArmor2/30001-02.htm
@@ -1,3 +1,3 @@
-
+Weapon Merchant Lector:
Thank you! If you started something, you need to carry it through! Good decision! Best of all!
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-01.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-01.html
new file mode 100644
index 0000000000..cbb3514834
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-01.html
@@ -0,0 +1,4 @@
+Trader Payne:
+I have a request for you. I'm designing a new model of shield together with Grocer Vollodos, but there haven't been any news from him for a while. Could you visit him and ask about his progress?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-02.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-02.htm
new file mode 100644
index 0000000000..c205d73e06
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-02.htm
@@ -0,0 +1,3 @@
+Trader Payne:
+Thank you! I can't go myself - I have nobody to look after the store!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-02a.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-02a.html
new file mode 100644
index 0000000000..574e7fe403
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-02a.html
@@ -0,0 +1,3 @@
+Trader Payne:
+Hurry and go to the Grocery Shop. Find Vollodos there and ask him why he still haven't sent me anything.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-01.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-01.htm
new file mode 100644
index 0000000000..22afacf80a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-01.htm
@@ -0,0 +1,3 @@
+Trader Vollodos:
+Greetings! You're the one Payne sent to me? He ordered some materials for making a shield from me, but they're turned to be pretty hard to get. I gathered everything except Stone Giant Guardian's Core, Crystalline Beast's Shinedust and Giant Spider Skin Fragment. This Supplies Certificate tells all details of where you can obtain them. May I ask you to take the gathering of these materials upon yourself?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-01a.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-01a.html
new file mode 100644
index 0000000000..a62cfc0136
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-01a.html
@@ -0,0 +1,3 @@
+Trader Vollodos:
+This is not an easy task, I know. Bring me a bit more, please.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-02.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-02.html
new file mode 100644
index 0000000000..7583ade9f8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-02.html
@@ -0,0 +1,5 @@
+Trader Vollodos:
+Good job! I wouldn't make it without you. I'd like to thank you for your help. Unfortunately, I have no idea what is better for you, so here are two rewards to pick from. You may choose whatever you like.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-03.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-03.html
new file mode 100644
index 0000000000..9054c573a0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-03.html
@@ -0,0 +1,6 @@
+Trader Vollodos:
+So you prefer Soulshots. Soulshots are very useful items.
+By the way, I still need shield-making materials. Maybe you could get me some more?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-04.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-04.html
new file mode 100644
index 0000000000..de83d99da8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-04.html
@@ -0,0 +1,6 @@
+Trader Vollodos:
+So you've chosen Spiritshots... I understand, those who use magic need them.
+By the way, I still need shield-making materials. Maybe you could get me some more?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/Q11015_PrepareForTrade1.java b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/Q11015_PrepareForTrade1.java
new file mode 100644
index 0000000000..ad334853b4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/Q11015_PrepareForTrade1.java
@@ -0,0 +1,254 @@
+/*
+ * 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.Q11015_PrepareForTrade1;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.enums.Race;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+/**
+ * Prepare for Trade (1/3) (11015)
+ * @author Stayway
+ */
+public class Q11015_PrepareForTrade1 extends Quest
+{
+ // NPCs
+ private static final int PAYNE = 30136;
+ private static final int VOLLODOS = 30137;
+ // Items
+ private static final int STONE_GIANTS_GUARDIANS_CORE = 90250;
+ private static final int CRYSTALLINE_BEASTS_SHINEDUST = 90251;
+ private static final int GIANT_SPIDER_SKIN_FRAGMENT = 90252;
+ private static final int SUPPLIES_CERTIFICATE = 90249;
+ // Rewards
+ private static final int SCROLL_OF_ESCAPE = 10650;
+ private static final int HEALING_POTION = 1073;
+ private static final int MP_RECOVERY_POTION = 90310;
+ private static final int SOULSHOTS_NO_GRADE = 5789;
+ private static final int SPIRITSHOT_NO_GRADE = 5790;
+ // Monsters
+ private static final int STONE_GIANT_GUARDIANS = 20380;
+ private static final int CRYSTALLINE_BEAST = 20418;
+ private static final int PROWLER = 20034;
+ private static final int GIANT_VENOMOUS_SPIDER = 20038;
+ private static final int ARACHNID_TRACKER = 20043;
+ // Misc
+ private static final int MIN_LVL = 15;
+ private static final int MAX_LVL = 20;
+
+ public Q11015_PrepareForTrade1()
+ {
+ super(11015);
+ addStartNpc(PAYNE);
+ addTalkId(PAYNE, VOLLODOS);
+ addKillId(STONE_GIANT_GUARDIANS, CRYSTALLINE_BEAST, PROWLER, GIANT_VENOMOUS_SPIDER, ARACHNID_TRACKER);
+ addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom
+ addCondRace(Race.DARK_ELF, "no-race.html"); // Custom
+ registerQuestItems(SUPPLIES_CERTIFICATE, STONE_GIANTS_GUARDIANS_CORE, CRYSTALLINE_BEASTS_SHINEDUST, GIANT_SPIDER_SKIN_FRAGMENT);
+ setQuestNameNpcStringId(NpcStringId.LV_15_20_PREPARE_FOR_TRADE_1_3);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30136-02.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward1":
+ {
+ if (qs.isCond(5))
+ {
+ takeItems(player, SUPPLIES_CERTIFICATE, 1);
+ takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
+ takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
+ takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
+ giveItems(player, SCROLL_OF_ESCAPE, 5);
+ giveItems(player, HEALING_POTION, 40);
+ giveItems(player, MP_RECOVERY_POTION, 40);
+ giveItems(player, SOULSHOTS_NO_GRADE, 1000);
+ addExpAndSp(player, 70000, 3600);
+ qs.exitQuest(false, true);
+ htmltext = "30137-03.html";
+ }
+ break;
+ }
+ case "reward2":
+ {
+ if (qs.isCond(5))
+ {
+ takeItems(player, SUPPLIES_CERTIFICATE, 1);
+ takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
+ takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
+ takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
+ giveItems(player, SCROLL_OF_ESCAPE, 5);
+ giveItems(player, HEALING_POTION, 40);
+ giveItems(player, MP_RECOVERY_POTION, 40);
+ giveItems(player, SPIRITSHOT_NO_GRADE, 1000);
+ addExpAndSp(player, 70000, 3600);
+ qs.exitQuest(false, true);
+ htmltext = "30137-04.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == PAYNE)
+ {
+ htmltext = "30136-01.html";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == PAYNE)
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30136-02a.html";
+ }
+ break;
+ }
+ else if (npc.getId() == VOLLODOS)
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ htmltext = "30137-01.htm";
+ qs.setCond(2, true);
+ showOnScreenMsg(talker, NpcStringId.GO_HUNTING_AND_KILL_STONE_GIANT_GUARDIANS, ExShowScreenMessage.TOP_CENTER, 10000);
+ giveItems(talker, SUPPLIES_CERTIFICATE, 1);
+ break;
+ }
+ case 2:
+ {
+ htmltext = "30137-01a.html";
+ break;
+ }
+ case 5:
+ {
+ htmltext = "30137-02.html";
+ break;
+ }
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if (qs != null)
+ {
+ switch (npc.getId())
+ {
+ case STONE_GIANT_GUARDIANS:
+ {
+ if (qs.isCond(2) && (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) < 20))
+ {
+ if (getRandom(100) < 90)
+ {
+ giveItems(killer, STONE_GIANTS_GUARDIANS_CORE, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ if (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) >= 20)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_STONE_GIANT_GUARDIANS_N_GO_HUNTING_AND_KILL_CRYSTALLINE_BEASTS, ExShowScreenMessage.TOP_CENTER, 10000);
+ qs.setCond(3);
+ }
+ }
+ }
+ break;
+ }
+ case CRYSTALLINE_BEAST:
+ {
+ if (qs.isCond(3) && (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) < 10))
+ {
+ if (getRandom(100) < 87)
+ {
+ giveItems(killer, CRYSTALLINE_BEASTS_SHINEDUST, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ if (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) >= 10)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_CRYSTALLINE_BEASTS_N_GO_HUNTING_AND_KILL_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS, ExShowScreenMessage.TOP_CENTER, 10000);
+ qs.setCond(4);
+ }
+ }
+ }
+ break;
+ }
+ case PROWLER:
+ case GIANT_VENOMOUS_SPIDER:
+ case ARACHNID_TRACKER:
+ {
+ if (qs.isCond(4) && (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) < 20))
+ {
+ if (getRandom(100) < 90)
+ {
+ giveItems(killer, GIANT_SPIDER_SKIN_FRAGMENT, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ if (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) >= 20)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS_NRETURN_TO_GROCER_VOLLODOS, ExShowScreenMessage.TOP_CENTER, 10000);
+ qs.setCond(5);
+ }
+ }
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/no-level.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/no-level.html
new file mode 100644
index 0000000000..903fd5ccad
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/no-level.html
@@ -0,0 +1,4 @@
+Trader Payne:
+You ought to gain more experience. Come back later.
+(This quest is available to characters of Level 15 or higher.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/no-race.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/no-race.html
new file mode 100644
index 0000000000..6932921bdb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/no-race.html
@@ -0,0 +1,4 @@
+Trader Payne:
+I can see you're a stranger here. Pardon me, but I am asking only citizens for help.
+(This quest is available to Dark Elves only.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-01.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-01.html
new file mode 100644
index 0000000000..375b2391f7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-01.html
@@ -0,0 +1,4 @@
+Trader Vollodos:
+I was waiting for you. Please, help me one last time. I promise I'll stopt bothering you once I send all collected materials to Payne.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-02.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-02.htm
new file mode 100644
index 0000000000..924f51b37c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-02.htm
@@ -0,0 +1,3 @@
+Trader Vollodos:
+You made the right decision! I hope you can help us. And I'm going to work on preparing shield-reinforcing components in the meantime. I hope we'll make a lot of money after selling them. So. what do you say? Do you think our shields are going to be popular?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-02a.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-02a.html
new file mode 100644
index 0000000000..a62cfc0136
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-02a.html
@@ -0,0 +1,3 @@
+Trader Vollodos:
+This is not an easy task, I know. Bring me a bit more, please.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-03.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-03.html
new file mode 100644
index 0000000000..88b96e76f2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-03.html
@@ -0,0 +1,5 @@
+Trader Vollodos:
+Good job! I prepared a reward for you to show my gratitude. Choose whatever you like.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-04.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-04.html
new file mode 100644
index 0000000000..cd0205d031
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-04.html
@@ -0,0 +1,6 @@
+Trader Vollodos:
+So you prefer Soulshots. Soulshots are very useful items.
+I've already asked you for this, I know but could you bring me one more set of materials? It will be better if I have everything with me beforehand.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-05.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-05.html
new file mode 100644
index 0000000000..8951b8d38b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-05.html
@@ -0,0 +1,6 @@
+Weapon Merchant Lector:
+So you've chosen Spiritshots... I understand, those who use magic need them.
+I've already asked you for this, I know but could you bring me one more set of materials? It will be better if I have everything with me beforehand.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-06.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-06.html
new file mode 100644
index 0000000000..2078d09ccc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-06.html
@@ -0,0 +1,3 @@
+Trader Vollodos:
+(Only characters who are level 15 or above and who have completed the Prepare for Trade (1/3) quests may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java
new file mode 100644
index 0000000000..472bb553bd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java
@@ -0,0 +1,239 @@
+/*
+ * 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.Q11016_PrepareForTrade2;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.enums.Race;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+import quests.Q11015_PrepareForTrade1.Q11015_PrepareForTrade1;
+
+/**
+ * Prepare for Trade (2/3) (11016)
+ * @author Stayway
+ */
+public class Q11016_PrepareForTrade2 extends Quest
+{
+ // NPCs
+ private static final int VOLLODOS = 30137;
+ // Items
+ private static final int STONE_GIANTS_GUARDIANS_CORE = 90254;
+ private static final int CRYSTALLINE_BEASTS_SHINEDUST = 90255;
+ private static final int GIANT_SPIDER_SKIN_FRAGMENT = 90256;
+ private static final int SUPPLIES_CERTIFICATE = 90253;
+ // Rewards
+ private static final int SCROLL_OF_ESCAPE = 10650;
+ private static final int HEALING_POTION = 1073;
+ private static final int MP_RECOVERY_POTION = 90310;
+ private static final int SOULSHOTS_NO_GRADE = 5789;
+ private static final int SPIRITSHOT_NO_GRADE = 5790;
+ // Monsters
+ private static final int STONE_GIANT_GUARDIANS = 20380;
+ private static final int CRYSTALLINE_BEAST = 20418;
+ private static final int PROWLER = 20034;
+ private static final int GIANT_VENOMOUS_SPIDER = 20038;
+ private static final int ARACHNID_TRACKER = 20043;
+ // Misc
+ private static final int MIN_LVL = 15;
+ private static final int MAX_LVL = 20;
+
+ public Q11016_PrepareForTrade2()
+ {
+ super(11016);
+ addStartNpc(VOLLODOS);
+ addTalkId(VOLLODOS);
+ addKillId(STONE_GIANT_GUARDIANS, CRYSTALLINE_BEAST, PROWLER, GIANT_VENOMOUS_SPIDER, ARACHNID_TRACKER);
+ addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom
+ addCondRace(Race.DARK_ELF, "no-race.html"); // Custom
+ addCondCompletedQuest(Q11015_PrepareForTrade1.class.getSimpleName(), "30137-06.html");
+ registerQuestItems(SUPPLIES_CERTIFICATE, STONE_GIANTS_GUARDIANS_CORE, CRYSTALLINE_BEASTS_SHINEDUST, GIANT_SPIDER_SKIN_FRAGMENT);
+ setQuestNameNpcStringId(NpcStringId.LV_15_PREPARE_FOR_TRADE_2_3);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "abort.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30137-02.htm":
+ {
+ qs.startQuest();
+ qs.setCond(1);
+ qs.setCond(2);
+ showOnScreenMsg(player, NpcStringId.GO_HUNTING_AND_KILL_STONE_GIANT_GUARDIANS, ExShowScreenMessage.TOP_CENTER, 10000);
+ giveItems(player, SUPPLIES_CERTIFICATE, 1);
+ htmltext = event;
+ break;
+ }
+ case "reward1":
+ {
+ if (qs.isCond(5))
+ {
+ takeItems(player, SUPPLIES_CERTIFICATE, 1);
+ takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
+ takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
+ takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
+ giveItems(player, SCROLL_OF_ESCAPE, 5);
+ giveItems(player, HEALING_POTION, 40);
+ giveItems(player, MP_RECOVERY_POTION, 40);
+ giveItems(player, SOULSHOTS_NO_GRADE, 1000);
+ addExpAndSp(player, 70000, 3600);
+ qs.exitQuest(false, true);
+ htmltext = "30137-04.html";
+ }
+ break;
+ }
+ case "reward2":
+ {
+ if (qs.isCond(5))
+ {
+ takeItems(player, SUPPLIES_CERTIFICATE, 1);
+ takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
+ takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
+ takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
+ giveItems(player, SCROLL_OF_ESCAPE, 5);
+ giveItems(player, HEALING_POTION, 40);
+ giveItems(player, MP_RECOVERY_POTION, 40);
+ giveItems(player, SPIRITSHOT_NO_GRADE, 1000);
+ addExpAndSp(player, 70000, 3600);
+ qs.exitQuest(false, true);
+ htmltext = "30137-05.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "30137-01.html";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "30137-02a.html";
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "30137-03.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if (qs != null)
+ {
+ switch (npc.getId())
+ {
+ case STONE_GIANT_GUARDIANS:
+ {
+ if (qs.isCond(2) && (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) < 20))
+ {
+ if (getRandom(100) < 90)
+ {
+ giveItems(killer, STONE_GIANTS_GUARDIANS_CORE, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ if (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) >= 20)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_STONE_GIANT_GUARDIANS_N_GO_HUNTING_AND_KILL_CRYSTALLINE_BEASTS, ExShowScreenMessage.TOP_CENTER, 10000);
+ qs.setCond(3);
+ }
+ }
+ }
+ break;
+ }
+ case CRYSTALLINE_BEAST:
+ {
+ if (qs.isCond(3) && (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) < 10))
+ {
+ if (getRandom(100) < 87)
+ {
+ giveItems(killer, CRYSTALLINE_BEASTS_SHINEDUST, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ if (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) >= 10)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_CRYSTALLINE_BEASTS_N_GO_HUNTING_AND_KILL_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS, ExShowScreenMessage.TOP_CENTER, 10000);
+ qs.setCond(4);
+ }
+ }
+ }
+ break;
+ }
+ case PROWLER:
+ case GIANT_VENOMOUS_SPIDER:
+ case ARACHNID_TRACKER:
+ {
+ if (qs.isCond(4) && (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) < 20))
+ {
+ if (getRandom(100) < 90)
+ {
+ giveItems(killer, GIANT_SPIDER_SKIN_FRAGMENT, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ if (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) >= 20)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS_NRETURN_TO_GROCER_VOLLODOS, ExShowScreenMessage.TOP_CENTER, 10000);
+ qs.setCond(5);
+ }
+ }
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/abort.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/abort.html
new file mode 100644
index 0000000000..a23803012e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/abort.html
@@ -0,0 +1,3 @@
+Trader Vollodos:
+It's a shame. If you happen to change your mind, come back any time.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/no-level.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/no-level.html
new file mode 100644
index 0000000000..903fd5ccad
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/no-level.html
@@ -0,0 +1,4 @@
+Trader Payne:
+You ought to gain more experience. Come back later.
+(This quest is available to characters of Level 15 or higher.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/no-race.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/no-race.html
new file mode 100644
index 0000000000..6932921bdb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/no-race.html
@@ -0,0 +1,4 @@
+Trader Payne:
+I can see you're a stranger here. Pardon me, but I am asking only citizens for help.
+(This quest is available to Dark Elves only.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-01.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-01.html
new file mode 100644
index 0000000000..290bab1c12
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-01.html
@@ -0,0 +1,5 @@
+Trader Vollodos:
+You've changed your mind? It's a shame... I really need your help.
+Please, think over your decision.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-02.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-02.htm
new file mode 100644
index 0000000000..a8aed180e8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-02.htm
@@ -0,0 +1,3 @@
+Trader Vollodos:
+Thank you! To complete the job, I need Stone Giant Guardian's Core, Crystalline Beast's Shinedust and Giant Spider Skin Fragment. And while you're busy looking for them, I'll just have time to prepare the shield glue.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-02a.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-02a.html
new file mode 100644
index 0000000000..a62cfc0136
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-02a.html
@@ -0,0 +1,3 @@
+Trader Vollodos:
+This is not an easy task, I know. Bring me a bit more, please.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-03.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-03.html
new file mode 100644
index 0000000000..12fac1cce1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-03.html
@@ -0,0 +1,5 @@
+Trader Vollodos:
+Good job! I wouldn't make it without you. I'd like to thank you for your help. Unfortunately, I have no idea what is better for you, so here are two rewards to pick from. You may choose whatever you like.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-04.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-04.html
new file mode 100644
index 0000000000..d4ef832739
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-04.html
@@ -0,0 +1,3 @@
+Trader Vollodos:
+Thank you very much. Alas, Dark Elves don't use shields often. I only hope that we can sell them in Oren or somewhere else... If our shields won't be in much of a demand, we're going to go bankrupt!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-05.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-05.html
new file mode 100644
index 0000000000..d4ef832739
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-05.html
@@ -0,0 +1,3 @@
+Trader Vollodos:
+Thank you very much. Alas, Dark Elves don't use shields often. I only hope that we can sell them in Oren or somewhere else... If our shields won't be in much of a demand, we're going to go bankrupt!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-06.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-06.html
new file mode 100644
index 0000000000..2078d09ccc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-06.html
@@ -0,0 +1,3 @@
+Trader Vollodos:
+(Only characters who are level 15 or above and who have completed the Prepare for Trade (1/3) quests may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/Q11017_PrepareForTrade3.java b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/Q11017_PrepareForTrade3.java
new file mode 100644
index 0000000000..f24460fcb6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/Q11017_PrepareForTrade3.java
@@ -0,0 +1,238 @@
+/*
+ * 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.Q11017_PrepareForTrade3;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.enums.Race;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+import quests.Q11016_PrepareForTrade2.Q11016_PrepareForTrade2;
+
+/**
+ * Prepare for Trade (3/3) (11017)
+ * @author Stayway
+ */
+public class Q11017_PrepareForTrade3 extends Quest
+{
+ // NPCs
+ private static final int VOLLODOS = 30137;
+ // Items
+ private static final int STONE_GIANTS_GUARDIANS_CORE = 90258;
+ private static final int CRYSTALLINE_BEASTS_SHINEDUST = 90259;
+ private static final int GIANT_SPIDER_SKIN_FRAGMENT = 90260;
+ private static final int SUPPLIES_CERTIFICATE = 90257;
+ // Rewards
+ private static final int SCROLL_OF_ESCAPE = 10650;
+ private static final int HEALING_POTION = 1073;
+ private static final int MP_RECOVERY_POTION = 90310;
+ private static final int SOULSHOTS_NO_GRADE = 5789;
+ private static final int SPIRITSHOT_NO_GRADE = 5790;
+ // Monsters
+ private static final int STONE_GIANT_GUARDIANS = 20380;
+ private static final int CRYSTALLINE_BEAST = 20418;
+ private static final int PROWLER = 20034;
+ private static final int GIANT_VENOMOUS_SPIDER = 20038;
+ private static final int ARACHNID_TRACKER = 20043;
+ // Misc
+ private static final int MIN_LVL = 15;
+ private static final int MAX_LVL = 20;
+
+ public Q11017_PrepareForTrade3()
+ {
+ super(11017);
+ addStartNpc(VOLLODOS);
+ addTalkId(VOLLODOS);
+ addKillId(STONE_GIANT_GUARDIANS, CRYSTALLINE_BEAST, PROWLER, GIANT_VENOMOUS_SPIDER, ARACHNID_TRACKER);
+ addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom
+ addCondRace(Race.DARK_ELF, "no-race.html"); // Custom
+ addCondCompletedQuest(Q11016_PrepareForTrade2.class.getSimpleName(), "30137-06.html");
+ registerQuestItems(SUPPLIES_CERTIFICATE, STONE_GIANTS_GUARDIANS_CORE, CRYSTALLINE_BEASTS_SHINEDUST, GIANT_SPIDER_SKIN_FRAGMENT);
+ setQuestNameNpcStringId(NpcStringId.LV_15_PREPARE_FOR_TRADE_3_3);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "abort.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30137-02.htm":
+ {
+ qs.startQuest();
+ qs.setCond(2);
+ showOnScreenMsg(player, NpcStringId.LECTOR_WANTS_YOU_TO_BRING_HIM_MATERIALS_FOR_NEW_ARMOR_N_GO_HUNTING_AND_KILL_GIANT_SPIDERS, ExShowScreenMessage.TOP_CENTER, 10000);
+ giveItems(player, SUPPLIES_CERTIFICATE, 1);
+ htmltext = event;
+ break;
+ }
+ case "reward1":
+ {
+ if (qs.isCond(5))
+ {
+ takeItems(player, SUPPLIES_CERTIFICATE, 1);
+ takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
+ takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
+ takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
+ giveItems(player, SCROLL_OF_ESCAPE, 5);
+ giveItems(player, HEALING_POTION, 40);
+ giveItems(player, MP_RECOVERY_POTION, 40);
+ giveItems(player, SOULSHOTS_NO_GRADE, 1000);
+ addExpAndSp(player, 70000, 3600);
+ qs.exitQuest(false, true);
+ htmltext = "30137-04.html";
+ }
+ break;
+ }
+ case "reward2":
+ {
+ if (qs.isCond(5))
+ {
+ takeItems(player, SUPPLIES_CERTIFICATE, 1);
+ takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
+ takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
+ takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
+ giveItems(player, SCROLL_OF_ESCAPE, 5);
+ giveItems(player, HEALING_POTION, 40);
+ giveItems(player, MP_RECOVERY_POTION, 40);
+ giveItems(player, SPIRITSHOT_NO_GRADE, 1000);
+ addExpAndSp(player, 70000, 3600);
+ qs.exitQuest(false, true);
+ htmltext = "30137-05.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "30137-01.html";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "30137-02a.html";
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "30137-03.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if (qs != null)
+ {
+ switch (npc.getId())
+ {
+ case STONE_GIANT_GUARDIANS:
+ {
+ if (qs.isCond(2) && (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) < 20))
+ {
+ if (getRandom(100) < 90)
+ {
+ giveItems(killer, STONE_GIANTS_GUARDIANS_CORE, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ if (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) >= 20)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_STONE_GIANT_GUARDIANS_N_GO_HUNTING_AND_KILL_CRYSTALLINE_BEASTS, ExShowScreenMessage.TOP_CENTER, 10000);
+ qs.setCond(3);
+ }
+ }
+ }
+ break;
+ }
+ case CRYSTALLINE_BEAST:
+ {
+ if (qs.isCond(3) && (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) < 10))
+ {
+ if (getRandom(100) < 85)
+ {
+ giveItems(killer, CRYSTALLINE_BEASTS_SHINEDUST, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ if (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) >= 10)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_CRYSTALLINE_BEASTS_N_GO_HUNTING_AND_KILL_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS, ExShowScreenMessage.TOP_CENTER, 10000);
+ qs.setCond(4);
+ }
+ }
+ }
+ break;
+ }
+ case PROWLER:
+ case GIANT_VENOMOUS_SPIDER:
+ case ARACHNID_TRACKER:
+ {
+ if (qs.isCond(4) && (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) < 20))
+ {
+ if (getRandom(100) < 90)
+ {
+ giveItems(killer, GIANT_SPIDER_SKIN_FRAGMENT, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ if (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) >= 20)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS_NRETURN_TO_GROCER_VOLLODOS, ExShowScreenMessage.TOP_CENTER, 10000);
+ qs.setCond(5);
+ }
+ }
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/abort.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/abort.html
new file mode 100644
index 0000000000..03b6beb2fa
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/abort.html
@@ -0,0 +1,3 @@
+Trader Vollodos:
+I see. Looks like you're too busy. Nothing to be done. A pity that you had to refuse... Although I wanted to visit the Ivory Tower anyway. Maybe I could buy what materials I lack here.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/no-level.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/no-level.html
new file mode 100644
index 0000000000..903fd5ccad
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/no-level.html
@@ -0,0 +1,4 @@
+Trader Payne:
+You ought to gain more experience. Come back later.
+(This quest is available to characters of Level 15 or higher.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/no-race.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/no-race.html
new file mode 100644
index 0000000000..6932921bdb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/no-race.html
@@ -0,0 +1,4 @@
+Trader Payne:
+I can see you're a stranger here. Pardon me, but I am asking only citizens for help.
+(This quest is available to Dark Elves only.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java
index 06ace4f4a5..a0e3d089fa 100644
--- a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -159,6 +159,9 @@ import quests.Q11007_NoiseInWoods.Q11007_NoiseInWoods;
import quests.Q11008_PreparationForDungeon.Q11008_PreparationForDungeon;
import quests.Q11013_ShilensHunt.Q11013_ShilensHunt;
import quests.Q11014_SurpriseGift.Q11014_SurpriseGift;
+import quests.Q11015_PrepareForTrade1.Q11015_PrepareForTrade1;
+import quests.Q11016_PrepareForTrade2.Q11016_PrepareForTrade2;
+import quests.Q11017_PrepareForTrade3.Q11017_PrepareForTrade3;
import quests.Q11019_TribalBenefit.Q11019_TribalBenefit;
/**
@@ -310,6 +313,9 @@ public class QuestMasterHandler
Q11008_PreparationForDungeon.class,
Q11013_ShilensHunt.class,
Q11014_SurpriseGift.class,
+ Q11015_PrepareForTrade1.class,
+ Q11016_PrepareForTrade2.class,
+ Q11017_PrepareForTrade3.class,
Q11019_TribalBenefit.class,
};