From 8600977415cec5b6af669f44a2f131ec720f1e97 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 28 Mar 2018 10:48:16 +0000 Subject: [PATCH] Addition of quests 10995, 11007 and 11019. Contributed by Stayway. --- .../dist/game/data/html/item/90217.htm | 9 + .../dist/game/data/html/item/90261.htm | 14 + .../data/scripts/quests/MissingQuests.txt | 5 +- .../quests/Q10995_MutualBenefit/30516-01.htm | 3 + .../Q10995_MutualBenefit/30516-01a.html | 3 + .../quests/Q10995_MutualBenefit/30516-02.html | 4 + .../quests/Q10995_MutualBenefit/30516-03.html | 4 + .../quests/Q10995_MutualBenefit/30601-01.html | 4 + .../quests/Q10995_MutualBenefit/30601-02.htm | 3 + .../Q10995_MutualBenefit/30601-02a.html | 3 + .../Q10995_MutualBenefit.java | 268 ++++++++++++++++++ .../quests/Q10995_MutualBenefit/no-level.html | 4 + .../quests/Q10995_MutualBenefit/no-race.html | 4 + .../quests/Q11007_NoiseInWoods/30218-01.htm | 3 + .../quests/Q11007_NoiseInWoods/30218-01a.html | 3 + .../quests/Q11007_NoiseInWoods/30218-02.html | 6 + .../quests/Q11007_NoiseInWoods/30218-03.html | 6 + .../quests/Q11007_NoiseInWoods/30218-04.html | 6 + .../quests/Q11007_NoiseInWoods/30599-01.html | 4 + .../quests/Q11007_NoiseInWoods/30599-02.htm | 4 + .../quests/Q11007_NoiseInWoods/30599-02a.html | 3 + .../Q11007_NoiseInWoods.java | 256 +++++++++++++++++ .../quests/Q11007_NoiseInWoods/no-level.html | 4 + .../quests/Q11007_NoiseInWoods/no-race.html | 4 + .../quests/Q11019_TribalBenefit/30582-01.htm | 5 + .../Q11019_TribalBenefit/30582-01a.html | 3 + .../quests/Q11019_TribalBenefit/30582-02.html | 5 + .../quests/Q11019_TribalBenefit/30582-03.html | 4 + .../quests/Q11019_TribalBenefit/30602-01.html | 5 + .../quests/Q11019_TribalBenefit/30602-02.htm | 3 + .../Q11019_TribalBenefit/30602-02a.html | 3 + .../Q11019_TribalBenefit.java | 268 ++++++++++++++++++ .../quests/Q11019_TribalBenefit/no-level.html | 4 + .../quests/Q11019_TribalBenefit/no-race.html | 4 + .../scripts/quests/QuestMasterHandler.java | 6 + .../game/data/spawns/Dwarf/DwarfTerritory.xml | 24 ++ .../data/spawns/ElvenForest/ElevenForest.xml | 11 + .../game/data/stats/items/90200-90299.xml | 94 ++++++ 38 files changed, 1062 insertions(+), 4 deletions(-) create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90217.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90261.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-01.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-01a.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-02.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-03.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-01.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-02.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-02a.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/Q10995_MutualBenefit.java create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/no-level.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/no-race.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-01.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-01a.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-02.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-03.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-04.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-01.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-02.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-02a.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/Q11007_NoiseInWoods.java create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/no-level.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/no-race.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-01.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-01a.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-02.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-03.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-01.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-02.htm create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-02a.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/Q11019_TribalBenefit.java create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/no-level.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/no-race.html create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/spawns/Dwarf/DwarfTerritory.xml create mode 100644 L2J_Mobius_Classic_2.0_Zaken/dist/game/data/spawns/ElvenForest/ElevenForest.xml diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90217.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90217.htm new file mode 100644 index 0000000000..81f26db741 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90217.htm @@ -0,0 +1,9 @@ +Mark of Security:
+Gray Wolf.
+These predators got their name from the color of their fur. lately they have been seen on the outskirts of the village rather often. their numbers increased too much, and this threatens the balance of nature in the forest.

+Goblin Raider.
+Known for poaching. If we don't stop them, there won't be any game left in the Elven Forest.

+Kaboo Orc / Soldier / Archer.
+This tribe's Orcs settled near the Elven Village. They turned out to be very noisy neighbors. Elves are supremely annoyed by such behavior. things really heated up. It's time for someone to intervene and resolve this conflict.

+Spoer Fungus.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90261.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90261.htm new file mode 100644 index 0000000000..7f53b6a46a --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90261.htm @@ -0,0 +1,14 @@ +Tribal Chronicle:
+Ashen Wolf.
+These predators haunt village outskirts. They have been attacking young Orcs often lately. There's got to be too many of them. Slay them in memory of our killed brothers...

+Goblin Tomb Raider.
+These cursed Goblins raid tombs of our ancestors. Teach them a harsh lesson.

+Rakelaw Imp Hunter.
+They tail after Goblin Tomb Raiders and commit their atrocities together. They need to be punished too.

+Mountain Fungus.
+We don't have enough ingredients to make the drinks for the Flame Festival. The more Fungus you bring, the better.

+Maraku Werewolf.
+They have been sighted near village again. Drive them away before they make some kind of trouble.

+Eye of Seer.
+If you put some Eye of Seer Tears onto a wound, it'll heal fast. Such a thing should be carried by every warrior. + \ 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 9606718c80..94bd4cd6d3 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 @@ -20,7 +20,6 @@ 10871 Death to the Pirate King! 10993 Future: Dwarves 10994 Future: Orcs -10995 Mutual Benefit 10996 Temple's Decorations 10997 Loser Priest (1/3) 10998 Loser Priest (2/3) @@ -30,18 +29,16 @@ 11004 Perfect Leather Armor (2/3) 11005 Perfect Leather Armor (3/3) 11006 Future: People -11007 Noise in Woods 11008 Preparation for Dungeon 11009 New Potion Development (1/3) 11010 New Potion Development (2/3) 11011 New Potion Development (3/3) 11012 Future Elves -11014 Surprise Gift +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 -11019 Tribal Benefit 11020 Blacksmith's Request 11021 Red Gem Necklace (1/3) 11022 Red Gem Necklace (2/3) diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-01.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-01.htm new file mode 100644 index 0000000000..9a264ea964 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-01.htm @@ -0,0 +1,3 @@ +Weapon Merchant Reep:
+Lately thieves have been stealing packages that I send to my customers. Our shop-"The Golden Wheel"- has just opened. These thefts might lead us into banckruptcy. Could you slay Goblins and Orcs who hang around the trade route? Here's the Bounty Poster for these wretches. I think they are to blame for all of this. I hope you can help us.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-01a.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-01a.html new file mode 100644 index 0000000000..1504f19d35 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-01a.html @@ -0,0 +1,3 @@ +Weapon Merchant Reep:
+Well, well. According to rumors, these cursed beasts still roam around the trade route. Deal with them please. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-02.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-02.html new file mode 100644 index 0000000000..28047592ff --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-02.html @@ -0,0 +1,4 @@ +Weapon Merchant Reep:
+Thank you! Now the trade route is going to be safe for some time. That's not enough. I know, but please take it as your reward. I think this thing will come in handy.
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-03.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-03.html new file mode 100644 index 0000000000..eeeeca3c51 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30516-03.html @@ -0,0 +1,4 @@ +Weapon Merchant Reep:
+That you've found the reward to your liking. By the way, Priest Zimenf visited our shop not so long ago. I think he was worried about something. Please, ask if he needs some kind of help.
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-01.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-01.html new file mode 100644 index 0000000000..c44f02b26d --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-01.html @@ -0,0 +1,4 @@ +Newbie Guide:
+Haven't you visited weapons shop. "The Golden Wheel" yet? Its master Reep is a friend of mine. He recently complained that his shop is robbed quite often. Will you, please, visit Reep and help him out?
+ + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-02.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-02.htm new file mode 100644 index 0000000000..cc27773642 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-02.htm @@ -0,0 +1,3 @@ +Newbie Guide:
+I'm sorry that I'm asking for help right away. You can find Reep at the shop that sells weapons and armor. It's in the center of the village.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-02a.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-02a.html new file mode 100644 index 0000000000..c218c19bc5 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/30601-02a.html @@ -0,0 +1,3 @@ +Newbie Guide:
+Have you forgotten already? Go to Reep! You will find him at the shop that sells weapons and armor. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/Q10995_MutualBenefit.java b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/Q10995_MutualBenefit.java new file mode 100644 index 0000000000..56bb1f00ce --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/Q10995_MutualBenefit.java @@ -0,0 +1,268 @@ +/* + * 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.Q10995_MutualBenefit; + +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 com.l2jmobius.gameserver.util.Util; + +/** + * Mutual Benefit (10995) + * @author Stayway + */ +public class Q10995_MutualBenefit extends Quest +{ + // NPCs + private static final int NEWBIE_GUIDE = 30601; + private static final int REEP = 30516; + // Items + private static final int BALCK_WOLF_TOOTH = 90284; + private static final int GOBLINS_NAVIGATION_DEVICE = 90285; + private static final int UTUKU_ORC_AMULET = 90286; + private static final int GOBLIN_BRIGANDS_OLD_SWORD = 90287; + private static final int GARUM_WEREWOLF_TAIL = 90288; + private static final int GOBLIN_BRIGAND_LIEUTENANT_NECKLACE = 90289; + private static final int BOUNTY_POSTER = 90283; + // Rewards + private static final int SILVERSMITH_HAMMER = 49053; + private static final int RING_NOVICE = 29497; + private static final int NECKLACE_NOVICE = 49039; + // Monsters + private static final int BLACK_WOLF = 20317; + private static final int GOBLIN_SNOOPER = 20327; + private static final int UTUKU_ORC = 20446; + private static final int UTUKU_ORC_ARCHER = 20447; + private static final int GOBLIN_BRIGAND = 20322; + private static final int GARUM_WEREWOLF = 20307; + private static final int GOBLIN_BRIGAND_LIEUTENANT = 20324; + // Misc + private static final int MIN_LVL = 2; + private static final int MAX_LVL = 20; + + public Q10995_MutualBenefit() + { + super(10995); + addStartNpc(NEWBIE_GUIDE); + addTalkId(NEWBIE_GUIDE, REEP); + addKillId(BLACK_WOLF, GOBLIN_SNOOPER, UTUKU_ORC, UTUKU_ORC_ARCHER, GOBLIN_BRIGAND, GARUM_WEREWOLF, GOBLIN_BRIGAND_LIEUTENANT); + addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); + addCondRace(Race.DWARF, "no-race.html"); + registerQuestItems(BOUNTY_POSTER, BALCK_WOLF_TOOTH, GOBLINS_NAVIGATION_DEVICE, UTUKU_ORC_AMULET, GOBLIN_BRIGANDS_OLD_SWORD, GARUM_WEREWOLF_TAIL, GOBLIN_BRIGAND_LIEUTENANT_NECKLACE); + } + + @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 "30601-02.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "reward1": + { + if (qs.isCond(7)) + { + takeItems(player, BOUNTY_POSTER, 1); + takeItems(player, BALCK_WOLF_TOOTH, 10); + takeItems(player, GOBLINS_NAVIGATION_DEVICE, 10); + takeItems(player, UTUKU_ORC_AMULET, 10); + takeItems(player, GOBLIN_BRIGANDS_OLD_SWORD, 10); + takeItems(player, GARUM_WEREWOLF_TAIL, 10); + giveItems(player, SILVERSMITH_HAMMER, 1); + giveItems(player, RING_NOVICE, 2); + giveItems(player, NECKLACE_NOVICE, 1); + addExpAndSp(player, 70000, 0); + qs.exitQuest(false, true); + htmltext = "30516-03.html"; + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = getQuestState(killer, false); + if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true)) + { + switch (npc.getId()) + { + case BLACK_WOLF: + { + if ((qs.isCond(2) && (getQuestItemsCount(killer, BALCK_WOLF_TOOTH) < 10))) + { + giveItems(killer, BALCK_WOLF_TOOTH, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if ((getQuestItemsCount(killer, BALCK_WOLF_TOOTH) >= 10) && (getQuestItemsCount(killer, GOBLINS_NAVIGATION_DEVICE) >= 10)) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_BLACK_WOLVES_AND_GOBLIN_SNOOPERS_NGO_HUNTING_AND_KILL_UTUKU_ORCS_AND_UTUKU_ORC_ARCHERS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(3); + } + } + break; + } + case GOBLIN_SNOOPER: + { + if ((qs.isCond(2) && (getQuestItemsCount(killer, GOBLINS_NAVIGATION_DEVICE) < 10))) + { + giveItems(killer, GOBLINS_NAVIGATION_DEVICE, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if ((getQuestItemsCount(killer, BALCK_WOLF_TOOTH) >= 10) && (getQuestItemsCount(killer, GOBLINS_NAVIGATION_DEVICE) >= 10)) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_BLACK_WOLVES_AND_GOBLIN_SNOOPERS_NGO_HUNTING_AND_KILL_UTUKU_ORCS_AND_UTUKU_ORC_ARCHERS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(3); + } + } + break; + } + case UTUKU_ORC: + case UTUKU_ORC_ARCHER: + { + if (qs.isCond(3) && (getQuestItemsCount(killer, UTUKU_ORC_AMULET) < 10)) + { + giveItems(killer, UTUKU_ORC_AMULET, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, UTUKU_ORC_AMULET) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_UTUKU_ORCS_AND_UTUKU_ORC_ARCHERS_NGO_HUNTING_AND_KILL_GOBLIN_BRIGANDS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(4); + } + } + break; + } + case GOBLIN_BRIGAND: + { + if (qs.isCond(4) && (getQuestItemsCount(killer, GOBLIN_BRIGANDS_OLD_SWORD) < 10)) + { + giveItems(killer, GOBLIN_BRIGANDS_OLD_SWORD, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, GOBLIN_BRIGANDS_OLD_SWORD) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_GOBLIN_BRIGANDS_N_GO_HUNTING_AND_KILL_GARUM_WEREWOLVES, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(5); + } + } + break; + } + case GARUM_WEREWOLF: + { + if (qs.isCond(5) && (getQuestItemsCount(killer, GARUM_WEREWOLF_TAIL) < 10)) + { + giveItems(killer, GARUM_WEREWOLF_TAIL, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, GARUM_WEREWOLF_TAIL) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_GARUM_WEREWOLVES_N_GO_HUNTING_AND_KILL_GOBLIN_BRIGAND_LIEUTENANTS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(6); + } + } + break; + } + case GOBLIN_BRIGAND_LIEUTENANT: + { + if (qs.isCond(6) && (getQuestItemsCount(killer, GOBLIN_BRIGAND_LIEUTENANT_NECKLACE) < 10)) + { + giveItems(killer, GOBLIN_BRIGAND_LIEUTENANT_NECKLACE, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, GOBLIN_BRIGAND_LIEUTENANT_NECKLACE) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_GOBLIN_BRIGAND_LIEUTENANTS_NRETURN_TO_WEAPON_MERCHANT_REEP, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(7); + } + } + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } + + @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 = "30601-01.html"; + break; + } + case State.STARTED: + { + if (npc.getId() == NEWBIE_GUIDE) + { + switch (qs.getCond()) + { + case 1: + { + htmltext = "30601-02a.html"; + break; + } + } + break; + } + else if (npc.getId() == REEP) + { + switch (qs.getCond()) + { + case 1: + { + htmltext = "30516-01.htm"; + qs.setCond(2, true); + showOnScreenMsg(talker, NpcStringId.GO_HUNTING_AND_KILL_BLACK_WOLVES_AND_GOBLIN_SNOOPERS, ExShowScreenMessage.TOP_CENTER, 10000); + giveItems(talker, BOUNTY_POSTER, 1); + break; + } + case 2: + { + htmltext = "30516-01a.html"; + break; + } + case 7: + { + htmltext = "30516-02.html"; + break; + } + } + } + break; + } + } + return htmltext; + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/no-level.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/no-level.html new file mode 100644 index 0000000000..a8e754be1a --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/no-level.html @@ -0,0 +1,4 @@ +Newbie Guide:
+You don't have enough power yet. Come back later.
+(This quest is available after reaching Level 2.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/no-race.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/no-race.html new file mode 100644 index 0000000000..e551c16c5f --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q10995_MutualBenefit/no-race.html @@ -0,0 +1,4 @@ +Newbie Guide:
+You're not a Dwarf. Don't get me wrong. I'm not a racist. It's just that. I feel awkward asking for help someone I have never seen before.
+(This quest is available to Dwarfes only.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-01.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-01.htm new file mode 100644 index 0000000000..6da6bd936c --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-01.htm @@ -0,0 +1,3 @@ +Sentinel Kendell:
+Elven Forest is the symbol of our race, our legacy. We have to protect it. But this is not an easy task. Especially now, when it's flooded with so many strangers. This means we need the help of adventurers such as you. I'd like to ask for your assistance. Here, take this Mark of Security. It is used for marking the completed quests among those that I'm going to give you. Well, good luck!
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-01a.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-01a.html new file mode 100644 index 0000000000..537a2f586a --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-01a.html @@ -0,0 +1,3 @@ +Sentinel Kendell:
+You haven't completed all the quests that I gave you. They are not that difficult, you should do fine. Good luck! + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-02.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-02.html new file mode 100644 index 0000000000..898c7a5c71 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-02.html @@ -0,0 +1,6 @@ +Sentinel Kendell:
+You did a good job. Elven Forest will be safer because of you. Sentinels prepared a small gift for you as a token of their gratitude. Choose yourself which one you need.
+If you prefer close combat, then pick the sword. And if you like magic more, then the staff.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-03.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-03.html new file mode 100644 index 0000000000..abce3993e6 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-03.html @@ -0,0 +1,6 @@ +Sentinel Kendell:
+You want to take the Staff?
+Well, if you use magic, then this Staff will be a great choice.
+Have you heard something about the battle that happened in the dungeon recently? I think you know. There has been many talks about it. One of Sentinels named Starden took part in that battle. I heard a rumor that he thinks about going back to the dungeon. Could you ask him about it?
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-04.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-04.html new file mode 100644 index 0000000000..9c6bce41e4 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30218-04.html @@ -0,0 +1,6 @@ +Sentinel Kendell:
+You want to take the Sword?
+Well, if you like close combat, then this Sword will be a great choice.
+Have you heard something about the battle that happened in the dungeon recently? I think you know. There has been many talks about it. One of Sentinels named Starden took part in that battle. I heard a rumor that he thinks about going back to the dungeon. Could you ask him about it?
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-01.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-01.html new file mode 100644 index 0000000000..667b6758f3 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-01.html @@ -0,0 +1,4 @@ +Newbie Guide:
+The forest is really troubled these days. Sentinel Kendel is worried about it. Could you talk to him and see if you can help?
+ + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-02.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-02.htm new file mode 100644 index 0000000000..fef9023158 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-02.htm @@ -0,0 +1,4 @@ +Newbie Guide:
+Thank you! Just tell him that I sent you, and he will tell you, what to do.
+Don't let me down.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-02a.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-02a.html new file mode 100644 index 0000000000..759a4c0786 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/30599-02a.html @@ -0,0 +1,3 @@ +Newbie Guide:
+You should be on your way to Kendell. he needs your help. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/Q11007_NoiseInWoods.java b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/Q11007_NoiseInWoods.java new file mode 100644 index 0000000000..94ac680ebb --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/Q11007_NoiseInWoods.java @@ -0,0 +1,256 @@ +/* + * 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.Q11007_NoiseInWoods; + +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 com.l2jmobius.gameserver.util.Util; + +/** + * Noise in Woods (11007) + * @author Stayway + */ +public class Q11007_NoiseInWoods extends Quest +{ + // NPCs + private static final int NEWBIE_GUIDE = 30599; + private static final int KENDELL = 30218; + // Items + private static final int TAIL_OF_A_GRAY_WOLF = 90218; + private static final int GOBLINS_PACK_OF_KNICKKNACKS = 90219; + private static final int KABBO_ORC_STURDY_AMULET = 90220; + private static final int MUSHROOM_SPORE_POWDER = 90221; + private static final int MARK_OF_SECURITY = 90217; + // Rewards + private static final int RED_SUNSET_SWORD = 49046; + private static final int RED_SUNSET_STAFF = 49045; + private static final int RING_NOVICE = 29497; + private static final int NECKLACE_NOVICE = 49039; + // Monsters + private static final int GRAY_WOLF = 20525; + private static final int GOBLIN_RAIDER = 20325; + private static final int KABOO_ORC = 20468; + private static final int KABOO_ORC_ARCHER = 20469; + private static final int KABOO_ORC_SOLDIER = 20470; + private static final int SPORE_FUNGUS = 20509; + // Misc + private static final int MIN_LVL = 2; + private static final int MAX_LVL = 20; + + public Q11007_NoiseInWoods() + { + super(11007); + addStartNpc(NEWBIE_GUIDE); + addTalkId(NEWBIE_GUIDE, KENDELL); + addKillId(GRAY_WOLF, GOBLIN_RAIDER, KABOO_ORC, KABOO_ORC_ARCHER, KABOO_ORC_SOLDIER, SPORE_FUNGUS); + addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); + addCondRace(Race.ELF, "no-race.html"); + registerQuestItems(MARK_OF_SECURITY, TAIL_OF_A_GRAY_WOLF, GOBLINS_PACK_OF_KNICKKNACKS, KABBO_ORC_STURDY_AMULET, MUSHROOM_SPORE_POWDER); + } + + @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 "30599-02.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "reward1": + { + if (qs.isCond(6)) + { + takeItems(player, MARK_OF_SECURITY, 1); + takeItems(player, TAIL_OF_A_GRAY_WOLF, 10); + takeItems(player, GOBLINS_PACK_OF_KNICKKNACKS, 10); + takeItems(player, KABBO_ORC_STURDY_AMULET, 10); + takeItems(player, MUSHROOM_SPORE_POWDER, 20); + giveItems(player, RED_SUNSET_SWORD, 1); + giveItems(player, RING_NOVICE, 2); + giveItems(player, NECKLACE_NOVICE, 1); + addExpAndSp(player, 70000, 0); + qs.exitQuest(false, true); + htmltext = "30218-04.html"; // Need retail sword html + } + break; + } + case "reward2": + { + if (qs.isCond(6)) + { + takeItems(player, MARK_OF_SECURITY, 1); + takeItems(player, TAIL_OF_A_GRAY_WOLF, 10); + takeItems(player, GOBLINS_PACK_OF_KNICKKNACKS, 10); + takeItems(player, KABBO_ORC_STURDY_AMULET, 10); + takeItems(player, MUSHROOM_SPORE_POWDER, 20); + giveItems(player, RED_SUNSET_STAFF, 1); + giveItems(player, RING_NOVICE, 2); + giveItems(player, NECKLACE_NOVICE, 1); + addExpAndSp(player, 70000, 0); + qs.exitQuest(false, true); + htmltext = "30218-03.html"; + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = getQuestState(killer, false); + if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true)) + { + switch (npc.getId()) + { + case GRAY_WOLF: + { + if ((qs.isCond(2) && (getQuestItemsCount(killer, TAIL_OF_A_GRAY_WOLF) < 10))) + { + giveItems(killer, TAIL_OF_A_GRAY_WOLF, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, TAIL_OF_A_GRAY_WOLF) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_GRAY_WOLVES_N_GO_HUNTING_AND_KILL_GOBLIN_RAIDERS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(3); + } + } + break; + } + case GOBLIN_RAIDER: + { + if (qs.isCond(3) && (getQuestItemsCount(killer, GOBLINS_PACK_OF_KNICKKNACKS) < 10)) + { + giveItems(killer, GOBLINS_PACK_OF_KNICKKNACKS, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, GOBLINS_PACK_OF_KNICKKNACKS) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_GOBLIN_RAIDERS_N_GO_HUNTING_AND_KILL_KABOO_ORCS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(4); + } + } + break; + } + case KABOO_ORC: + case KABOO_ORC_ARCHER: + case KABOO_ORC_SOLDIER: + { + if (qs.isCond(4) && (getQuestItemsCount(killer, KABBO_ORC_STURDY_AMULET) < 10)) + { + giveItems(killer, KABBO_ORC_STURDY_AMULET, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, KABBO_ORC_STURDY_AMULET) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KABOO_ORCS_N_GO_HUNTING_AND_KILL_SPORE_FUNGUS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(5); + } + } + break; + } + case SPORE_FUNGUS: + { + if (qs.isCond(5) && (getQuestItemsCount(killer, MUSHROOM_SPORE_POWDER) < 20)) + { + giveItems(killer, MUSHROOM_SPORE_POWDER, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, MUSHROOM_SPORE_POWDER) >= 20) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_SPORE_FUNGUS_N_RETURN_TO_SENTINEL_KENDELL, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(6); + } + } + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } + + @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 = "30599-01.html"; + break; + } + case State.STARTED: + { + if (npc.getId() == NEWBIE_GUIDE) + { + switch (qs.getCond()) + { + case 1: + { + htmltext = "30599-02a.html"; + break; + } + } + break; + } + else if (npc.getId() == KENDELL) + { + switch (qs.getCond()) + { + case 1: + { + htmltext = "30218-01.htm"; + qs.setCond(2, true); + showOnScreenMsg(talker, NpcStringId.GO_HUNTING_AND_KILL_GRAY_WOLVES, ExShowScreenMessage.TOP_CENTER, 10000); + giveItems(talker, MARK_OF_SECURITY, 1); + break; + } + case 2: + { + htmltext = "30218-01a.html"; + break; + } + case 6: + { + htmltext = "30218-02.html"; + break; + } + } + } + break; + } + } + return htmltext; + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/no-level.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/no-level.html new file mode 100644 index 0000000000..91c2078962 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/no-level.html @@ -0,0 +1,4 @@ +Newbie Guide:
+You ought to gain more experience. Come back later.
+(This quest is available to characters of Level 2 or higher.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/no-race.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/no-race.html new file mode 100644 index 0000000000..00d390efe8 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11007_NoiseInWoods/no-race.html @@ -0,0 +1,4 @@ +Newbie Guide:
+You are not an Elf. Nothing bad enough to ask outlanders for help has happened here.
+(This quest is available to Elves only.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-01.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-01.htm new file mode 100644 index 0000000000..361e04ca18 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-01.htm @@ -0,0 +1,5 @@ +Centurion Tiku:
+You? Decided to work a little for the benefit of the tribe? Well, it's a sacred duty of every Orc, after all. I have a few appropriate tasks for you.
+I've recently seen a huge wolf pack not far from the town. These monsters are a threat to young Orcs, who can't stand up for themeselves yet. Hurry and get rid of Kasha Wolves and Kasha Timber Wolves. There's another problem. Goblin Tomb Raiders have been raiding out graves. We need to show them that Orcs will not overlook that! Kill them and return out ancestors bones. Besides, Maraku Werewolves were spotted at the town outskirts. get rid of them, as well. And my last request is to find fresh Eye of Seer Tears. We need them to treat our wounded Orcs.
+Here, take this Tribal Chronicle. It has a detailed description of what you need to do.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-01a.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-01a.html new file mode 100644 index 0000000000..95e4a85d12 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-01a.html @@ -0,0 +1,3 @@ +Centurion Tiku:
+Are you giving up halfway trough? A tough Orc like you will face no difficulty performing this task! Come back, when everything is done. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-02.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-02.html new file mode 100644 index 0000000000..7f3db2ad66 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-02.html @@ -0,0 +1,5 @@ +Centurion Tiku:
+Good job! You have a talent of a great warrior.
+I prepared a reward for you. I hope you will like it!
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-03.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-03.html new file mode 100644 index 0000000000..cc195c1df5 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30582-03.html @@ -0,0 +1,4 @@ +Centurion Tiku:
+Well? It is lovely, isn't? Blacksmith Sumari forged it. When I was picking up this weapon, he looked concerned... Could you, please, visit him and ask if he needs help? Work for the good of the tribe!
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-01.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-01.html new file mode 100644 index 0000000000..2104a76162 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-01.html @@ -0,0 +1,5 @@ +Newbie Guide:
+From ancient times we, Orcs, lived to bring fame to our tribes. After a Peace Treaty with other races was signed, young Orcs tend to think only themselves! Today there's a lot of work to do in the village, but the youth say it's not their concern!
+I'd really like to ask you to help here.
+ + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-02.htm b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-02.htm new file mode 100644 index 0000000000..e9dcb82a43 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-02.htm @@ -0,0 +1,3 @@ +Newbie Guide:
+I noticed at a glance that you commemorate ancestors. Centurion Tiku told me recently, that he has got much work to do, and he won't manage it alone. Go to him. Centurion Tiku is guarding entrance to the village. Talk to him and find out, what you need to do.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-02a.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-02a.html new file mode 100644 index 0000000000..85aafa6a14 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/30602-02a.html @@ -0,0 +1,3 @@ +Newbie Guide:
+Why are you still here? Go to Centurion Tiku. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/Q11019_TribalBenefit.java b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/Q11019_TribalBenefit.java new file mode 100644 index 0000000000..ab5af17796 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/Q11019_TribalBenefit.java @@ -0,0 +1,268 @@ +/* + * 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.Q11019_TribalBenefit; + +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 com.l2jmobius.gameserver.util.Util; + +/** + * Tribal Benefit (11019) + * @author Stayway + */ +public class Q11019_TribalBenefit extends Quest +{ + // NPCs + private static final int NEWBIE_GUIDE = 30602; + private static final int TIKU = 30582; + // Items + private static final int KASHA_WOLF_FUR = 90262; + private static final int ASHES_OF_ANCESTORS = 90263; + private static final int IMP_NECKLACE = 90264; + private static final int MOUNTAIN_FUNGUS_SPORES = 90265; + private static final int MARAKU_WEREWOLF_CLAW = 90266; + private static final int EYE_OF_SEER_TEARS = 90267; + private static final int TRIBAL_CHRONICLE = 90261; + // Rewards + private static final int BUTCHERS_SWORD = 49052; + private static final int RING_NOVICE = 29497; + private static final int NECKLACE_NOVICE = 49039; + // Monsters + private static final int KASHA_WOLF = 20475; + private static final int KASHA_FOREST_WOLF = 20477; + private static final int GOBLIN_TOMB_RAIDER = 20319; + private static final int RAKECLAW_IMP_HUNTER = 20312; + private static final int MOUNTAIN_FUNGUS = 20365; + private static final int MARAKU_WEREWOLF = 20363; + private static final int EYE_OF_SEER = 20426; + // Misc + private static final int MIN_LVL = 2; + private static final int MAX_LVL = 20; + + public Q11019_TribalBenefit() + { + super(11019); + addStartNpc(NEWBIE_GUIDE); + addTalkId(NEWBIE_GUIDE, TIKU); + addKillId(KASHA_WOLF, KASHA_FOREST_WOLF, GOBLIN_TOMB_RAIDER, RAKECLAW_IMP_HUNTER, MOUNTAIN_FUNGUS, MARAKU_WEREWOLF, EYE_OF_SEER); + addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); + addCondRace(Race.ORC, "no-race.html"); + registerQuestItems(TRIBAL_CHRONICLE, KASHA_WOLF_FUR, ASHES_OF_ANCESTORS, IMP_NECKLACE, MOUNTAIN_FUNGUS_SPORES, MARAKU_WEREWOLF_CLAW, EYE_OF_SEER_TEARS); + } + + @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 "30602-02.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "reward1": + { + if (qs.isCond(7)) + { + takeItems(player, TRIBAL_CHRONICLE, 1); + takeItems(player, KASHA_WOLF_FUR, 10); + takeItems(player, ASHES_OF_ANCESTORS, 10); + takeItems(player, IMP_NECKLACE, 10); + takeItems(player, MOUNTAIN_FUNGUS_SPORES, 10); + takeItems(player, MARAKU_WEREWOLF_CLAW, 10); + giveItems(player, BUTCHERS_SWORD, 1); + giveItems(player, RING_NOVICE, 2); + giveItems(player, NECKLACE_NOVICE, 1); + addExpAndSp(player, 70000, 0); + qs.exitQuest(false, true); + htmltext = "30582-03.html"; + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = getQuestState(killer, false); + if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true)) + { + switch (npc.getId()) + { + case KASHA_WOLF: + case KASHA_FOREST_WOLF: + { + if ((qs.isCond(2) && (getQuestItemsCount(killer, KASHA_WOLF_FUR) < 10))) + { + giveItems(killer, KASHA_WOLF_FUR, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, KASHA_WOLF_FUR) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_WOLVES_AND_KASHA_BEARS_N_GO_HUNTING_AND_KILL_GOBLIN_TOMB_RAIDERS_AND_RAKECLAW_IMP_HUNTERS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(3); + } + } + break; + } + case GOBLIN_TOMB_RAIDER: + { + if (qs.isCond(3) && (getQuestItemsCount(killer, ASHES_OF_ANCESTORS) < 10)) + { + giveItems(killer, ASHES_OF_ANCESTORS, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if ((getQuestItemsCount(killer, ASHES_OF_ANCESTORS) >= 10) && (getQuestItemsCount(killer, IMP_NECKLACE) >= 10)) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_GOBLIN_TOMB_RAIDERS_AND_RAKECLAW_IMP_HUNTERS_N_GO_HUNTING_AND_KILL_MOUNTAIN_FUNGUS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(4); + } + } + break; + } + case RAKECLAW_IMP_HUNTER: + { + if (qs.isCond(3) && (getQuestItemsCount(killer, IMP_NECKLACE) < 10)) + { + giveItems(killer, IMP_NECKLACE, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if ((getQuestItemsCount(killer, ASHES_OF_ANCESTORS) >= 10) && (getQuestItemsCount(killer, IMP_NECKLACE) >= 10)) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_GOBLIN_TOMB_RAIDERS_AND_RAKECLAW_IMP_HUNTERS_N_GO_HUNTING_AND_KILL_MOUNTAIN_FUNGUS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(4); + } + } + break; + } + case MOUNTAIN_FUNGUS: + { + if (qs.isCond(4) && (getQuestItemsCount(killer, MOUNTAIN_FUNGUS_SPORES) < 10)) + { + giveItems(killer, MOUNTAIN_FUNGUS_SPORES, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, MOUNTAIN_FUNGUS_SPORES) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_MOUNTAIN_FUNGUS_N_GO_HUNTING_AND_KILL_MARAKU_WEREWOLVES, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(5); + } + } + break; + } + case MARAKU_WEREWOLF: + { + if (qs.isCond(5) && (getQuestItemsCount(killer, MARAKU_WEREWOLF_CLAW) < 10)) + { + giveItems(killer, MARAKU_WEREWOLF_CLAW, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, MARAKU_WEREWOLF_CLAW) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_MARAKU_WEREWOLVES_N_GO_HUNTING_AND_KILL_EYES_OF_SEER, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(6); + } + } + break; + } + case EYE_OF_SEER: + { + if (qs.isCond(6) && (getQuestItemsCount(killer, EYE_OF_SEER_TEARS) < 10)) + { + giveItems(killer, EYE_OF_SEER_TEARS, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, EYE_OF_SEER_TEARS) >= 10) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_EYES_OF_SEER_NRETURN_TO_CENTURION_TIKU, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(7); + } + } + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } + + @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 = "30602-01.html"; + break; + } + case State.STARTED: + { + if (npc.getId() == NEWBIE_GUIDE) + { + switch (qs.getCond()) + { + case 1: + { + htmltext = "30602-02a.html"; + break; + } + } + break; + } + else if (npc.getId() == TIKU) + { + switch (qs.getCond()) + { + case 1: + { + htmltext = "30582-01.htm"; + qs.setCond(2, true); + showOnScreenMsg(talker, NpcStringId.GO_HUNTING_AND_KILL_KASHA_WOLF_AND_KASHA_FOREST_WOLF, ExShowScreenMessage.TOP_CENTER, 10000); + giveItems(talker, TRIBAL_CHRONICLE, 1); + break; + } + case 2: + { + htmltext = "30582-01a.html"; + break; + } + case 7: + { + htmltext = "30582-02.html"; + break; + } + } + } + break; + } + } + return htmltext; + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/no-level.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/no-level.html new file mode 100644 index 0000000000..91c2078962 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/no-level.html @@ -0,0 +1,4 @@ +Newbie Guide:
+You ought to gain more experience. Come back later.
+(This quest is available to characters of Level 2 or higher.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/no-race.html b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/no-race.html new file mode 100644 index 0000000000..bc55b9338b --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/quests/Q11019_TribalBenefit/no-race.html @@ -0,0 +1,4 @@ +Newbie Guide:
+You're not an Orc. Great Orcs never ask strangers for help! Go away!
+(This quest is available to Orcs 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 6b647e9764..0c9f784f94 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 @@ -147,9 +147,12 @@ import quests.Q00418_PathOfTheArtisan.Q00418_PathOfTheArtisan; import quests.Q00662_AGameOfCards.Q00662_AGameOfCards; import quests.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss; import quests.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss; +import quests.Q10995_MutualBenefit.Q10995_MutualBenefit; import quests.Q11000_MoonKnight.Q11000_MoonKnight; import quests.Q11001_TombsOfAncestors.Q11001_TombsOfAncestors; +import quests.Q11007_NoiseInWoods.Q11007_NoiseInWoods; import quests.Q11013_ShilensHunt.Q11013_ShilensHunt; +import quests.Q11019_TribalBenefit.Q11019_TribalBenefit; /** * @author NosBit @@ -288,9 +291,12 @@ public class QuestMasterHandler Q00662_AGameOfCards.class, Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.class, Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.class, + Q10995_MutualBenefit.class, Q11000_MoonKnight.class, Q11001_TombsOfAncestors.class, + Q11007_NoiseInWoods.class, Q11013_ShilensHunt.class, + Q11019_TribalBenefit.class, }; public static void main(String[] args) diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/spawns/Dwarf/DwarfTerritory.xml b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/spawns/Dwarf/DwarfTerritory.xml new file mode 100644 index 0000000000..ebe434c586 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/spawns/Dwarf/DwarfTerritory.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/spawns/ElvenForest/ElevenForest.xml b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/spawns/ElvenForest/ElevenForest.xml new file mode 100644 index 0000000000..dfb45e6c89 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/spawns/ElvenForest/ElevenForest.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/stats/items/90200-90299.xml b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/stats/items/90200-90299.xml index 44aebd977a..21c4c44352 100644 --- a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/stats/items/90200-90299.xml +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/stats/items/90200-90299.xml @@ -8,6 +8,7 @@ + @@ -17,6 +18,7 @@ + @@ -26,6 +28,7 @@ + @@ -35,6 +38,7 @@ + @@ -46,6 +50,7 @@ + @@ -55,6 +60,7 @@ + @@ -64,6 +70,7 @@ + @@ -73,6 +80,7 @@ + @@ -84,6 +92,7 @@ + @@ -93,6 +102,7 @@ + @@ -102,6 +112,7 @@ + @@ -113,6 +124,7 @@ + @@ -122,6 +134,7 @@ + @@ -131,6 +144,7 @@ + @@ -142,6 +156,7 @@ + @@ -151,6 +166,7 @@ + @@ -160,6 +176,7 @@ + @@ -171,6 +188,7 @@ + @@ -180,6 +198,7 @@ + @@ -189,6 +208,7 @@ + @@ -198,6 +218,7 @@ + @@ -207,6 +228,7 @@ + @@ -218,6 +240,7 @@ + @@ -227,6 +250,7 @@ + @@ -236,6 +260,7 @@ + @@ -245,6 +270,7 @@ + @@ -283,6 +309,7 @@ + @@ -292,6 +319,7 @@ + @@ -301,6 +329,7 @@ + @@ -312,6 +341,7 @@ + @@ -321,6 +351,7 @@ + @@ -330,6 +361,7 @@ + @@ -341,6 +373,7 @@ + @@ -350,6 +383,7 @@ + @@ -359,6 +393,7 @@ + @@ -380,6 +415,7 @@ + @@ -389,6 +425,7 @@ + @@ -398,6 +435,7 @@ + @@ -407,6 +445,7 @@ + @@ -416,6 +455,7 @@ + @@ -427,6 +467,7 @@ + @@ -436,6 +477,7 @@ + @@ -445,6 +487,7 @@ + @@ -454,6 +497,7 @@ + @@ -463,6 +507,7 @@ + @@ -488,6 +533,7 @@ + @@ -497,6 +543,7 @@ + @@ -506,6 +553,7 @@ + @@ -515,6 +563,7 @@ + @@ -526,6 +575,7 @@ + @@ -535,6 +585,7 @@ + @@ -544,6 +595,7 @@ + @@ -553,6 +605,7 @@ + @@ -564,6 +617,7 @@ + @@ -573,6 +627,7 @@ + @@ -582,6 +637,7 @@ + @@ -591,6 +647,7 @@ + @@ -602,6 +659,7 @@ + @@ -611,6 +669,7 @@ + @@ -620,6 +679,7 @@ + @@ -629,6 +689,7 @@ + @@ -638,6 +699,7 @@ + @@ -647,6 +709,7 @@ + @@ -656,6 +719,7 @@ + @@ -667,6 +731,7 @@ + @@ -677,6 +742,7 @@ + @@ -686,6 +752,7 @@ + @@ -695,6 +762,7 @@ + @@ -704,6 +772,7 @@ + @@ -725,6 +794,7 @@ + @@ -734,6 +804,7 @@ + @@ -743,6 +814,7 @@ + @@ -754,6 +826,7 @@ + @@ -763,6 +836,7 @@ + @@ -772,6 +846,7 @@ + @@ -783,6 +858,7 @@ + @@ -792,6 +868,7 @@ + @@ -801,6 +878,7 @@ + @@ -812,6 +890,7 @@ + @@ -821,6 +900,7 @@ + @@ -830,6 +910,7 @@ + @@ -839,6 +920,7 @@ + @@ -848,6 +930,7 @@ + @@ -857,6 +940,7 @@ + @@ -866,6 +950,7 @@ + @@ -877,6 +962,7 @@ + @@ -886,6 +972,7 @@ + @@ -896,6 +983,7 @@ + @@ -905,6 +993,7 @@ + @@ -914,6 +1003,7 @@ + @@ -925,6 +1015,7 @@ + @@ -934,6 +1025,7 @@ + @@ -943,6 +1035,7 @@ + @@ -954,5 +1047,6 @@ +