Addition of quest Preparation for Dungeon (11008).
Contributed by Stayway.
This commit is contained in:
parent
100c30c653
commit
d13c74be0e
8
L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90222.htm
vendored
Normal file
8
L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90222.htm
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>List of required items<br>
|
||||
<font color="LEVEL">Orcs' Bandage</font>.<br>
|
||||
Kaboo Orc Warriors are always ready for battle, and that's why they carry Bandages on their person. These Bandages are legendary for their blood-stopping properties<br><br>
|
||||
<font color="LEVEL">Dryad's Crimson Moretti's Herb</font>.<br>
|
||||
These sprigs grow on heads and backs of Dryads. If you dab some Moretti's Herb powder onto your eyelids, you will be able to see in the dark.<br><br>
|
||||
<font color="LEVEL">Spider Venom</font>.<br>
|
||||
Venom of Elven Forest's Spiders, deadly for Orcs. Be sure to take it with you to the Underground Fortress.<br>
|
||||
</body></html>
|
@ -27,7 +27,6 @@
|
||||
11004 Perfect Leather Armor (2/3)
|
||||
11005 Perfect Leather Armor (3/3)
|
||||
11006 Future: People
|
||||
11008 Preparation for Dungeon
|
||||
11009 New Potion Development (1/3)
|
||||
11010 New Potion Development (2/3)
|
||||
11011 New Potion Development (3/3)
|
||||
|
@ -0,0 +1,5 @@
|
||||
<html><body>Sentinel Kendell:<br>
|
||||
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.<br>
|
||||
They say he is going down there again. I think Starden wants to bring back remains of his friends. He is too busy and can't do anything about it right now, but he is going back to the dungeon at the earliest opportunity. I'm worried about him - such recklessness is just inviting trouble. Could you talk to Starden?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11008_PreparationForDungeon 30218-02.htm">"Okay, I will talk to him."</Button><br><br>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Sentinel Kendell:<br>
|
||||
Tell Starden that he shouldn't hurry back to the dungeon.<br>
|
||||
You should go to him, quickly.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Sentinel Kendell:<br>
|
||||
You need to talk to the Sentinel named Starden. You should go to him, quickly. Tell him that he shouldn't hurry back to the dungeon.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Sentinel Starden:<br>
|
||||
You come from Kendell? He must have found out about my plans...<br>
|
||||
I can't rest at ease when I remember that dungeon and my fallen friends. I'm going back to the dungeon to recover my friends remains as soon as finish all the tasks given to me. This is not spontaneous decision, I'm going to prepare thoroughly. and be very careful. But they gave me to many tasks, so my return to the dungeon always get postponed. Please, help me.<br>
|
||||
Here, take this <font color="LEVEL">Note about Required Supplies</font>. Bring me everything from the list.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Sentinel Starden:<br>
|
||||
I need to prepare properly. Then I can bring my friends remains back from the Dungeon. I'm not going to die here.
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Sentinel Starden:<br>
|
||||
Thank you! You have been a huge help. Now I can complete my tasks faster and finally set out to the dungeon.<br>
|
||||
Here, this is a small reward for your help. Choose the one you need more.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11008_PreparationForDungeon reward1">Select Warrior's Armor</Button><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11008_PreparationForDungeon reward2">Select Medium's Tunic</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Sentinel Starden:<br>
|
||||
Warrior's Armor is a great choice.<br>
|
||||
It's better to be ready for anything. Speaking of readiness... The last time I've bought healing elixirs from Herbiel, he told me about creating some new potion. I think it would help me a lot on my way back to the dungeon. However, Herbiel mentioned that he doesn't have enough ingredients to make this potion. Could you help him with that?<br>
|
||||
Could you visit <font color="LEVEL">Priest Gerald</font> and find out how to help him><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest 11009_NewPotionDevelopment1 30220-02.htm">"Agree"</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Sentinel Starden:<br>
|
||||
Tunic Armor is a great choice.<br>
|
||||
It's better to be ready for anything. Speaking of readiness... The last time I've bought healing elixirs from Herbiel, he told me about creating some new potion. I think it would help me a lot on my way back to the dungeon. However, Herbiel mentioned that he doesn't have enough ingredients to make this potion. Could you help him with that?<br>
|
||||
Could you visit <font color="LEVEL">Priest Gerald</font> and find out how to help him><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest 11009_NewPotionDevelopment1 30220-02.htm">"Agree"</Button>
|
||||
</body></html>
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q11008_PreparationForDungeon;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* Preparation for Dungeon (11008)
|
||||
* @author Stayway
|
||||
*/
|
||||
public class Q11008_PreparationForDungeon extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int KENDELL = 30218;
|
||||
private static final int STARDEN = 30220;
|
||||
// Items
|
||||
private static final int ORCS_BANDAGE = 90223;
|
||||
private static final int DRYADS_CRIMSON_HERB = 90224;
|
||||
private static final int SPIDER_VENOM = 90225;
|
||||
private static final int NOTE_ABOUT_REQUIRED_INGREDIENTS = 90222; // Need finish htm
|
||||
// Rewards
|
||||
private static final int WARRIORS_ARMOR = 90306;
|
||||
private static final int WARRIORS_GAITERS = 90307;
|
||||
private static final int MEDIUMS_TUNIC = 90308;
|
||||
private static final int MEDIUMS_STOCKINGS = 90309;
|
||||
private static final int RING_NOVICE = 29497;
|
||||
// Monsters
|
||||
private static final int KABOO_ORC_WARRIOR_CAPTAIN = 20472;
|
||||
private static final int KABOO_ORC_WARRIOR_LIEUTENANT = 20473;
|
||||
private static final int DRYAD = 20013;
|
||||
private static final int DRYAD_ELDER = 20019;
|
||||
private static final int HOOK_SPIDER = 20308;
|
||||
private static final int CRIMSON_SPIDER = 20460;
|
||||
private static final int PINCER_SPIDER = 20466;
|
||||
// Misc
|
||||
private static final int MIN_LVL = 11;
|
||||
private static final int MAX_LVL = 20;
|
||||
|
||||
public Q11008_PreparationForDungeon()
|
||||
{
|
||||
super(11008);
|
||||
addStartNpc(KENDELL);
|
||||
addTalkId(KENDELL, STARDEN);
|
||||
addKillId(KABOO_ORC_WARRIOR_CAPTAIN, KABOO_ORC_WARRIOR_LIEUTENANT, DRYAD, DRYAD_ELDER, HOOK_SPIDER, CRIMSON_SPIDER, PINCER_SPIDER);
|
||||
addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom
|
||||
addCondRace(Race.ELF, "no-race.html"); // Custom
|
||||
registerQuestItems(NOTE_ABOUT_REQUIRED_INGREDIENTS, ORCS_BANDAGE, DRYADS_CRIMSON_HERB, SPIDER_VENOM);
|
||||
setQuestNameNpcStringId(NpcStringId.LV_11_20_PREPARATION_FOR_DUNGEON);
|
||||
}
|
||||
|
||||
@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 "30218-02.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "reward1":
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
takeItems(player, NOTE_ABOUT_REQUIRED_INGREDIENTS, 1);
|
||||
takeItems(player, ORCS_BANDAGE, 20);
|
||||
takeItems(player, DRYADS_CRIMSON_HERB, 20);
|
||||
takeItems(player, SPIDER_VENOM, 20);
|
||||
giveItems(player, WARRIORS_ARMOR, 1);
|
||||
giveItems(player, WARRIORS_GAITERS, 1);
|
||||
giveItems(player, RING_NOVICE, 2);
|
||||
addExpAndSp(player, 80000, 0);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = "30220-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "reward2":
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
takeItems(player, NOTE_ABOUT_REQUIRED_INGREDIENTS, 1);
|
||||
takeItems(player, ORCS_BANDAGE, 20);
|
||||
takeItems(player, DRYADS_CRIMSON_HERB, 20);
|
||||
takeItems(player, SPIDER_VENOM, 20);
|
||||
giveItems(player, MEDIUMS_TUNIC, 1);
|
||||
giveItems(player, MEDIUMS_STOCKINGS, 1);
|
||||
giveItems(player, RING_NOVICE, 2);
|
||||
addExpAndSp(player, 80000, 0);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = "30220-04.html"; // Custom
|
||||
}
|
||||
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() == KENDELL)
|
||||
{
|
||||
htmltext = "30218-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (npc.getId() == KENDELL)
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "30218-02a.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
else if (npc.getId() == STARDEN)
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "30220-01.htm";
|
||||
qs.setCond(2, true);
|
||||
showOnScreenMsg(talker, NpcStringId.GO_HUNTING_AND_KILL_KABOO_ORC_WARRIOR_LIEUTENANTS_AND_KABOO_ORC_WARRIOR_CAPTAINS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
giveItems(talker, NOTE_ABOUT_REQUIRED_INGREDIENTS, 1);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "30220-01a.html";
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
htmltext = "30220-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 KABOO_ORC_WARRIOR_CAPTAIN:
|
||||
case KABOO_ORC_WARRIOR_LIEUTENANT:
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(killer, ORCS_BANDAGE) < 20))
|
||||
{
|
||||
if (getRandom(100) < 90)
|
||||
{
|
||||
giveItems(killer, ORCS_BANDAGE, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, ORCS_BANDAGE) >= 20)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_KABOO_ORC_WARRIOR_LIEUTENANTS_AND_KABOO_ORC_WARRIOR_CAPTAINS_N_GO_HUNTING_AND_KILL_DRYADS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DRYAD:
|
||||
case DRYAD_ELDER:
|
||||
{
|
||||
if (qs.isCond(3) && (getQuestItemsCount(killer, DRYADS_CRIMSON_HERB) < 20))
|
||||
{
|
||||
if (getRandom(100) < 90)
|
||||
{
|
||||
giveItems(killer, DRYADS_CRIMSON_HERB, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, DRYADS_CRIMSON_HERB) >= 20)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_DRYADS_N_GO_HUNTING_AND_KILL_CRIMSON_SPIDERS_HOOK_SPIDERS_AND_PINCER_SPIDERS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(4);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case HOOK_SPIDER:
|
||||
case CRIMSON_SPIDER:
|
||||
case PINCER_SPIDER:
|
||||
{
|
||||
if (qs.isCond(4) && (getQuestItemsCount(killer, SPIDER_VENOM) < 20))
|
||||
{
|
||||
if (getRandom(100) < 90)
|
||||
{
|
||||
giveItems(killer, SPIDER_VENOM, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if ((getQuestItemsCount(killer, SPIDER_VENOM) >= 20))
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.RETURN_TO_SENTINEL_STARDEN, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(5);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<html><body>Weapon Merchant Reep:<br>
|
||||
You ought to gain more experience. Come back later.<br>
|
||||
<font color="LEVEL">(This quest is available to characters of Level 11 or higher.)</font><br>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Weapon Merchant Reep:<br>
|
||||
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.<br>
|
||||
<font color="LEVEL">(This quest is available to Elves only.)</font><br>
|
||||
</body></html>
|
@ -153,6 +153,7 @@ import quests.Q11000_MoonKnight.Q11000_MoonKnight;
|
||||
import quests.Q11001_TombsOfAncestors.Q11001_TombsOfAncestors;
|
||||
import quests.Q11002_HelpWithTempleRestoration.Q11002_HelpWithTempleRestoration;
|
||||
import quests.Q11007_NoiseInWoods.Q11007_NoiseInWoods;
|
||||
import quests.Q11008_PreparationForDungeon.Q11008_PreparationForDungeon;
|
||||
import quests.Q11013_ShilensHunt.Q11013_ShilensHunt;
|
||||
import quests.Q11014_SurpriseGift.Q11014_SurpriseGift;
|
||||
import quests.Q11019_TribalBenefit.Q11019_TribalBenefit;
|
||||
@ -300,6 +301,7 @@ public class QuestMasterHandler
|
||||
Q11001_TombsOfAncestors.class,
|
||||
Q11002_HelpWithTempleRestoration.class,
|
||||
Q11007_NoiseInWoods.class,
|
||||
Q11008_PreparationForDungeon.class,
|
||||
Q11013_ShilensHunt.class,
|
||||
Q11014_SurpriseGift.class,
|
||||
Q11019_TribalBenefit.class,
|
||||
|
Loading…
Reference in New Issue
Block a user