From e26f4f39ebb558ed5f8fbd25c1ccc9adc16bcde8 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 10 Apr 2018 18:35:59 +0000 Subject: [PATCH] Addition of quests 11015, 11016 and 11017. Contributed by Stayway. --- .../dist/game/data/html/item/90249.htm | 11 + .../dist/game/data/html/item/90253.htm | 11 + .../dist/game/data/html/item/90257.htm | 11 + .../data/scripts/quests/MissingQuests.txt | 3 - .../Q11004_PerfectLeatherArmor2/30001-02.htm | 2 +- .../Q11015_PrepareForTrade1/30136-01.html | 4 + .../Q11015_PrepareForTrade1/30136-02.htm | 3 + .../Q11015_PrepareForTrade1/30136-02a.html | 3 + .../Q11015_PrepareForTrade1/30137-01.htm | 3 + .../Q11015_PrepareForTrade1/30137-01a.html | 3 + .../Q11015_PrepareForTrade1/30137-02.html | 5 + .../Q11015_PrepareForTrade1/30137-03.html | 6 + .../Q11015_PrepareForTrade1/30137-04.html | 6 + .../Q11015_PrepareForTrade1.java | 254 ++++++++++++++++++ .../Q11015_PrepareForTrade1/no-level.html | 4 + .../Q11015_PrepareForTrade1/no-race.html | 4 + .../Q11016_PrepareForTrade2/30137-01.html | 4 + .../Q11016_PrepareForTrade2/30137-02.htm | 3 + .../Q11016_PrepareForTrade2/30137-02a.html | 3 + .../Q11016_PrepareForTrade2/30137-03.html | 5 + .../Q11016_PrepareForTrade2/30137-04.html | 6 + .../Q11016_PrepareForTrade2/30137-05.html | 6 + .../Q11016_PrepareForTrade2/30137-06.html | 3 + .../Q11016_PrepareForTrade2.java | 239 ++++++++++++++++ .../quests/Q11016_PrepareForTrade2/abort.html | 3 + .../Q11016_PrepareForTrade2/no-level.html | 4 + .../Q11016_PrepareForTrade2/no-race.html | 4 + .../Q11017_PrepareForTrade3/30137-01.html | 5 + .../Q11017_PrepareForTrade3/30137-02.htm | 3 + .../Q11017_PrepareForTrade3/30137-02a.html | 3 + .../Q11017_PrepareForTrade3/30137-03.html | 5 + .../Q11017_PrepareForTrade3/30137-04.html | 3 + .../Q11017_PrepareForTrade3/30137-05.html | 3 + .../Q11017_PrepareForTrade3/30137-06.html | 3 + .../Q11017_PrepareForTrade3.java | 238 ++++++++++++++++ .../quests/Q11017_PrepareForTrade3/abort.html | 3 + .../Q11017_PrepareForTrade3/no-level.html | 4 + .../Q11017_PrepareForTrade3/no-race.html | 4 + .../scripts/quests/QuestMasterHandler.java | 6 + 39 files changed, 889 insertions(+), 4 deletions(-) create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90249.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90253.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90257.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-01.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-02.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30136-02a.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-01.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-01a.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-02.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-03.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/30137-04.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/Q11015_PrepareForTrade1.java create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/no-level.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11015_PrepareForTrade1/no-race.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-01.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-02.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-02a.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-03.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-04.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-05.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/30137-06.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/abort.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/no-level.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/no-race.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-01.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-02.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-02a.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-03.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-04.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-05.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/30137-06.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/Q11017_PrepareForTrade3.java create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/abort.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/no-level.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11017_PrepareForTrade3/no-race.html diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90249.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90249.htm new file mode 100644 index 0000000000..6f9ec54c20 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90249.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/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, };