diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90274.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90274.htm new file mode 100644 index 0000000000..73bc14181f --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90274.htm @@ -0,0 +1,8 @@ +Forging Scroll
+(This note lists tool crafting Ingredients that Uska needs.)
+Bear's Shin Bone
+These bones are very strong and smooth, pleasnat to touch.
+Sharp Spider Leg
+The tip of this Spider Leg is so sharp that it can easily drill not only bone, but stone as well. It would be a perfect tool if only it didn't go blunt so fast.
+Work tools are used a lot and wear out fast. Tha's why we need so much materials. Well, good luck. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90277.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90277.htm new file mode 100644 index 0000000000..73bc14181f --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90277.htm @@ -0,0 +1,8 @@ +Forging Scroll
+(This note lists tool crafting Ingredients that Uska needs.)
+Bear's Shin Bone
+These bones are very strong and smooth, pleasnat to touch.
+Sharp Spider Leg
+The tip of this Spider Leg is so sharp that it can easily drill not only bone, but stone as well. It would be a perfect tool if only it didn't go blunt so fast.
+Work tools are used a lot and wear out fast. Tha's why we need so much materials. Well, good luck. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90280.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90280.htm new file mode 100644 index 0000000000..eff3afcdc8 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90280.htm @@ -0,0 +1,7 @@ +Necklace Materials Ticket
+(List of Materials required for making a Necklace and Red Gem Necklace that were stolen by Imps.)
+Red Gem
+Sumari sent me this gem to put into Necklace. It's harder than a diamond and glows red from inside. Every jeweler dreams of cutting such a gem. But Kasha Imps stole it! If Sumari find out, he will be furious. Please, get it back quickly! Kill Kasha Imps to find it.
+Hard Lens
+You can make white powder from dried lens of Evil Eye Seers. A stone polished with this powder becomes very smooth. Imps turned over and apilled the whole jar of this powder, and I need it for my work. Bring me some lens of Evil Eye Seers. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/MissingQuests.txt index 7e1102309e..7a78ea9109 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/MissingQuests.txt @@ -23,6 +23,3 @@ 11006 Future: People 11012 Future Elves 11018 Future: Dark Elves -11021 Red Gem Necklace (1/3) -11022 Red Gem Necklace (2/3) -11023 Red Gem Necklace (3/3) \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java index 472bb553bd..b990da68ef 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java @@ -90,7 +90,6 @@ public class Q11016_PrepareForTrade2 extends Quest 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); diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11020_BlacksmithsRequest/30564-02.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11020_BlacksmithsRequest/30564-02.html index 46fec0d777..512fca18c3 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11020_BlacksmithsRequest/30564-02.html +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11020_BlacksmithsRequest/30564-02.html @@ -1,5 +1,5 @@ Blacksmith Sumari:
I see you collected everything. I crafted good armor for you, as a token of my gratitude. Should you need something else, just bring the materials.
-
- +
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01.htm new file mode 100644 index 0000000000..2932fabfef --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01.htm @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+Are you saying Sumari sent you? Hmm, I remember promising him to make a Red Gem Necklace. But this is a very hard material, and all my tools got broken when I worked on it. I feel so bad that I can't keep that promise. Maybe, you could help me. Kill Kasha Bears and Kasha Spiders to get Bear's Shin Bones and Sharp Spider Legs. I will make hammers and chisels from them.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01a.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01a.html new file mode 100644 index 0000000000..dfd9fcd6f9 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01a.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+I want to keep my promise to Sumari. So I'm counting on you for help. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-02.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-02.html new file mode 100644 index 0000000000..bfbec1eee1 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-02.html @@ -0,0 +1,6 @@ +Accessory Merchant Uska:
+You did well. You are a true warrior of our tribe!
+I want to reward you with at least something, so I've prepared a couple of useful things. Choose the one you need more. Take it, please.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-03.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-03.html new file mode 100644 index 0000000000..2ac0eb0a27 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-03.html @@ -0,0 +1,6 @@ +Accessory Merchant Uska:
+Soulshots help our warriors to fill their bodies with strength. You always need quite a big number of them.
+I hate to mention it, but I'm afraid that my tools will break again when I start to work on that Necklace. I want to make an emergency set of tools. Will you help me?
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-04.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-04.html new file mode 100644 index 0000000000..7e6553ebcc --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-04.html @@ -0,0 +1,6 @@ +Accessory Merchant Uska:
+You chose Spiritshots, I see, Well, it's a good choice. You spirit can be trained too. My friend! Never forget about the training.
+I hate to mention it, but I'm afraid that my tools will break again when I start to work on that Necklace. I want to make an emergency set of tools. Will you help me?
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-01.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-01.html new file mode 100644 index 0000000000..76104ca0fa --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-01.html @@ -0,0 +1,4 @@ +Blacksmith Sumari:
+I have a friend, who sells beautiful things. His name is Uska. He promised he would make a gemmed necklace for me, but I haven't heard from him in a while. Please, find out, what has happened.
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02.htm new file mode 100644 index 0000000000..a2f94708e5 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02.htm @@ -0,0 +1,3 @@ +Blacksmith Sumari:
+Thank you! There is no doubt I can rely on you. But you ought to know that Uska is very clever. Be careful.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02a.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02a.html new file mode 100644 index 0000000000..e7e4a7640e --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02a.html @@ -0,0 +1,4 @@ +Blacksmith Sumari:
+Hurry, go to Uska.
+Uska should be at the Grocery Shop. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/Q11021_RedGemNecklace1.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/Q11021_RedGemNecklace1.java new file mode 100644 index 0000000000..b1450e2a07 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/Q11021_RedGemNecklace1.java @@ -0,0 +1,233 @@ +/* + * 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.Q11021_RedGemNecklace1; + +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; + +/** + * Red Gem Necklace (1/3) (11021) + * @author Stayway + */ +public class Q11021_RedGemNecklace1 extends Quest +{ + // NPCs + private static final int SUMARI = 30564; + private static final int USKA = 30560; + // Items + private static final int BEARS_SHIN_BONE = 90275; + private static final int SHARP_SPIDER_LEG = 90276; + private static final int LIST_OF_MATERIALS = 90274; + // 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 KASHA_BEAR = 20479; + private static final int KASHA_SPIDER = 20474; + private static final int KASHA_FANG_SPIDER = 20476; + private static final int KASHA_BLADE_SPIDER = 20478; + // Misc + private static final int MIN_LVL = 15; + private static final int MAX_LVL = 20; + + public Q11021_RedGemNecklace1() + { + super(11021); + addStartNpc(SUMARI); + addTalkId(SUMARI, USKA); + addKillId(KASHA_BEAR, KASHA_SPIDER, KASHA_FANG_SPIDER, KASHA_BLADE_SPIDER); + addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom + addCondRace(Race.ORC, "no-race.html"); // Custom + registerQuestItems(LIST_OF_MATERIALS, BEARS_SHIN_BONE, SHARP_SPIDER_LEG); + setQuestNameNpcStringId(NpcStringId.LV_15_20_RED_GEM_NECKLACE_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 "30564-02.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "reward1": + { + if (qs.isCond(4)) + { + takeItems(player, LIST_OF_MATERIALS, 1); + takeItems(player, BEARS_SHIN_BONE, 20); + takeItems(player, SHARP_SPIDER_LEG, 30); + 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 = "30560-03.html"; + } + break; + } + case "reward2": + { + if (qs.isCond(4)) + { + takeItems(player, LIST_OF_MATERIALS, 1); + takeItems(player, BEARS_SHIN_BONE, 20); + takeItems(player, SHARP_SPIDER_LEG, 30); + 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 = "30560-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() == SUMARI) + { + htmltext = "30564-01.html"; + } + break; + } + case State.STARTED: + { + if (npc.getId() == SUMARI) + { + if (qs.isCond(1)) + { + htmltext = "30564-02a.html"; + } + break; + } + else if (npc.getId() == USKA) + { + switch (qs.getCond()) + { + case 1: + { + htmltext = "30560-01.htm"; + qs.setCond(2, true); + showOnScreenMsg(talker, NpcStringId.GO_HUNTING_AND_KILL_KASHA_BEAR_2, ExShowScreenMessage.TOP_CENTER, 10000); + giveItems(talker, LIST_OF_MATERIALS, 1); + break; + } + case 2: + { + htmltext = "30560-01a.html"; + break; + } + case 4: + { + htmltext = "30560-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 KASHA_BEAR: + { + if (qs.isCond(2) && (getQuestItemsCount(killer, BEARS_SHIN_BONE) < 20)) + { + if (getRandom(100) < 92) + { + giveItems(killer, BEARS_SHIN_BONE, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, BEARS_SHIN_BONE) >= 20) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_BEARS_N_GO_HUNTING_AND_KILL_KASHA_SPIDERS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(3); + } + } + } + break; + } + case KASHA_SPIDER: + case KASHA_FANG_SPIDER: + case KASHA_BLADE_SPIDER: + { + if (qs.isCond(3) && (getQuestItemsCount(killer, SHARP_SPIDER_LEG) < 30)) + { + if (getRandom(100) < 89) + { + giveItems(killer, SHARP_SPIDER_LEG, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, SHARP_SPIDER_LEG) >= 30) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_SPIDERS_NRETURN_TO_ACCESSORY_MERCHANT_USKA, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(4); + } + } + } + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-level.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-level.html new file mode 100644 index 0000000000..5aab2b78a6 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-level.html @@ -0,0 +1,4 @@ +Blacksmith Sumari:
+You need 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.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-race.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-race.html new file mode 100644 index 0000000000..2fa6c636ce --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-race.html @@ -0,0 +1,4 @@ +Blacksmith Sumari:
+I can see you're a stranger here. Pardon me, but I am asking only citizens for help.
+(This quest is available to Orcs only.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-01.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-01.html new file mode 100644 index 0000000000..ddff317c4a --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-01.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+Will you help me? Thank you! Sorry that I'm always asking for your help.
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02.htm new file mode 100644 index 0000000000..cc5b774185 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02.htm @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+Thank you so much! I'll never forget your kindness. Bring back Red Gems that were stolen by Kasha Imps. And find some Hard Lens for me. To get them you need to slay the creatures named Evil Eye Seers.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02a.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02a.html new file mode 100644 index 0000000000..98d32da184 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02a.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+Want to give up? You haven't even started yet. Our tribe's warriors never give up. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-03.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-03.html new file mode 100644 index 0000000000..8b9a786ffd --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-03.html @@ -0,0 +1,5 @@ +Accessory Merchant Uska:
+You did it well. You are a true warrior of our tribe! You've kept your promise. But I can't just accept it without thanking you. Take it. I hope those items will come in handy.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-04.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-04.html new file mode 100644 index 0000000000..d98e092fde --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-04.html @@ -0,0 +1,5 @@ +Accessory Merchant Uska:
+My friend! I'm afraid I have to ask for your help. I got distracted just for a moment, and Kasha Imps stole Red Gems! What's more, they also turned over the jar of varnish and spoiled some other materials. I beg of you, help. Slay Kasha Imps and get back Red Gems. I'll also need some Hard Lens. The ones that got varnish on them are ruined now. To get them you need to kill the creatures named Evil Eye Seers.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-05.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-05.html new file mode 100644 index 0000000000..d98e092fde --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-05.html @@ -0,0 +1,5 @@ +Accessory Merchant Uska:
+My friend! I'm afraid I have to ask for your help. I got distracted just for a moment, and Kasha Imps stole Red Gems! What's more, they also turned over the jar of varnish and spoiled some other materials. I beg of you, help. Slay Kasha Imps and get back Red Gems. I'll also need some Hard Lens. The ones that got varnish on them are ruined now. To get them you need to kill the creatures named Evil Eye Seers.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-06.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-06.html new file mode 100644 index 0000000000..60198a9431 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-06.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+(Only characters who are level 15 or above and who have completed the Red Gem Necklace (1/3) quests may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/Q11022_RedGemNecklace2.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/Q11022_RedGemNecklace2.java new file mode 100644 index 0000000000..2c0db805b0 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/Q11022_RedGemNecklace2.java @@ -0,0 +1,217 @@ +/* + * 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.Q11022_RedGemNecklace2; + +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.Q11021_RedGemNecklace1.Q11021_RedGemNecklace1; + +/** + * Red Gem Necklace (2/3) (11022) + * @author Stayway + */ +public class Q11022_RedGemNecklace2 extends Quest +{ + // NPCs + private static final int USKA = 30560; + // Items + private static final int BEARS_SHIN_BONE = 90278; + private static final int SHARP_SPIDER_LEG = 90279; + private static final int LIST_OF_MATERIALS = 90277; + // 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 KASHA_BEAR = 20479; + private static final int KASHA_SPIDER = 20474; + private static final int KASHA_FANG_SPIDER = 20476; + private static final int KASHA_BLADE_SPIDER = 20478; + // Misc + private static final int MIN_LVL = 15; + private static final int MAX_LVL = 20; + + public Q11022_RedGemNecklace2() + { + super(11022); + addStartNpc(USKA); + addTalkId(USKA); + addKillId(KASHA_BEAR, KASHA_SPIDER, KASHA_FANG_SPIDER, KASHA_BLADE_SPIDER); + addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom + addCondRace(Race.ORC, "no-race.html"); // Custom + addCondCompletedQuest(Q11021_RedGemNecklace1.class.getSimpleName(), "30560-06.html"); + registerQuestItems(LIST_OF_MATERIALS, BEARS_SHIN_BONE, SHARP_SPIDER_LEG); + setQuestNameNpcStringId(NpcStringId.LV_15_RED_GEM_NECKLACE_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 "30560-02.htm": + { + qs.startQuest(); + qs.setCond(2); + showOnScreenMsg(player, NpcStringId.GO_HUNTING_AND_KILL_KASHA_BEAR_2, ExShowScreenMessage.TOP_CENTER, 10000); + giveItems(player, LIST_OF_MATERIALS, 1); + htmltext = event; + break; + } + case "reward1": + { + if (qs.isCond(4)) + { + takeItems(player, LIST_OF_MATERIALS, 1); + takeItems(player, BEARS_SHIN_BONE, 20); + takeItems(player, SHARP_SPIDER_LEG, 30); + 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 = "30560-04.html"; + } + break; + } + case "reward2": + { + if (qs.isCond(4)) + { + takeItems(player, LIST_OF_MATERIALS, 1); + takeItems(player, BEARS_SHIN_BONE, 20); + takeItems(player, SHARP_SPIDER_LEG, 30); + 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 = "30560-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 = "30560-01.html"; + break; + } + case State.STARTED: + { + if (qs.isCond(2)) + { + htmltext = "30560-02a.html"; + } + else if (qs.isCond(4)) + { + htmltext = "30560-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 KASHA_BEAR: + { + if (qs.isCond(2) && (getQuestItemsCount(killer, BEARS_SHIN_BONE) < 20)) + { + if (getRandom(100) < 92) + { + giveItems(killer, BEARS_SHIN_BONE, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, BEARS_SHIN_BONE) >= 20) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_BEARS_N_GO_HUNTING_AND_KILL_KASHA_SPIDERS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(3); + } + } + } + break; + } + case KASHA_SPIDER: + case KASHA_FANG_SPIDER: + case KASHA_BLADE_SPIDER: + { + if (qs.isCond(3) && (getQuestItemsCount(killer, SHARP_SPIDER_LEG) < 30)) + { + if (getRandom(100) < 89) + { + giveItems(killer, SHARP_SPIDER_LEG, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, SHARP_SPIDER_LEG) >= 30) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_SPIDERS_NRETURN_TO_ACCESSORY_MERCHANT_USKA, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(4); + } + } + } + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/abort.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/abort.html new file mode 100644 index 0000000000..22a6ce9f53 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/abort.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+You must want to train, right? You are a true warrior of our tribe!
+I can't hold back my fellow tribesman who is hurrying for this training session. But I'll be glad if you can come and help me when you get a chance. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-level.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-level.html new file mode 100644 index 0000000000..110ee2b28a --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-level.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+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.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-race.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-race.html new file mode 100644 index 0000000000..f72d8e5c2f --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-race.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+I can see you're a stranger here. Pardon me, but I am asking only citizens for help.
+(This quest is available to Orcs only.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-01.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-01.html new file mode 100644 index 0000000000..505bfa4876 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-01.html @@ -0,0 +1,5 @@ +Accessory Merchant Uska:
+What's going on? Did something happen?
+Oh, you want help me? You need to train a lot to be able to complete my task. And even then I'm not sure that you could do it.
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02.htm new file mode 100644 index 0000000000..e4e7d64f65 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02.htm @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+Thank you for agreeing to help me out. Bring me back Red Gems that were stolen by Kasha Imps and Hard Lens that you can obtain from the bodies of the creatures called Evil Eye Seers. I rest my hopes on you.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02a.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02a.html new file mode 100644 index 0000000000..360834f1eb --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02a.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+You aren't finished yet? Must be because of troubles with Kasha Imps, right? Or did Evil Eyes Seers proved to be too serious an opponebt? Try again. I want to keep my promise to Sumari. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-03.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-03.html new file mode 100644 index 0000000000..869fed02de --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-03.html @@ -0,0 +1,6 @@ +Accessory Merchant Uska:
+Thanks. Thanks to you I could keep my promise to Sumari.
+Here, I've prepared a gift for you. Sorry that it's so modest.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-04.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-04.html new file mode 100644 index 0000000000..85aa604728 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-04.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+I hope this'll come in handy. Now I just need to make a Necklace for Sumari. I'll never forget your help! Thank you! + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-05.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-05.html new file mode 100644 index 0000000000..85aa604728 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-05.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+I hope this'll come in handy. Now I just need to make a Necklace for Sumari. I'll never forget your help! Thank you! + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-06.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-06.html new file mode 100644 index 0000000000..7028adaf03 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-06.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+(Only characters who are level 15 or above and who have completed the Red Gem Necklace (2/3) quests may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/Q11023_RedGemNecklace3.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/Q11023_RedGemNecklace3.java new file mode 100644 index 0000000000..279939488f --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/Q11023_RedGemNecklace3.java @@ -0,0 +1,213 @@ +/* + * 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.Q11023_RedGemNecklace3; + +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.Q11022_RedGemNecklace2.Q11022_RedGemNecklace2; + +/** + * Red Gem Necklace (3/3) (11023) + * @author Stayway + */ +public class Q11023_RedGemNecklace3 extends Quest +{ + // NPCs + private static final int USKA = 30560; + // Items + private static final int HARD_LENS = 90282; + private static final int RED_STONE = 90281; + private static final int NECKLACE_MATERIALS_TICKET = 90280; + // 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 EVIL_EYE_SEER = 21257; + private static final int KASHA_IMP = 21117; + // Misc + private static final int MIN_LVL = 15; + private static final int MAX_LVL = 20; + + public Q11023_RedGemNecklace3() + { + super(11023); + addStartNpc(USKA); + addTalkId(USKA); + addKillId(EVIL_EYE_SEER, KASHA_IMP); + addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom + addCondRace(Race.ORC, "no-race.html"); // Custom + addCondCompletedQuest(Q11022_RedGemNecklace2.class.getSimpleName(), "30560-06.html"); + registerQuestItems(NECKLACE_MATERIALS_TICKET, HARD_LENS, RED_STONE); + setQuestNameNpcStringId(NpcStringId.LV_15_RED_GEM_NECKLACE_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 "30560-02.htm": + { + qs.startQuest(); + qs.setCond(2); + showOnScreenMsg(player, NpcStringId.GO_HUNTING_AND_KILL_EVIL_EYE_SEERS, ExShowScreenMessage.TOP_CENTER, 10000); + giveItems(player, NECKLACE_MATERIALS_TICKET, 1); + htmltext = event; + break; + } + case "reward1": + { + if (qs.isCond(4)) + { + takeItems(player, NECKLACE_MATERIALS_TICKET, 1); + takeItems(player, HARD_LENS, 20); + takeItems(player, RED_STONE, 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 = "30560-04.html"; + } + break; + } + case "reward2": + { + if (qs.isCond(4)) + { + takeItems(player, NECKLACE_MATERIALS_TICKET, 1); + takeItems(player, HARD_LENS, 20); + takeItems(player, RED_STONE, 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 = "30560-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 = "30560-01.html"; + break; + } + case State.STARTED: + { + if (qs.isCond(2)) + { + htmltext = "30560-02a.html"; + } + else if (qs.isCond(4)) + { + htmltext = "30560-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 EVIL_EYE_SEER: + { + if (qs.isCond(2) && (getQuestItemsCount(killer, HARD_LENS) < 20)) + { + if (getRandom(100) < 92) + { + giveItems(killer, HARD_LENS, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, HARD_LENS) >= 20) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_EVIL_EYE_SEERS_N_GO_HUNTING_AND_KILL_KASHA_IMPS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(3); + } + } + } + break; + } + case KASHA_IMP: + { + if (qs.isCond(3) && (getQuestItemsCount(killer, RED_STONE) < 20)) + { + if (getRandom(100) < 91) + { + giveItems(killer, RED_STONE, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, RED_STONE) >= 20) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_IMPS_NRETURN_TO_ACCESSORY_MERCHANT_USKA, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(4); + } + } + } + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/abort.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/abort.html new file mode 100644 index 0000000000..3a759e9ab6 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/abort.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+You must've been going to a training session, right? I'm sorry to distract you with my pleas for help. Don't worry. I can deal with it myself. I'm ashamed to ask my fellow tribesmen for help. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-level.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-level.html new file mode 100644 index 0000000000..110ee2b28a --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-level.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+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.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-race.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-race.html new file mode 100644 index 0000000000..f72d8e5c2f --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-race.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+I can see you're a stranger here. Pardon me, but I am asking only citizens for help.
+(This quest is available to Orcs only.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java index 41ecca4ac4..5ebce0f59d 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -170,6 +170,9 @@ import quests.Q11016_PrepareForTrade2.Q11016_PrepareForTrade2; import quests.Q11017_PrepareForTrade3.Q11017_PrepareForTrade3; import quests.Q11019_TribalBenefit.Q11019_TribalBenefit; import quests.Q11020_BlacksmithsRequest.Q11020_BlacksmithsRequest; +import quests.Q11021_RedGemNecklace1.Q11021_RedGemNecklace1; +import quests.Q11022_RedGemNecklace2.Q11022_RedGemNecklace2; +import quests.Q11023_RedGemNecklace3.Q11023_RedGemNecklace3; /** * @author NosBit @@ -331,6 +334,9 @@ public class QuestMasterHandler Q11017_PrepareForTrade3.class, Q11019_TribalBenefit.class, Q11020_BlacksmithsRequest.class, + Q11021_RedGemNecklace1.class, + Q11022_RedGemNecklace2.class, + Q11023_RedGemNecklace3.class, }; public static void main(String[] args) diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/OrcTerritory/OrcTerritory.xml b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/OrcTerritory/OrcTerritory.xml new file mode 100644 index 0000000000..c262f2de35 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/OrcTerritory/OrcTerritory.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/item/90274.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/item/90274.htm new file mode 100644 index 0000000000..73bc14181f --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/item/90274.htm @@ -0,0 +1,8 @@ +Forging Scroll
+(This note lists tool crafting Ingredients that Uska needs.)
+Bear's Shin Bone
+These bones are very strong and smooth, pleasnat to touch.
+Sharp Spider Leg
+The tip of this Spider Leg is so sharp that it can easily drill not only bone, but stone as well. It would be a perfect tool if only it didn't go blunt so fast.
+Work tools are used a lot and wear out fast. Tha's why we need so much materials. Well, good luck. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/item/90277.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/item/90277.htm new file mode 100644 index 0000000000..73bc14181f --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/item/90277.htm @@ -0,0 +1,8 @@ +Forging Scroll
+(This note lists tool crafting Ingredients that Uska needs.)
+Bear's Shin Bone
+These bones are very strong and smooth, pleasnat to touch.
+Sharp Spider Leg
+The tip of this Spider Leg is so sharp that it can easily drill not only bone, but stone as well. It would be a perfect tool if only it didn't go blunt so fast.
+Work tools are used a lot and wear out fast. Tha's why we need so much materials. Well, good luck. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/item/90280.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/item/90280.htm new file mode 100644 index 0000000000..eff3afcdc8 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/item/90280.htm @@ -0,0 +1,7 @@ +Necklace Materials Ticket
+(List of Materials required for making a Necklace and Red Gem Necklace that were stolen by Imps.)
+Red Gem
+Sumari sent me this gem to put into Necklace. It's harder than a diamond and glows red from inside. Every jeweler dreams of cutting such a gem. But Kasha Imps stole it! If Sumari find out, he will be furious. Please, get it back quickly! Kill Kasha Imps to find it.
+Hard Lens
+You can make white powder from dried lens of Evil Eye Seers. A stone polished with this powder becomes very smooth. Imps turned over and apilled the whole jar of this powder, and I need it for my work. Bring me some lens of Evil Eye Seers. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/MissingQuests.txt index bab927bdbc..bc149e7449 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/MissingQuests.txt @@ -22,9 +22,6 @@ 11006 Future: People 11012 Future Elves 11018 Future: Dark Elves -11021 Red Gem Necklace (1/3) -11022 Red Gem Necklace (2/3) -11023 Red Gem Necklace (3/3) TODO: Check Antharas rewards. 11006 Future: People diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java index 472bb553bd..b990da68ef 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11016_PrepareForTrade2/Q11016_PrepareForTrade2.java @@ -90,7 +90,6 @@ public class Q11016_PrepareForTrade2 extends Quest 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); diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11020_BlacksmithsRequest/30564-02.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11020_BlacksmithsRequest/30564-02.html index 46fec0d777..512fca18c3 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11020_BlacksmithsRequest/30564-02.html +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11020_BlacksmithsRequest/30564-02.html @@ -1,5 +1,5 @@ Blacksmith Sumari:
I see you collected everything. I crafted good armor for you, as a token of my gratitude. Should you need something else, just bring the materials.
-
- +
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01.htm new file mode 100644 index 0000000000..2932fabfef --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01.htm @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+Are you saying Sumari sent you? Hmm, I remember promising him to make a Red Gem Necklace. But this is a very hard material, and all my tools got broken when I worked on it. I feel so bad that I can't keep that promise. Maybe, you could help me. Kill Kasha Bears and Kasha Spiders to get Bear's Shin Bones and Sharp Spider Legs. I will make hammers and chisels from them.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01a.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01a.html new file mode 100644 index 0000000000..dfd9fcd6f9 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-01a.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+I want to keep my promise to Sumari. So I'm counting on you for help. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-02.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-02.html new file mode 100644 index 0000000000..bfbec1eee1 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-02.html @@ -0,0 +1,6 @@ +Accessory Merchant Uska:
+You did well. You are a true warrior of our tribe!
+I want to reward you with at least something, so I've prepared a couple of useful things. Choose the one you need more. Take it, please.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-03.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-03.html new file mode 100644 index 0000000000..2ac0eb0a27 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-03.html @@ -0,0 +1,6 @@ +Accessory Merchant Uska:
+Soulshots help our warriors to fill their bodies with strength. You always need quite a big number of them.
+I hate to mention it, but I'm afraid that my tools will break again when I start to work on that Necklace. I want to make an emergency set of tools. Will you help me?
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-04.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-04.html new file mode 100644 index 0000000000..7e6553ebcc --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30560-04.html @@ -0,0 +1,6 @@ +Accessory Merchant Uska:
+You chose Spiritshots, I see, Well, it's a good choice. You spirit can be trained too. My friend! Never forget about the training.
+I hate to mention it, but I'm afraid that my tools will break again when I start to work on that Necklace. I want to make an emergency set of tools. Will you help me?
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-01.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-01.html new file mode 100644 index 0000000000..76104ca0fa --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-01.html @@ -0,0 +1,4 @@ +Blacksmith Sumari:
+I have a friend, who sells beautiful things. His name is Uska. He promised he would make a gemmed necklace for me, but I haven't heard from him in a while. Please, find out, what has happened.
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02.htm new file mode 100644 index 0000000000..a2f94708e5 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02.htm @@ -0,0 +1,3 @@ +Blacksmith Sumari:
+Thank you! There is no doubt I can rely on you. But you ought to know that Uska is very clever. Be careful.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02a.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02a.html new file mode 100644 index 0000000000..e7e4a7640e --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/30564-02a.html @@ -0,0 +1,4 @@ +Blacksmith Sumari:
+Hurry, go to Uska.
+Uska should be at the Grocery Shop. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/Q11021_RedGemNecklace1.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/Q11021_RedGemNecklace1.java new file mode 100644 index 0000000000..b1450e2a07 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/Q11021_RedGemNecklace1.java @@ -0,0 +1,233 @@ +/* + * 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.Q11021_RedGemNecklace1; + +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; + +/** + * Red Gem Necklace (1/3) (11021) + * @author Stayway + */ +public class Q11021_RedGemNecklace1 extends Quest +{ + // NPCs + private static final int SUMARI = 30564; + private static final int USKA = 30560; + // Items + private static final int BEARS_SHIN_BONE = 90275; + private static final int SHARP_SPIDER_LEG = 90276; + private static final int LIST_OF_MATERIALS = 90274; + // 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 KASHA_BEAR = 20479; + private static final int KASHA_SPIDER = 20474; + private static final int KASHA_FANG_SPIDER = 20476; + private static final int KASHA_BLADE_SPIDER = 20478; + // Misc + private static final int MIN_LVL = 15; + private static final int MAX_LVL = 20; + + public Q11021_RedGemNecklace1() + { + super(11021); + addStartNpc(SUMARI); + addTalkId(SUMARI, USKA); + addKillId(KASHA_BEAR, KASHA_SPIDER, KASHA_FANG_SPIDER, KASHA_BLADE_SPIDER); + addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom + addCondRace(Race.ORC, "no-race.html"); // Custom + registerQuestItems(LIST_OF_MATERIALS, BEARS_SHIN_BONE, SHARP_SPIDER_LEG); + setQuestNameNpcStringId(NpcStringId.LV_15_20_RED_GEM_NECKLACE_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 "30564-02.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "reward1": + { + if (qs.isCond(4)) + { + takeItems(player, LIST_OF_MATERIALS, 1); + takeItems(player, BEARS_SHIN_BONE, 20); + takeItems(player, SHARP_SPIDER_LEG, 30); + 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 = "30560-03.html"; + } + break; + } + case "reward2": + { + if (qs.isCond(4)) + { + takeItems(player, LIST_OF_MATERIALS, 1); + takeItems(player, BEARS_SHIN_BONE, 20); + takeItems(player, SHARP_SPIDER_LEG, 30); + 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 = "30560-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() == SUMARI) + { + htmltext = "30564-01.html"; + } + break; + } + case State.STARTED: + { + if (npc.getId() == SUMARI) + { + if (qs.isCond(1)) + { + htmltext = "30564-02a.html"; + } + break; + } + else if (npc.getId() == USKA) + { + switch (qs.getCond()) + { + case 1: + { + htmltext = "30560-01.htm"; + qs.setCond(2, true); + showOnScreenMsg(talker, NpcStringId.GO_HUNTING_AND_KILL_KASHA_BEAR_2, ExShowScreenMessage.TOP_CENTER, 10000); + giveItems(talker, LIST_OF_MATERIALS, 1); + break; + } + case 2: + { + htmltext = "30560-01a.html"; + break; + } + case 4: + { + htmltext = "30560-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 KASHA_BEAR: + { + if (qs.isCond(2) && (getQuestItemsCount(killer, BEARS_SHIN_BONE) < 20)) + { + if (getRandom(100) < 92) + { + giveItems(killer, BEARS_SHIN_BONE, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, BEARS_SHIN_BONE) >= 20) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_BEARS_N_GO_HUNTING_AND_KILL_KASHA_SPIDERS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(3); + } + } + } + break; + } + case KASHA_SPIDER: + case KASHA_FANG_SPIDER: + case KASHA_BLADE_SPIDER: + { + if (qs.isCond(3) && (getQuestItemsCount(killer, SHARP_SPIDER_LEG) < 30)) + { + if (getRandom(100) < 89) + { + giveItems(killer, SHARP_SPIDER_LEG, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, SHARP_SPIDER_LEG) >= 30) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_SPIDERS_NRETURN_TO_ACCESSORY_MERCHANT_USKA, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(4); + } + } + } + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-level.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-level.html new file mode 100644 index 0000000000..5aab2b78a6 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-level.html @@ -0,0 +1,4 @@ +Blacksmith Sumari:
+You need 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.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-race.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-race.html new file mode 100644 index 0000000000..2fa6c636ce --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11021_RedGemNecklace1/no-race.html @@ -0,0 +1,4 @@ +Blacksmith Sumari:
+I can see you're a stranger here. Pardon me, but I am asking only citizens for help.
+(This quest is available to Orcs only.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-01.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-01.html new file mode 100644 index 0000000000..ddff317c4a --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-01.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+Will you help me? Thank you! Sorry that I'm always asking for your help.
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02.htm new file mode 100644 index 0000000000..cc5b774185 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02.htm @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+Thank you so much! I'll never forget your kindness. Bring back Red Gems that were stolen by Kasha Imps. And find some Hard Lens for me. To get them you need to slay the creatures named Evil Eye Seers.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02a.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02a.html new file mode 100644 index 0000000000..98d32da184 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-02a.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+Want to give up? You haven't even started yet. Our tribe's warriors never give up. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-03.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-03.html new file mode 100644 index 0000000000..8b9a786ffd --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-03.html @@ -0,0 +1,5 @@ +Accessory Merchant Uska:
+You did it well. You are a true warrior of our tribe! You've kept your promise. But I can't just accept it without thanking you. Take it. I hope those items will come in handy.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-04.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-04.html new file mode 100644 index 0000000000..d98e092fde --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-04.html @@ -0,0 +1,5 @@ +Accessory Merchant Uska:
+My friend! I'm afraid I have to ask for your help. I got distracted just for a moment, and Kasha Imps stole Red Gems! What's more, they also turned over the jar of varnish and spoiled some other materials. I beg of you, help. Slay Kasha Imps and get back Red Gems. I'll also need some Hard Lens. The ones that got varnish on them are ruined now. To get them you need to kill the creatures named Evil Eye Seers.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-05.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-05.html new file mode 100644 index 0000000000..d98e092fde --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-05.html @@ -0,0 +1,5 @@ +Accessory Merchant Uska:
+My friend! I'm afraid I have to ask for your help. I got distracted just for a moment, and Kasha Imps stole Red Gems! What's more, they also turned over the jar of varnish and spoiled some other materials. I beg of you, help. Slay Kasha Imps and get back Red Gems. I'll also need some Hard Lens. The ones that got varnish on them are ruined now. To get them you need to kill the creatures named Evil Eye Seers.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-06.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-06.html new file mode 100644 index 0000000000..60198a9431 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/30560-06.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+(Only characters who are level 15 or above and who have completed the Red Gem Necklace (1/3) quests may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/Q11022_RedGemNecklace2.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/Q11022_RedGemNecklace2.java new file mode 100644 index 0000000000..2c0db805b0 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/Q11022_RedGemNecklace2.java @@ -0,0 +1,217 @@ +/* + * 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.Q11022_RedGemNecklace2; + +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.Q11021_RedGemNecklace1.Q11021_RedGemNecklace1; + +/** + * Red Gem Necklace (2/3) (11022) + * @author Stayway + */ +public class Q11022_RedGemNecklace2 extends Quest +{ + // NPCs + private static final int USKA = 30560; + // Items + private static final int BEARS_SHIN_BONE = 90278; + private static final int SHARP_SPIDER_LEG = 90279; + private static final int LIST_OF_MATERIALS = 90277; + // 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 KASHA_BEAR = 20479; + private static final int KASHA_SPIDER = 20474; + private static final int KASHA_FANG_SPIDER = 20476; + private static final int KASHA_BLADE_SPIDER = 20478; + // Misc + private static final int MIN_LVL = 15; + private static final int MAX_LVL = 20; + + public Q11022_RedGemNecklace2() + { + super(11022); + addStartNpc(USKA); + addTalkId(USKA); + addKillId(KASHA_BEAR, KASHA_SPIDER, KASHA_FANG_SPIDER, KASHA_BLADE_SPIDER); + addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom + addCondRace(Race.ORC, "no-race.html"); // Custom + addCondCompletedQuest(Q11021_RedGemNecklace1.class.getSimpleName(), "30560-06.html"); + registerQuestItems(LIST_OF_MATERIALS, BEARS_SHIN_BONE, SHARP_SPIDER_LEG); + setQuestNameNpcStringId(NpcStringId.LV_15_RED_GEM_NECKLACE_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 "30560-02.htm": + { + qs.startQuest(); + qs.setCond(2); + showOnScreenMsg(player, NpcStringId.GO_HUNTING_AND_KILL_KASHA_BEAR_2, ExShowScreenMessage.TOP_CENTER, 10000); + giveItems(player, LIST_OF_MATERIALS, 1); + htmltext = event; + break; + } + case "reward1": + { + if (qs.isCond(4)) + { + takeItems(player, LIST_OF_MATERIALS, 1); + takeItems(player, BEARS_SHIN_BONE, 20); + takeItems(player, SHARP_SPIDER_LEG, 30); + 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 = "30560-04.html"; + } + break; + } + case "reward2": + { + if (qs.isCond(4)) + { + takeItems(player, LIST_OF_MATERIALS, 1); + takeItems(player, BEARS_SHIN_BONE, 20); + takeItems(player, SHARP_SPIDER_LEG, 30); + 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 = "30560-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 = "30560-01.html"; + break; + } + case State.STARTED: + { + if (qs.isCond(2)) + { + htmltext = "30560-02a.html"; + } + else if (qs.isCond(4)) + { + htmltext = "30560-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 KASHA_BEAR: + { + if (qs.isCond(2) && (getQuestItemsCount(killer, BEARS_SHIN_BONE) < 20)) + { + if (getRandom(100) < 92) + { + giveItems(killer, BEARS_SHIN_BONE, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, BEARS_SHIN_BONE) >= 20) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_BEARS_N_GO_HUNTING_AND_KILL_KASHA_SPIDERS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(3); + } + } + } + break; + } + case KASHA_SPIDER: + case KASHA_FANG_SPIDER: + case KASHA_BLADE_SPIDER: + { + if (qs.isCond(3) && (getQuestItemsCount(killer, SHARP_SPIDER_LEG) < 30)) + { + if (getRandom(100) < 89) + { + giveItems(killer, SHARP_SPIDER_LEG, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, SHARP_SPIDER_LEG) >= 30) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_SPIDERS_NRETURN_TO_ACCESSORY_MERCHANT_USKA, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(4); + } + } + } + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/abort.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/abort.html new file mode 100644 index 0000000000..22a6ce9f53 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/abort.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+You must want to train, right? You are a true warrior of our tribe!
+I can't hold back my fellow tribesman who is hurrying for this training session. But I'll be glad if you can come and help me when you get a chance. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-level.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-level.html new file mode 100644 index 0000000000..110ee2b28a --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-level.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+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.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-race.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-race.html new file mode 100644 index 0000000000..f72d8e5c2f --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11022_RedGemNecklace2/no-race.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+I can see you're a stranger here. Pardon me, but I am asking only citizens for help.
+(This quest is available to Orcs only.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-01.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-01.html new file mode 100644 index 0000000000..505bfa4876 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-01.html @@ -0,0 +1,5 @@ +Accessory Merchant Uska:
+What's going on? Did something happen?
+Oh, you want help me? You need to train a lot to be able to complete my task. And even then I'm not sure that you could do it.
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02.htm new file mode 100644 index 0000000000..e4e7d64f65 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02.htm @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+Thank you for agreeing to help me out. Bring me back Red Gems that were stolen by Kasha Imps and Hard Lens that you can obtain from the bodies of the creatures called Evil Eye Seers. I rest my hopes on you.
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02a.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02a.html new file mode 100644 index 0000000000..360834f1eb --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-02a.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+You aren't finished yet? Must be because of troubles with Kasha Imps, right? Or did Evil Eyes Seers proved to be too serious an opponebt? Try again. I want to keep my promise to Sumari. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-03.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-03.html new file mode 100644 index 0000000000..869fed02de --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-03.html @@ -0,0 +1,6 @@ +Accessory Merchant Uska:
+Thanks. Thanks to you I could keep my promise to Sumari.
+Here, I've prepared a gift for you. Sorry that it's so modest.
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-04.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-04.html new file mode 100644 index 0000000000..85aa604728 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-04.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+I hope this'll come in handy. Now I just need to make a Necklace for Sumari. I'll never forget your help! Thank you! + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-05.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-05.html new file mode 100644 index 0000000000..85aa604728 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-05.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+I hope this'll come in handy. Now I just need to make a Necklace for Sumari. I'll never forget your help! Thank you! + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-06.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-06.html new file mode 100644 index 0000000000..7028adaf03 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/30560-06.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+(Only characters who are level 15 or above and who have completed the Red Gem Necklace (2/3) quests may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/Q11023_RedGemNecklace3.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/Q11023_RedGemNecklace3.java new file mode 100644 index 0000000000..279939488f --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/Q11023_RedGemNecklace3.java @@ -0,0 +1,213 @@ +/* + * 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.Q11023_RedGemNecklace3; + +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.Q11022_RedGemNecklace2.Q11022_RedGemNecklace2; + +/** + * Red Gem Necklace (3/3) (11023) + * @author Stayway + */ +public class Q11023_RedGemNecklace3 extends Quest +{ + // NPCs + private static final int USKA = 30560; + // Items + private static final int HARD_LENS = 90282; + private static final int RED_STONE = 90281; + private static final int NECKLACE_MATERIALS_TICKET = 90280; + // 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 EVIL_EYE_SEER = 21257; + private static final int KASHA_IMP = 21117; + // Misc + private static final int MIN_LVL = 15; + private static final int MAX_LVL = 20; + + public Q11023_RedGemNecklace3() + { + super(11023); + addStartNpc(USKA); + addTalkId(USKA); + addKillId(EVIL_EYE_SEER, KASHA_IMP); + addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom + addCondRace(Race.ORC, "no-race.html"); // Custom + addCondCompletedQuest(Q11022_RedGemNecklace2.class.getSimpleName(), "30560-06.html"); + registerQuestItems(NECKLACE_MATERIALS_TICKET, HARD_LENS, RED_STONE); + setQuestNameNpcStringId(NpcStringId.LV_15_RED_GEM_NECKLACE_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 "30560-02.htm": + { + qs.startQuest(); + qs.setCond(2); + showOnScreenMsg(player, NpcStringId.GO_HUNTING_AND_KILL_EVIL_EYE_SEERS, ExShowScreenMessage.TOP_CENTER, 10000); + giveItems(player, NECKLACE_MATERIALS_TICKET, 1); + htmltext = event; + break; + } + case "reward1": + { + if (qs.isCond(4)) + { + takeItems(player, NECKLACE_MATERIALS_TICKET, 1); + takeItems(player, HARD_LENS, 20); + takeItems(player, RED_STONE, 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 = "30560-04.html"; + } + break; + } + case "reward2": + { + if (qs.isCond(4)) + { + takeItems(player, NECKLACE_MATERIALS_TICKET, 1); + takeItems(player, HARD_LENS, 20); + takeItems(player, RED_STONE, 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 = "30560-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 = "30560-01.html"; + break; + } + case State.STARTED: + { + if (qs.isCond(2)) + { + htmltext = "30560-02a.html"; + } + else if (qs.isCond(4)) + { + htmltext = "30560-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 EVIL_EYE_SEER: + { + if (qs.isCond(2) && (getQuestItemsCount(killer, HARD_LENS) < 20)) + { + if (getRandom(100) < 92) + { + giveItems(killer, HARD_LENS, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, HARD_LENS) >= 20) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_EVIL_EYE_SEERS_N_GO_HUNTING_AND_KILL_KASHA_IMPS, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(3); + } + } + } + break; + } + case KASHA_IMP: + { + if (qs.isCond(3) && (getQuestItemsCount(killer, RED_STONE) < 20)) + { + if (getRandom(100) < 91) + { + giveItems(killer, RED_STONE, 1); + playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (getQuestItemsCount(killer, RED_STONE) >= 20) + { + showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KASHA_IMPS_NRETURN_TO_ACCESSORY_MERCHANT_USKA, ExShowScreenMessage.TOP_CENTER, 10000); + qs.setCond(4); + } + } + } + break; + } + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/abort.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/abort.html new file mode 100644 index 0000000000..3a759e9ab6 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/abort.html @@ -0,0 +1,3 @@ +Accessory Merchant Uska:
+You must've been going to a training session, right? I'm sorry to distract you with my pleas for help. Don't worry. I can deal with it myself. I'm ashamed to ask my fellow tribesmen for help. + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-level.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-level.html new file mode 100644 index 0000000000..110ee2b28a --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-level.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+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.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-race.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-race.html new file mode 100644 index 0000000000..f72d8e5c2f --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q11023_RedGemNecklace3/no-race.html @@ -0,0 +1,4 @@ +Accessory Merchant Uska:
+I can see you're a stranger here. Pardon me, but I am asking only citizens for help.
+(This quest is available to Orcs only.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/QuestMasterHandler.java index 41ecca4ac4..5ebce0f59d 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -170,6 +170,9 @@ import quests.Q11016_PrepareForTrade2.Q11016_PrepareForTrade2; import quests.Q11017_PrepareForTrade3.Q11017_PrepareForTrade3; import quests.Q11019_TribalBenefit.Q11019_TribalBenefit; import quests.Q11020_BlacksmithsRequest.Q11020_BlacksmithsRequest; +import quests.Q11021_RedGemNecklace1.Q11021_RedGemNecklace1; +import quests.Q11022_RedGemNecklace2.Q11022_RedGemNecklace2; +import quests.Q11023_RedGemNecklace3.Q11023_RedGemNecklace3; /** * @author NosBit @@ -331,6 +334,9 @@ public class QuestMasterHandler Q11017_PrepareForTrade3.class, Q11019_TribalBenefit.class, Q11020_BlacksmithsRequest.class, + Q11021_RedGemNecklace1.class, + Q11022_RedGemNecklace2.class, + Q11023_RedGemNecklace3.class, }; public static void main(String[] args) diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/OrcTerritory/OrcTerritory.xml b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/OrcTerritory/OrcTerritory.xml new file mode 100644 index 0000000000..c262f2de35 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/OrcTerritory/OrcTerritory.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + +