Addition of quests 109, 617, 622, 623, 628 and 640.
Thanks to veriongt.
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
Excellent! I hate to throw you into the fire on your first mission, but it's vital that we find out what happened to our scout!<br>
|
||||
Cool your heels a minute and I'll tell you where to focus your search.<br>
|
||||
We lost contact with him inside the Swamp of Screams. If you follow the path you can't miss it. I also marked it on your map, so don't get lost! Last thing I need is another missing person.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
We have no use for someone so inexperienced. Get some more training and we'll see what we can do for you...<br>
|
||||
(Only characters who are level 81 or higher may undertake this quest.)
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
I'm glad to have you on the force! Makes me more optimistic about our chances...<br>
|
||||
Anyway, I called you here to ask you a favor. I sent a group of scouts into the Swamp of Screams to investigate the ongoing conflict there, but we've lost contact with one of them. I need someone to find out what happened. Are you up to the task?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00109_InSearchOfTheNest 31553-0.htm">"Sure, no big deal. I'll do it."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
What's the hold up?<br>
|
||||
We lost contact with the scout inside the Swamp of Screams. Follow the path and you can't miss it. I marked it on the map so you shouldn't get lost. Remember, countless lives are at stake here! We need to find that scout!
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
I can tell by your looks that you found something. Well? Is my scout OK?<br>
|
||||
Spit it out, soldier! What do you know?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00109_InSearchOfTheNest 31553-3.html">"Read this memo."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
Ah, I see... He's dead, then.<br>
|
||||
Good work. At least he gave us some important information: the Stakatos are becoming both wilder and stronger, though we don't know why.<br>
|
||||
Our Golden Ram Mercenaries must now prepare for what may well be our final battle. Take this news to <font color="LEVEL">Kahman</font>. He will reward you for your efforts.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
You've done your part, and I thank you for it. Go to see <font color="LEVEL">Kahman</font> over there for your reward.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
State your business here! We received no order.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00109_InSearchOfTheNest 31554-2.html">"Pierce sent me."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Oh, yeah! It's you! Right, then. Here you go! Don't be too disappointed if it's less than you'd like. Come back later and there'll be more work for you.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body><br>
|
||||
The corpse of Pierce's scout, who came here looking for the entrance. Search for any clues he might have left.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00109_InSearchOfTheNest 32015-2.html">Search the corpse.</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body><br>
|
||||
(Beneath the corpse you find a memo. You should take it to Mercenary Captain Pierce.)
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body><br>
|
||||
(There's nothing else here. Take the memo to Mercenary Captain Pierce.)
|
||||
</body></html>
|
@@ -0,0 +1,157 @@
|
||||
/*
|
||||
* 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.Q00109_InSearchOfTheNest;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* In Search of the Nest (109)
|
||||
* @author Adry_85
|
||||
*/
|
||||
public class Q00109_InSearchOfTheNest extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int PIERCE = 31553;
|
||||
private static final int SCOUTS_CORPSE = 32015;
|
||||
private static final int KAHMAN = 31554;
|
||||
// Items
|
||||
private static final int SCOUTS_NOTE = 14858;
|
||||
|
||||
public Q00109_InSearchOfTheNest()
|
||||
{
|
||||
super(109);
|
||||
addStartNpc(PIERCE);
|
||||
addTalkId(PIERCE, SCOUTS_CORPSE, KAHMAN);
|
||||
registerQuestItems(SCOUTS_NOTE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "31553-0.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
break;
|
||||
}
|
||||
case "32015-2.html":
|
||||
{
|
||||
giveItems(player, SCOUTS_NOTE, 1);
|
||||
qs.setCond(2, true);
|
||||
break;
|
||||
}
|
||||
case "31553-3.html":
|
||||
{
|
||||
takeItems(player, SCOUTS_NOTE, -1);
|
||||
qs.setCond(3, true);
|
||||
break;
|
||||
}
|
||||
case "31554-2.html":
|
||||
{
|
||||
giveAdena(player, 161500, true);
|
||||
addExpAndSp(player, 701500, 50000);
|
||||
qs.exitQuest(false, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return event;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case PIERCE:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = (player.getLevel() < 81) ? "31553-0a.htm" : "31553-0b.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "31553-1.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "31553-2.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "31553-3a.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SCOUTS_CORPSE:
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "32015-1.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "32015-3.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KAHMAN:
|
||||
{
|
||||
if (qs.isStarted() && qs.isCond(3))
|
||||
{
|
||||
htmltext = "31554-1.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Blacksmith Hilda:<br>
|
||||
I've a tale to interest you. Have you heard tell of <font color="LEVEL">Vulcan</font>, the blacksmith? Now, all us blacksmiths have much to say about fire - we depend on it for our livelihood. Vulcan, though, he spoke of nothing else, and his talk was the marvel of all who heard it. He said that the fire was the actual life of the blacksmith, and could think of nothing but ways to make his fire hotter and fiercer.<br>
|
||||
Eventually, he followed his notions right into the deeps of the <font color="LEVEL">Gods' Forge</font>, where he said he could collect and use all the fire he could want. It's a horribly dangerous place, and he's looking for those who can accompany him, adventurers who are not shy of danger and who can help him collect the flames. Do you reckon to be interested?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 31271-03.htm">Express interest in the venture.</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Blacksmith Hilda:<br>
|
||||
Ho, there! I'm Hilda the Blacksmith, and if you want good, solid work done, there's none better here.<br>
|
||||
Don't pay any attention to the claims of that crackpot <font color="LEVEL">Vulcan</font>. He's mad through and through. Fire is his obsession - he's forever searching for ways to make fire hotter and fiercer. I care for my fire, as does any competent blacksmith, but there are limits. Anyway, he won't live long enough to help you with anything; he's in the habit of venturing into the <font color="LEVEL">Forge of the Gods</font>, and one day its dangers will claim him - and his eternal fire too!<br>
|
||||
I've heard he is looking for adventurers to help him collect flames, but take my advice: leave that job to tougher adventurers, or wait until you yourselves are tougher. If you accompany him now, you'll die right alongside him.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Blacksmith Hilda:<br>
|
||||
Very well, then. Defeat the <font color="LEVEL">monsters in the Gods' Forge</font>, collect the flames you find there, and bring them to Vulcan. He's mad, but he's a canny blacksmith; he'll give you an S-grade weapon recipe if you can bring him <font color="LEVEL">1000 flames</font>.<br>
|
||||
You may have heard tell of Vulcan's younger brother <font color="LEVEL">Rooney</font>. No? Well, he's as mad as his brother is, and perhaps even cannier as a blacksmith. He's a wandering lad, but he has a lot of different S-grade weapon recipes. <font color="LEVEL">Give Rooney 1200 flames, and he'll reward you with an S-grade weapon recipe.</font> If you can find him in his wanderings, it might be a good idea for you to meet with him too.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Blacksmith Hilda:<br>
|
||||
So you met with Vulcan, did you? Did he give you an earful of his madness? Well, he's mad about flame, but the rewards he offers are real. Defeat the <font color="LEVEL">monsters in the Gods' Forge</font>, collect the flames you find, and go to him; he will give you an S-grade weapon recipe if you bring him <font color="LEVEL">1000 flames</font>.<br>
|
||||
If you gather even more flames, you might see about meeting Vulcan's younger brother <font color="LEVEL">Rooney</font>. He's as mad as his brother, and he's engaged in the same quest. <font color="LEVEL">Bring him 1200 flames and he will give you an S-grade weapon recipe.</font>. Rooney wanders from here to there, so he's not easy to find...but it might be worth your while to deal with him.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Vulcan, Blacksmith of the Flame:<br>
|
||||
Fire is the lifeblood of a blacksmith. I need a hotter fire to make this high quality weapon. I'm gathering flames from Forge of the Gods, can you help me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 31539-03.htm">Quest</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Vulcan, Blacksmith of the Flame:<br>
|
||||
Fire is the lifeblood of a blacksmith. I need a hotter fire to make this high quality weapon. I'm gathering flames from Forge of the Gods. You don't want to get burned, do you?<br>
|
||||
(This quest may only be undertaken by a charachter level 74 or above.)
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Vulcan, Blacksmith of the Flame:<br>
|
||||
Very well! Let me ask you a favor! Bring me <font color="LEVEL">1000 Flames</font> from the <font color="LEVEL">monsters inside the Forge of the Gods</font>. I'll give you a Weapon Recipe: Grade S that I have.<br>
|
||||
Oh, I just remembered that my younger brother, <font color="LEVEL">Rooney</font>, also collects Flames in the Forge of the Gods. He's a wanderer, that boy! I've heard that <font color="LEVEL">he gives a Weapon Recipe: Grade S to anyone who brings him 1200 Flames</font>, but he probably won't be easy to find!
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Vulcan, Blacksmith of the Flame:<br>
|
||||
Oh! You brought 1000 flames! What do you think? Do you want to trade the 1000 flames for my Weapon Recipe: Grade S?<br>
|
||||
I just remembered that my younger brother, <font color="LEVEL">Rooney</font>, also collects Flames in the Forge of the Gods. He's a wanderer, that boy! I've heard that <font color="LEVEL">he gives a Weapon Recipe: Grade S to anyone who brings him 1200 Flames</font>, but he probably won't be easy to find!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 31539-06.html">"I don't want to trade right now."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 31539-07.html">"Let's trade."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Vulcan, Blacksmith of the Flame:<br>
|
||||
Hey, are you gathering Flames? Alas, you have not gotten 1000 of them yet. You do realize that you can get them from the <font color="LEVEL">Monsters located within the Forge of the Gods</font>. If you so happen to bring me <font color="LEVEL">1000 Flames</font>, I'll give you something special in return.<br>
|
||||
It might also be useful for me to mention that my younger brother, <font color="LEVEL">Rooney</font>, also collects these Flames in the Forge of the Gods. Aye, that lad... he be a wanderer no doubt! He's mentioned that <font color="LEVEL">he will part with one of his belongings to anyone who delivers 1200 Flames to him</font>. He is not someone easy to locate however!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 31539-06.html">"I want to continue to collect Flames."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 31539-08.html">"I want to stop collecting Flames."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Vulcan, Blacksmith of the Flame:<br>
|
||||
Continue gathering flames from <font color="LEVEL">monsters in Forge of the Gods</font>.
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Blacksmith of Flame Vulcan:<br>
|
||||
Now. Here it is.<br>
|
||||
What do you think? This S-grade weapon recipe is not easy to obtain. Whether it pleases you or not, you should recognize that it is a precious item. Even if it is not the weapon recipe that you wanted, an S-grade weapon recipe is valuable enough in and of itself...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 31539-04.html">Receive reward again.</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Vulcan, Blacksmith of the Flame:<br>
|
||||
Come back anytime if you change your mind, I'll be here.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Blacksmith of Wind Rooney:<br>
|
||||
I'm collecting Flames like my brother Vulcan does. Unlike Vulcan, I wander around occasionally, so I was able to get various S-grade Weapon Recipes. If you <font color="LEVEL">collect and bring me 1200 Flames, I'll give you a recipe.</font>
|
||||
</body></html>
|
13
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00617_GatherTheFlames/32049-02.html
vendored
Normal file
13
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00617_GatherTheFlames/32049-02.html
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
<html><body>Blacksmith of Wind Rooney:<br>
|
||||
Um, look here. You have a lot of Flames here! If you give me 1200 Flames, I will exchange them for the S-Grade weapon recipe. I am taking more than Vulcan? Well, this recipe contains my effort, sweat and blood, so I can't take any less...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 6881">Recipe: Forgotten Blade (60%)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 6883">Recipe: Basalt Battlehammer (60%)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 6885">Recipe: Imperial Staff (60%)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 6887">Recipe: Angel Slayer (60%)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 7580">Recipe: Draconic Bow (60%)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 6891">Recipe: Dragon Hunter Axe (60%)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 6893">Recipe: Saint Spear (60%)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 6895">Recipe: Demon Splinter (60%)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 6897">Recipe: Heaven's Divider (60%)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 6899">Recipe: Arcana Mace (60%)</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Blacksmith of Wind Rooney:<br>
|
||||
Here it is. I'll exchange with you again if you bring back some more.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00617_GatherTheFlames 32049-02.html">Receive reward again.</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Blacksmith of Wind Rooney:<br>
|
||||
Here it is. Bring me more Flames and I'll trade for them.
|
||||
</body></html>
|
@@ -0,0 +1,228 @@
|
||||
/*
|
||||
* 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.Q00617_GatherTheFlames;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
/**
|
||||
* Gather the Flames (617)
|
||||
* @author malyelfik
|
||||
*/
|
||||
public class Q00617_GatherTheFlames extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int HILDA = 31271;
|
||||
private static final int VULCAN = 31539;
|
||||
private static final int ROONEY = 32049;
|
||||
// Item
|
||||
private static final int TORCH = 7264;
|
||||
// Reward
|
||||
private static final int[] REWARD =
|
||||
{
|
||||
6881,
|
||||
6883,
|
||||
6885,
|
||||
6887,
|
||||
6891,
|
||||
6893,
|
||||
6895,
|
||||
6897,
|
||||
6899,
|
||||
7580
|
||||
};
|
||||
|
||||
// Monsters
|
||||
private static final Map<Integer, Integer> MOBS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS.put(22634, 639);
|
||||
MOBS.put(22635, 611);
|
||||
MOBS.put(22636, 649);
|
||||
MOBS.put(22637, 639);
|
||||
MOBS.put(22638, 639);
|
||||
MOBS.put(22639, 645);
|
||||
MOBS.put(22640, 559);
|
||||
MOBS.put(22641, 588);
|
||||
MOBS.put(22642, 537);
|
||||
MOBS.put(22643, 618);
|
||||
MOBS.put(22644, 633);
|
||||
MOBS.put(22645, 550);
|
||||
MOBS.put(22646, 593);
|
||||
MOBS.put(22647, 688);
|
||||
MOBS.put(22648, 632);
|
||||
MOBS.put(22649, 685);
|
||||
}
|
||||
|
||||
public Q00617_GatherTheFlames()
|
||||
{
|
||||
super(617);
|
||||
addStartNpc(HILDA, VULCAN);
|
||||
addTalkId(ROONEY, HILDA, VULCAN);
|
||||
addKillId(MOBS.keySet());
|
||||
registerQuestItems(TORCH);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
|
||||
String htmltext = event;
|
||||
switch (event)
|
||||
{
|
||||
case "31539-03.htm":
|
||||
case "31271-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
break;
|
||||
}
|
||||
case "32049-02.html":
|
||||
case "31539-04.html":
|
||||
case "31539-06.html":
|
||||
{
|
||||
break;
|
||||
}
|
||||
case "31539-07.html":
|
||||
{
|
||||
if ((getQuestItemsCount(player, TORCH) < 1000) || !qs.isStarted())
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
giveItems(player, getRandomEntry(REWARD), 1);
|
||||
takeItems(player, TORCH, 1000);
|
||||
break;
|
||||
}
|
||||
case "31539-08.html":
|
||||
{
|
||||
qs.exitQuest(true, true);
|
||||
break;
|
||||
}
|
||||
case "6883":
|
||||
case "6885":
|
||||
case "7580":
|
||||
case "6891":
|
||||
case "6893":
|
||||
case "6895":
|
||||
case "6897":
|
||||
case "6899":
|
||||
{
|
||||
if ((getQuestItemsCount(player, TORCH) < 1200) || !qs.isStarted())
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
giveItems(player, Integer.parseInt(event), 1);
|
||||
takeItems(player, TORCH, 1200);
|
||||
htmltext = "32049-04.html";
|
||||
break;
|
||||
}
|
||||
case "6887":
|
||||
case "6881":
|
||||
{
|
||||
if ((getQuestItemsCount(player, TORCH) < 1200) || !qs.isStarted())
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
giveItems(player, Integer.parseInt(event), 1);
|
||||
takeItems(player, TORCH, 1200);
|
||||
htmltext = "32049-03.html";
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
htmltext = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final Player partyMember = getRandomPartyMember(player, 1);
|
||||
if (partyMember == null)
|
||||
{
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
if (getRandom(1000) < MOBS.get(npc.getId()))
|
||||
{
|
||||
giveItems(partyMember, TORCH, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
giveItems(partyMember, TORCH, 1);
|
||||
}
|
||||
playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case ROONEY:
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
htmltext = (getQuestItemsCount(player, TORCH) >= 1200) ? "32049-02.html" : "32049-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case VULCAN:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = (player.getLevel() >= 74) ? "31539-01.htm" : "31539-02.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = (getQuestItemsCount(player, TORCH) >= 1000) ? "31539-04.html" : "31539-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case HILDA:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = (player.getLevel() >= 74) ? "31271-01.htm" : "31271-02.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31271-04.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Lietta:<br>
|
||||
Are you here for something? Or perhaps to drop something off?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00622_SpecialtyLiquorDelivery 31267-02.html">"Jeremy sent me to get some Adena."</Button>
|
||||
</head></body>
|
@@ -0,0 +1,5 @@
|
||||
<head><body>Lietta:<br>
|
||||
Oh, I see. Jeremy didn't pay you after you did work for him? That sounds like Jeremy!<br>
|
||||
Hold on...<br>
|
||||
Here you are. This should be enough.
|
||||
</head></body>
|
@@ -0,0 +1,6 @@
|
||||
<head><body>Chef Jeremy:<br>
|
||||
You look like you could use a few extra Adena...<br>
|
||||
Well I'm looking for a helper! You'll earn an honest wage around here, that's for sure!<br>
|
||||
All you have to do is take these specialty liquors to my customers. Their names are already written down. Deliver them quickly, and who knows? I might teach you a secret cooking technique! Ha!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00622_SpecialtyLiquorDelivery 31521-03.htm">"I'll deliver your liquor."</Button>
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Chef Jeremy:<br>
|
||||
Many dangerous and ferocious beasts lurk these parts. I'd really hate to have to bury another assistant!<br>
|
||||
(Only a character of level 68 or above may undertake this quest.)
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Chef Jeremy:<br>
|
||||
Please take this specialty liquor to my customers at the hot springs resort.<br>
|
||||
Our motto is "The Customer Always Comes First!" Don't ever forget it!
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Chef Jeremy:<br>
|
||||
What are you waiting for?<br>
|
||||
Think my customers who are waiting for my delicious liquor to arrive! Get going!
|
||||
</head></body>
|
@@ -0,0 +1,5 @@
|
||||
<head><body>Jeremy:<br>
|
||||
You've come back?<br>
|
||||
Did you finish delivering all the liquor?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00622_SpecialtyLiquorDelivery 31521-06.html">"I completed the delivery."</Button>
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Jeremy:<br>
|
||||
My mother's mother's mother made this wine for the soldiers fighting in the war. They say that when the soldiers drank it, it so raised their fighting spirit that they won the battle. Believe it or not!<br>
|
||||
In any case, I'd like to pay you for your work, but I'm afraid that I don't have any money with me at the moment. I know it's a bit of trouble, but if you visit Warehouse Keeper Lietta in Goddard Castle Town and tell her that I sent you, she'll give you what you deserve.
|
||||
</head></body>
|
@@ -0,0 +1,3 @@
|
||||
<head><body>Jeremy:<br>
|
||||
Deliver and collect the money, deliver and collect the money. You just have to keep repeating. Go finish the rest of your deliveries and get back here.
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Jeremy:<br>
|
||||
What are you still doing here? Have you forgotten what you were supposed to do?<br>
|
||||
Go to Warehouse Keeper Lietta in the Town of Goddard and say that you've come on my orders.
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Pulin:<br>
|
||||
You're the liquor delivery man, right? Show me the booze! I came all the way from Horse Island for a drink!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00622_SpecialtyLiquorDelivery 31543-02.html">"Here's the liquor delivery."</Button>
|
||||
</head></body>
|
@@ -0,0 +1,5 @@
|
||||
<head><body>Pulin:<br>
|
||||
Actually, I'm not much of a drinker...<br>
|
||||
I thought this might be different!<br>
|
||||
Here's your money.
|
||||
</head></body>
|
@@ -0,0 +1,3 @@
|
||||
<head><body>Pulin:<br>
|
||||
Does alcohol taste different here? I'm scared but excited at the same time! I want a drink!
|
||||
</head></body>
|
@@ -0,0 +1,3 @@
|
||||
<head><body>Pulin:<br>
|
||||
I think the taste of this liquor is starting to grow on me! I'll probably be seeing you again!
|
||||
</head></body>
|
@@ -0,0 +1,5 @@
|
||||
<head><body>Naff:<br>
|
||||
The hot springs always reminds me of Jeremy's special liquor!<br>
|
||||
Let me guess... You must be Jeremy's delivery man!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00622_SpecialtyLiquorDelivery 31544-02.html">Say "I've brought you some specially brewed liquor!"</Button>
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Naff:<br>
|
||||
What a marvelous taste!<br>
|
||||
It's truly worthy of the gods!
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Naff:<br>
|
||||
I'm trying to be patient, but it's not working!<br>
|
||||
Where the hell is my liquor?
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Naff:<br>
|
||||
How could I have gotten so drunk from one glass?<br>
|
||||
Woohoo! I feel great!
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Crocus:<br>
|
||||
I need a drink! Do you have any liquor?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00622_SpecialtyLiquorDelivery 31545-02.html">"I have your liquor right here!"</Button>
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Crocus:<br>
|
||||
The fruity bouquet and sparkling sensation on my tongue is awesome! There's absolutely nothing like this in the whole world!<br>
|
||||
Jeremy's liquor is unique to this region but very popular everywhere! I'm so glad I came here.
|
||||
</head></body>
|
@@ -0,0 +1,3 @@
|
||||
<head><body>Crocus:<br>
|
||||
What a wonderful diversion! I'll wager that even the gods are jealous! If only I could snack on some of Jeremy's eggs...
|
||||
</head></body>
|
@@ -0,0 +1,3 @@
|
||||
<head><body>Crocus:<br>
|
||||
If I could eat just one of Jeremy's eggs, I'd be the happiest person in the world!
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Kuber:<br>
|
||||
That feels so good! I ordered a boiled egg to go with my drink! Once the liquor and the egg arrive, I'll be in heaven!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00622_SpecialtyLiquorDelivery 31546-02.html">"I'm here to deliver some liquor."</Button>
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Kuber:<br>
|
||||
Mmm... That's delicious!<br>
|
||||
You look tired! Can I buy you a drink?
|
||||
</head></body>
|
@@ -0,0 +1,3 @@
|
||||
<head><body>Kuber:<br>
|
||||
What happened to my liquor? I can't wait any longer!
|
||||
</head></body>
|
@@ -0,0 +1,3 @@
|
||||
<head><body>Kuber:<br>
|
||||
Thank you so much! I look forward to getting more deliveries from you!
|
||||
</head></body>
|
@@ -0,0 +1,4 @@
|
||||
<head><body>Beolin:<br>
|
||||
Dammit! I need a drink! When will that liquor order get here?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00622_SpecialtyLiquorDelivery 31547-02.html">"I'm here to deliver some liquor."</Button>
|
||||
</head></body>
|
@@ -0,0 +1,6 @@
|
||||
<head><body>Beolin:<br>
|
||||
It's about time!<br>
|
||||
Mmm... These hot springs just aren't the same without a nice glass of wine...<br>
|
||||
Hee hee... I'll never get tired of drinking this stuff!<br>
|
||||
Oh, thanks for the delivery! Here's the money for the wine.
|
||||
</head></body>
|
@@ -0,0 +1,3 @@
|
||||
<head><body>Beolin:<br>
|
||||
Boy, do I need a drink! Are you by any chance the deliveryman Jeremy sent? He should be here by now!
|
||||
</head></body>
|
@@ -0,0 +1,6 @@
|
||||
<head><body>Beolin:<br>
|
||||
Mmm!<br>
|
||||
Gulp~!<br>
|
||||
Oh, yeah! That's the stuff!<br>
|
||||
What are you staring at, stranger?
|
||||
</head></body>
|
@@ -0,0 +1,277 @@
|
||||
/*
|
||||
* 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.Q00622_SpecialtyLiquorDelivery;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Specialty Liquor Delivery (622)
|
||||
* @author Janiko
|
||||
*/
|
||||
public class Q00622_SpecialtyLiquorDelivery extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int JEREMY = 31521;
|
||||
private static final int PULIN = 31543;
|
||||
private static final int NAFF = 31544;
|
||||
private static final int CROCUS = 31545;
|
||||
private static final int KUBER = 31546;
|
||||
private static final int BOELIN = 31547;
|
||||
private static final int LIETTA = 31267;
|
||||
// Items
|
||||
private static final int SPECIAL_DRINK = 7197;
|
||||
private static final int SPECIAL_DRINK_PRICE = 7198;
|
||||
// Rewards
|
||||
private static final int QUICK_STEP_POTION = 734;
|
||||
private static final int SEALED_RING_OF_AURAKYRA = 6849;
|
||||
private static final int SEALED_SANDDRAGONS_EARING = 6847;
|
||||
private static final int SEALED_DRAGON_NECKLACE = 6851;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 68;
|
||||
// Talkers
|
||||
private static final List<Integer> TALKERS = Arrays.asList(KUBER, CROCUS, NAFF, PULIN);
|
||||
|
||||
public Q00622_SpecialtyLiquorDelivery()
|
||||
{
|
||||
super(622);
|
||||
addStartNpc(JEREMY);
|
||||
addTalkId(JEREMY, BOELIN, LIETTA);
|
||||
addTalkId(TALKERS);
|
||||
registerQuestItems(SPECIAL_DRINK, SPECIAL_DRINK_PRICE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
String htmltext = null;
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
switch (event)
|
||||
{
|
||||
case "31521-03.htm":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
qs.startQuest();
|
||||
giveItems(player, SPECIAL_DRINK, 5);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31521-06.html":
|
||||
{
|
||||
if (qs.isCond(6))
|
||||
{
|
||||
if (getQuestItemsCount(player, SPECIAL_DRINK_PRICE) >= 5)
|
||||
{
|
||||
qs.setCond(7, true);
|
||||
takeItems(player, -1, SPECIAL_DRINK_PRICE);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31521-07.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31547-02.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
if (hasQuestItems(player, SPECIAL_DRINK))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
takeItems(player, SPECIAL_DRINK, 1);
|
||||
giveItems(player, SPECIAL_DRINK_PRICE, 1);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31547-03.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31543-02.html":
|
||||
case "31544-02.html":
|
||||
case "31545-02.html":
|
||||
case "31546-02.html":
|
||||
{
|
||||
if (TALKERS.contains(npc.getId()) && qs.isCond(TALKERS.indexOf(npc.getId()) + 2))
|
||||
{
|
||||
if (hasQuestItems(player, SPECIAL_DRINK))
|
||||
{
|
||||
qs.setCond(qs.getCond() + 1, true);
|
||||
takeItems(player, SPECIAL_DRINK, 1);
|
||||
giveItems(player, SPECIAL_DRINK_PRICE, 1);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = npc.getId() + "-03.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31267-02.html":
|
||||
{
|
||||
if (qs.isCond(7))
|
||||
{
|
||||
final int rnd = getRandom(1000);
|
||||
if (rnd < 800)
|
||||
{
|
||||
rewardItems(player, QUICK_STEP_POTION, 1);
|
||||
giveAdena(player, 18800, true);
|
||||
}
|
||||
else if (rnd < 880)
|
||||
{
|
||||
rewardItems(player, SEALED_RING_OF_AURAKYRA, 1);
|
||||
}
|
||||
else if (rnd < 960)
|
||||
{
|
||||
rewardItems(player, SEALED_SANDDRAGONS_EARING, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems(player, SEALED_DRAGON_NECKLACE, 1);
|
||||
}
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, Player talker)
|
||||
{
|
||||
final QuestState qs = getQuestState(talker, true);
|
||||
String htmltext = getNoQuestMsg(talker);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case JEREMY:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = (talker.getLevel() >= MIN_LEVEL) ? "31521-01.htm" : "31521-02.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "31521-04.html";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
if (hasQuestItems(talker, SPECIAL_DRINK_PRICE))
|
||||
{
|
||||
htmltext = "31521-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
if (!hasQuestItems(talker, SPECIAL_DRINK))
|
||||
{
|
||||
htmltext = "31521-08.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(talker);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case BOELIN:
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
if (getQuestItemsCount(talker, SPECIAL_DRINK) >= 5)
|
||||
{
|
||||
htmltext = "31547-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "31547-04.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KUBER:
|
||||
case CROCUS:
|
||||
case NAFF:
|
||||
case PULIN:
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
final int cond = TALKERS.indexOf(npc.getId()) + 2;
|
||||
if (qs.isCond(cond) && hasQuestItems(talker, SPECIAL_DRINK_PRICE)) // 2,3,4,5
|
||||
{
|
||||
htmltext = npc.getId() + "-01.html";
|
||||
}
|
||||
else if (qs.isCond(cond + 1)) // 3,4,5,6
|
||||
{
|
||||
htmltext = npc.getId() + "-04.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LIETTA:
|
||||
{
|
||||
if (qs.isStarted() && qs.isCond(7))
|
||||
{
|
||||
htmltext = "31267-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
10
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00623_TheFinestFood/31521-01.htm
vendored
Normal file
10
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00623_TheFinestFood/31521-01.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<html><body>Chef Jeremy:<br>
|
||||
Long ago, the most distinguished aristocrats of the empire came here for their excursions. Those bastards! When I refused to be their personal chef, they insulted my food! They have no appreciation for haute cuisine!<br>
|
||||
As hard as they tried, no one could find fault with my food!<br>
|
||||
Those cretins had the nerve to point out that they weren't served a specialty dish indigenous to this region!<br>
|
||||
Then and there I resolved to make a dish so indigenous to this region that those barbarians would be silenced once and for all!<br>
|
||||
But, as I'm sure you're aware, it takes more than ingredients to make a dish.<br>
|
||||
The monsters in this region are too tough, don't you think?<br>
|
||||
Will you help me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00623_TheFinestFood 31521-03.htm">"I'll help you."</Button>
|
||||
</body></html>
|
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00623_TheFinestFood/31521-02.htm
vendored
Normal file
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00623_TheFinestFood/31521-02.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Chef Jeremy:<br>
|
||||
Thanks anyway, but you're definitely not up to it.<br>
|
||||
(Only a character of level 71 or above may undertake this quest.)
|
||||
</body></html>
|
5
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00623_TheFinestFood/31521-03.htm
vendored
Normal file
5
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00623_TheFinestFood/31521-03.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Chef Jeremy:<br>
|
||||
Wonderful!<br>
|
||||
I need some <font color="LEVEL">Leaves of Hot Springs Flava</font>, <font color="LEVEL">Meat of Hot Springs Buffalo</font> and <font color="LEVEL">Horn of Hot Springs Antelope</font>. Please bring me one hundred of each.<br>
|
||||
I know it's a lot, but what can I say? Do it for the advancement of culinary science!
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Chef Jeremy:<br>
|
||||
No, no, no!<br>
|
||||
I can't do it unless you bring me the exact amount of ingredients!<br>
|
||||
What did I do to deserve this?
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Chef Jeremy:<br>
|
||||
Excellent! I didn't think you'd survive! Oh, did I say that out loud?<br>
|
||||
I meant to say, I'm very happy to see you back so soon! Now, let's have a look at those ingredients.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00623_TheFinestFood 31521-06.html">"Here you go."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Chef Jeremy:<br>
|
||||
Fantastic! You obviously know talent when you see it!<br>
|
||||
This is my current menu. It changes frequently, since my customers are constantly dropping off delicious new ingredients!
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Chef Jeremy:<br>
|
||||
This amount of materials is not enough!
|
||||
</body></html>
|
@@ -0,0 +1,179 @@
|
||||
/*
|
||||
* 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.Q00623_TheFinestFood;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
/**
|
||||
* The Finest Food (623)
|
||||
* @author janiko
|
||||
*/
|
||||
public class Q00623_TheFinestFood extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int JEREMY = 31521;
|
||||
// Monsters
|
||||
private static final int THERMAL_BUFFALO = 21315;
|
||||
private static final int THERMAL_FLAVA = 21316;
|
||||
private static final int THERMAL_ANTELOPE = 21318;
|
||||
// Items
|
||||
private static final ItemHolder LEAF_OF_FLAVA = new ItemHolder(7199, 100);
|
||||
private static final ItemHolder BUFFALO_MEAT = new ItemHolder(7200, 100);
|
||||
private static final ItemHolder HORN_OF_ANTELOPE = new ItemHolder(7201, 100);
|
||||
// Rewards
|
||||
private static final ItemHolder RING_OF_AURAKYRA = new ItemHolder(6849, 1);
|
||||
private static final ItemHolder SEALED_SANDDRAGONS_EARING = new ItemHolder(6847, 1);
|
||||
private static final ItemHolder DRAGON_NECKLACE = new ItemHolder(6851, 1);
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 71;
|
||||
|
||||
private static final Map<Integer, ItemHolder> MONSTER_DROPS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_DROPS.put(THERMAL_BUFFALO, BUFFALO_MEAT);
|
||||
MONSTER_DROPS.put(THERMAL_FLAVA, LEAF_OF_FLAVA);
|
||||
MONSTER_DROPS.put(THERMAL_ANTELOPE, HORN_OF_ANTELOPE);
|
||||
}
|
||||
|
||||
public Q00623_TheFinestFood()
|
||||
{
|
||||
super(623);
|
||||
addStartNpc(JEREMY);
|
||||
addTalkId(JEREMY);
|
||||
addKillId(THERMAL_BUFFALO, THERMAL_FLAVA, THERMAL_ANTELOPE);
|
||||
registerQuestItems(LEAF_OF_FLAVA.getId(), BUFFALO_MEAT.getId(), HORN_OF_ANTELOPE.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
String htmltext = null;
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
switch (event)
|
||||
{
|
||||
case "31521-03.htm":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31521-06.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
if (hasAllItems(player, true, LEAF_OF_FLAVA, BUFFALO_MEAT, HORN_OF_ANTELOPE))
|
||||
{
|
||||
final int random = getRandom(1000);
|
||||
if (random < 120)
|
||||
{
|
||||
giveAdena(player, 25000, true);
|
||||
rewardItems(player, RING_OF_AURAKYRA);
|
||||
}
|
||||
else if (random < 240)
|
||||
{
|
||||
giveAdena(player, 65000, true);
|
||||
rewardItems(player, SEALED_SANDDRAGONS_EARING);
|
||||
}
|
||||
else if (random < 340)
|
||||
{
|
||||
giveAdena(player, 25000, true);
|
||||
rewardItems(player, DRAGON_NECKLACE);
|
||||
}
|
||||
else if (random < 940)
|
||||
{
|
||||
giveAdena(player, 73000, true);
|
||||
addExpAndSp(player, 230000, 18200);
|
||||
}
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31521-07.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, Player talker)
|
||||
{
|
||||
final QuestState qs = getQuestState(talker, true);
|
||||
String htmltext = getNoQuestMsg(talker);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case JEREMY:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = (talker.getLevel() >= MIN_LEVEL) ? "31521-01.htm" : "31521-02.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "31521-04.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "31521-05.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(talker);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc);
|
||||
final ItemHolder holder = MONSTER_DROPS.get(npc.getId());
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, holder.getId(), 1, holder.getCount(), 1, true) && hasAllItems(qs.getPlayer(), true, BUFFALO_MEAT, HORN_OF_ANTELOPE, LEAF_OF_FLAVA))
|
||||
{
|
||||
qs.setCond(2);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-01.htm
vendored
Normal file
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-01.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
I'm in charge of finding skilled soldiers to become brothers in our Golden Ram Mercenary Force! Are you up to the task?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00628_HuntGoldenRam accept">"Accept quest."</Button>
|
||||
</body></html>
|
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-02.htm
vendored
Normal file
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-02.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
I admire your courage, but you lack the required skills to join us.<br>
|
||||
(Quest available only for characters level 66 or above.)
|
||||
</body></html>
|
6
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-03.htm
vendored
Normal file
6
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-03.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
We are here to destroy the Stakatos in the Swamp of Screams. They're no match for our skills, but they're tough and outnumber us, so we need all the skilled help we can get.<br>
|
||||
You meet the basic requirements, but you must prove yourself if you want to be a member of the Golden Ram Mercenary Force!<br>
|
||||
Kill <font color="LEVEL">Splinter Stakatos, Splinter Stakato Walkers, Splinter Stakato Soldiers and Splinter Stakato Drones</font> and bring back <font color="LEVEL">one-hundred Stakato Chitins</font> to prove your worth.<br>
|
||||
Good luck to you!
|
||||
</body></html>
|
6
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-04.htm
vendored
Normal file
6
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-04.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
There are two classes here, rookie and elite.<br>
|
||||
An elite mercenary is a veteran with a long record of active service. The title earns you special priviliges.<br>
|
||||
Rookies must kill Needle Stakatos as well as Splinter Stakatos to gain elite status. Collect <font color="LEVEL">one-hundred Chitins each of Splinter Stakatos and Needle Stakatos</font> to earn the title.<br>
|
||||
Show them what you're worth!
|
||||
</body></html>
|
5
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-05.htm
vendored
Normal file
5
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-05.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
You're already an elite warrior! What more do you want? You are free to choose.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00628_HuntGoldenRam 31554-13.html">"I want to return to the fight!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00628_HuntGoldenRam 31554-12.html">"I want to end our Contract."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
To become an honorable member of the Golden Ram Mercenary Force, you must collect <font color="LEVEL">100 Chitins of Splinter Stakatos</font> from the Swamp of Screams. Now go!
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
You're back! Have you taught the stakatos a lesson?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00628_HuntGoldenRam 31554-08.html">"Here are the 100 stakato Chitins."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Great work, my soldier! You are fully qualified to become a brother of the Golden Ram Mercenary Force!<br>
|
||||
Well, take this <font color="LEVEL">mark of Golden Ram - Recruit</font>! From now on, you are a brother of the Golden Ram Mercenary Force. Congratulations!<br>
|
||||
But, you must get stronger, stranger, if you want to become an elite soldier! Go into the Swamp of Screams, kill Splinter Stakatos and Needle Stakatos, and collect <font color="LEVEL">100 Chitins each of Splinter Stakatos and Needle Stakatos</font>!<br>
|
||||
If you can't carry out such a task, you will not be able to become the Elite!
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
To become an elite member of the Golden Ram Mercenary Force, you must collect <font color="LEVEL">100 Chitins each of Splinter Stakatos and Needle Stakatos</font>.<br>
|
||||
Prove your skills and you can rise in the ranks!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00628_HuntGoldenRam 31554-13.html">"I'm ready to fight!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00628_HuntGoldenRam 31554-12.html">"I want to quit."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Your skills and long record of active service have earned you the title of elite mercenary in the Golden Ram Force!<br>
|
||||
Take this <font color="LEVEL">Golden Ram Badge - Soldier</font>. Congratulations, brother!
|
||||
</body></html>
|
@@ -0,0 +1,7 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
See Mercenary Medic Selina and Mercenary Supplier Abercrombie if you need anything.<br>
|
||||
Selina will help you with magic and Abercrombie will help you with supplies.<br>
|
||||
Let me know if you've ever had enough.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00628_HuntGoldenRam 31554-13.html">"I'm ready to fight!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00628_HuntGoldenRam 31554-12.html">"I want to quit."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
It's not easy to become a member. If you quit now, you may regret it later! You'll have to start from the beginning if you come back. Are you sure?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00628_HuntGoldenRam 31554-14.html">"I'm sure."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
That's the spirit! Kill with extreme prejudice in the name of the Golden Ram!
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
What a pity. We can't afford to lose such skills, but I'll respect your decision.<br>
|
||||
I hope to hear of your great deeds someday. May Pa'agrio's Flame be with you!
|
||||
</body></html>
|
@@ -0,0 +1,219 @@
|
||||
/*
|
||||
* 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.Q00628_HuntGoldenRam;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Hunt of the Golden Ram Mercenary Force (628)
|
||||
* @author netvirus, Zoey76
|
||||
*/
|
||||
public class Q00628_HuntGoldenRam extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int KAHMAN = 31554;
|
||||
// Items
|
||||
private static final int GOLDEN_RAM_BADGE_RECRUIT = 7246;
|
||||
private static final int GOLDEN_RAM_BADGE_SOLDIER = 7247;
|
||||
private static final int SPLINTER_STAKATO_CHITIN = 7248;
|
||||
private static final int NEEDLE_STAKATO_CHITIN = 7249;
|
||||
// Misc
|
||||
private static final int REQUIRED_ITEM_COUNT = 100;
|
||||
private static final int MIN_LEVEL = 66;
|
||||
// Mobs
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(21508, new ItemChanceHolder(SPLINTER_STAKATO_CHITIN, 0.500, 1)); // splinter_stakato
|
||||
MOBS_DROP_CHANCES.put(21509, new ItemChanceHolder(SPLINTER_STAKATO_CHITIN, 0.430, 1)); // splinter_stakato_worker
|
||||
MOBS_DROP_CHANCES.put(21510, new ItemChanceHolder(SPLINTER_STAKATO_CHITIN, 0.521, 1)); // splinter_stakato_soldier
|
||||
MOBS_DROP_CHANCES.put(21511, new ItemChanceHolder(SPLINTER_STAKATO_CHITIN, 0.575, 1)); // splinter_stakato_drone
|
||||
MOBS_DROP_CHANCES.put(21512, new ItemChanceHolder(SPLINTER_STAKATO_CHITIN, 0.746, 1)); // splinter_stakato_drone_a
|
||||
MOBS_DROP_CHANCES.put(21513, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.500, 2)); // needle_stakato
|
||||
MOBS_DROP_CHANCES.put(21514, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.430, 2)); // needle_stakato_worker
|
||||
MOBS_DROP_CHANCES.put(21515, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.520, 2)); // needle_stakato_soldier
|
||||
MOBS_DROP_CHANCES.put(21516, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.531, 2)); // needle_stakato_drone
|
||||
MOBS_DROP_CHANCES.put(21517, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.744, 2)); // needle_stakato_drone_a
|
||||
}
|
||||
|
||||
public Q00628_HuntGoldenRam()
|
||||
{
|
||||
super(628);
|
||||
addStartNpc(KAHMAN);
|
||||
addTalkId(KAHMAN);
|
||||
addKillId(MOBS_DROP_CHANCES.keySet());
|
||||
registerQuestItems(SPLINTER_STAKATO_CHITIN, NEEDLE_STAKATO_CHITIN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
String htmltext = null;
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "accept":
|
||||
{
|
||||
if (qs.isCreated() && (player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
qs.startQuest();
|
||||
if (hasQuestItems(player, GOLDEN_RAM_BADGE_SOLDIER))
|
||||
{
|
||||
qs.setCond(3);
|
||||
htmltext = "31554-05.htm";
|
||||
}
|
||||
else if (hasQuestItems(player, GOLDEN_RAM_BADGE_RECRUIT))
|
||||
{
|
||||
qs.setCond(2);
|
||||
htmltext = "31554-04.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-03.htm";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31554-08.html":
|
||||
{
|
||||
if (getQuestItemsCount(player, SPLINTER_STAKATO_CHITIN) >= REQUIRED_ITEM_COUNT)
|
||||
{
|
||||
giveItems(player, GOLDEN_RAM_BADGE_RECRUIT, 1);
|
||||
takeItems(player, SPLINTER_STAKATO_CHITIN, -1);
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31554-12.html":
|
||||
case "31554-13.html":
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31554-14.html":
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, -1, 1, npc);
|
||||
if ((qs != null) && !qs.isCond(3))
|
||||
{
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (item.getCount() <= qs.getCond())
|
||||
{
|
||||
giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, REQUIRED_ITEM_COUNT, item.getChance(), true);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = ((player.getLevel() >= MIN_LEVEL) ? "31554-01.htm" : "31554-02.htm");
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
final long itemCountSplinter = getQuestItemsCount(player, SPLINTER_STAKATO_CHITIN);
|
||||
final long itemCountNeedle = getQuestItemsCount(player, NEEDLE_STAKATO_CHITIN);
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html");
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
if (hasQuestItems(player, GOLDEN_RAM_BADGE_RECRUIT))
|
||||
{
|
||||
if ((itemCountSplinter >= REQUIRED_ITEM_COUNT) && (itemCountNeedle >= REQUIRED_ITEM_COUNT))
|
||||
{
|
||||
takeItems(player, GOLDEN_RAM_BADGE_RECRUIT, -1);
|
||||
takeItems(player, SPLINTER_STAKATO_CHITIN, -1);
|
||||
takeItems(player, NEEDLE_STAKATO_CHITIN, -1);
|
||||
giveItems(player, GOLDEN_RAM_BADGE_SOLDIER, 1);
|
||||
qs.setCond(3, true);
|
||||
htmltext = "31554-10.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-09.html";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setCond(1);
|
||||
htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html");
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
if (hasQuestItems(player, GOLDEN_RAM_BADGE_SOLDIER))
|
||||
{
|
||||
htmltext = "31554-11.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setCond(1);
|
||||
htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-00.htm
vendored
Normal file
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-00.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Hate to say it, but you don't have the skills to work with me. Run along before you get hurt!<br>
|
||||
(Only characters of level 66 and above may undertake this quest.)
|
||||
</body></html>
|
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-01.htm
vendored
Normal file
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-01.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Welcome back! We'd never have found that Stakato's Nest without your help! Finally, we can quash the unrest! Will you join our assault on the Stakato's?<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 31554-02.htm">"Let's do it"</Button>
|
||||
</body></html>
|
3
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-02.htm
vendored
Normal file
3
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-02.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Perfect! I trust your skills, so I know you'll have our backs. Go to the <font color="LEVEL">Stakato's Nest</font> and kill them! It won't be an easy battle, so bring plenty of supplies with you. Don't forget to collect <font color="LEVEL">Fang of Stakato</font>. Now get going!
|
||||
</body></html>
|
3
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-03.htm
vendored
Normal file
3
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-03.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
What are you doing? There are no cowards in the Golden Ram Mercenaries! Suck it up, soldier, and show us what you're made of! Slaughter the <font color="LEVEL">Spiked Stakato, Spiked Stakato Worker, Spiked Stakato Guard, Male Spiked Stakato, Female Spiked Stakato, Spiked Stakato Sorcerer, Cannibalistic Stakato Leader, Spiked Stakato Soldier, Spiked Stakato Drone, Spiked Stakato Captain, Spiked Stakato Nurse and the Spiked Stakato Shaman.</font>
|
||||
</body></html>
|
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-04.htm
vendored
Normal file
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-04.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
You showed real bravery in the face of those filthy Stakato's. Victory is ours! Give me your Stakato's Fang and then choose your reward!<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 31554-05.htm">"Here they are!"</Button>
|
||||
</body></html>
|
12
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-05.htm
vendored
Normal file
12
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-05.htm
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Which reward would you like?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 1">1 Enria (12 Fang of Stakato)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 2">1 Asofe (6 Fang of Stakato)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 3">1 Thons (6 Fang of Stakato)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 4">10 Varnish of Purity (81 Fang of Stakato)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 5">5 Synthetic Cokes (33 Fang of Stakato)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 6">10 Compound Braid (30 Fang of Stakato)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 7">10 Durable Metal Plate (150 Fang of Stakato)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 8">10 Mithril Alloy (131 Fang of Stakato)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 9">5 Oriharukon (123 Fang of Stakato)</Button>
|
||||
</body></html>
|
5
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-06.htm
vendored
Normal file
5
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-06.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Where are the Fangs you said you had? You won't get money for nothing in this business, soldier! Don't even think about insulting the honor of the Golden Ram Mercenaries!<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 31554-07.htm">"I won't! I'll go and fight again"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 31554-08.htm">"I'm done with this"</Button>
|
||||
</body></html>
|
3
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-07.htm
vendored
Normal file
3
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-07.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Had enough? No? Then get back out here and fight!
|
||||
</body></html>
|
3
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-08.htm
vendored
Normal file
3
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-08.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Suit yourself. Goodbye.
|
||||
</body></html>
|
6
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-09.htm
vendored
Normal file
6
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-09.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
I gave you your reward. What else do you want?<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 31554-07.htm">"I'll bring more Fangs."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 31554-05.htm">"I'll looks somewhere else."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00640_TheZeroHour 31554-08.htm">"I'm done with this."</Button>
|
||||
</body></html>
|
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-10.htm
vendored
Normal file
4
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00640_TheZeroHour/31554-10.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
We haven't finished our investigation, so there's nothing for you right now. Come back later!.<br>
|
||||
(Only characters who have completed "In Search of the Nest" can undertake this quest.)
|
||||
</body></html>
|
@@ -0,0 +1,291 @@
|
||||
/*
|
||||
* 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.Q00640_TheZeroHour;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
import quests.Q00109_InSearchOfTheNest.Q00109_InSearchOfTheNest;
|
||||
|
||||
/**
|
||||
* The Zero Hour (640)<br>
|
||||
* @author Sacrifice
|
||||
*/
|
||||
public class Q00640_TheZeroHour extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int KAHMAN = 31554;
|
||||
private static final int[] MONSTERS_TO_HUNT =
|
||||
{
|
||||
22617, // Spiked Stakato
|
||||
22618, // Spiked Stakato Worker
|
||||
22619, // Spiked Stakato Guard
|
||||
22620, // Female Spiked Stakato
|
||||
22621, // Male Spiked Stakato
|
||||
22622, // Male Spiked Stakato
|
||||
22623, // Spiked Stakato Sorcerer
|
||||
22625, // Cannibalistic Stakato Leader
|
||||
22626, // Cannibalistic Stakato Leader
|
||||
22627, // Spiked Stakato Soldier
|
||||
22628, // Spiked Stakato Drone
|
||||
22629, // Spiked Stakato Captain
|
||||
22630, // Spike Stakato Nurse
|
||||
22631, // Spike Stakato Nurse
|
||||
22633 // Spiked Stakato Shaman
|
||||
};
|
||||
// Item
|
||||
private static final int FANG_OF_STAKATO = 8085;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 66;
|
||||
|
||||
public Q00640_TheZeroHour()
|
||||
{
|
||||
super(640);
|
||||
addStartNpc(KAHMAN);
|
||||
addTalkId(KAHMAN);
|
||||
addKillId(MONSTERS_TO_HUNT);
|
||||
registerQuestItems(FANG_OF_STAKATO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
String htmltext = null;
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "31554-02.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
break;
|
||||
}
|
||||
case "31554-05.htm":
|
||||
{
|
||||
htmltext = "31554-05.htm";
|
||||
break;
|
||||
}
|
||||
case "31554-08.htm":
|
||||
{
|
||||
qs.exitQuest(true, true);
|
||||
break;
|
||||
}
|
||||
case "1":
|
||||
{
|
||||
if (getQuestItemsCount(player, FANG_OF_STAKATO) >= 12)
|
||||
{
|
||||
takeItems(player, FANG_OF_STAKATO, 12);
|
||||
rewardItems(player, 4042, 1); // Enria
|
||||
htmltext = "31554-09.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-07.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "2":
|
||||
{
|
||||
if (getQuestItemsCount(player, FANG_OF_STAKATO) >= 6)
|
||||
{
|
||||
takeItems(player, FANG_OF_STAKATO, 6);
|
||||
rewardItems(player, 4043, 1); // Asofe
|
||||
htmltext = "31554-09.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-07.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "3":
|
||||
{
|
||||
if (getQuestItemsCount(player, FANG_OF_STAKATO) >= 6)
|
||||
{
|
||||
takeItems(player, FANG_OF_STAKATO, 6);
|
||||
rewardItems(player, 4044, 1); // Thons
|
||||
htmltext = "31554-09.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-07.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "4":
|
||||
{
|
||||
if (getQuestItemsCount(player, FANG_OF_STAKATO) >= 81)
|
||||
{
|
||||
takeItems(player, FANG_OF_STAKATO, 81);
|
||||
rewardItems(player, 1887, 10); // Varnish of Purity
|
||||
htmltext = "31554-09.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-07.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "5":
|
||||
{
|
||||
if (getQuestItemsCount(player, FANG_OF_STAKATO) >= 33)
|
||||
{
|
||||
takeItems(player, FANG_OF_STAKATO, 33);
|
||||
rewardItems(player, 1888, 5); // Synthetic Cokes
|
||||
htmltext = "31554-09.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-07.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "6":
|
||||
{
|
||||
if (getQuestItemsCount(player, FANG_OF_STAKATO) >= 30)
|
||||
{
|
||||
takeItems(player, FANG_OF_STAKATO, 30);
|
||||
rewardItems(player, 1889, 10); // Compound Braid
|
||||
htmltext = "31554-09.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-07.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "7":
|
||||
{
|
||||
if (getQuestItemsCount(player, FANG_OF_STAKATO) >= 150)
|
||||
{
|
||||
takeItems(player, FANG_OF_STAKATO, 150);
|
||||
rewardItems(player, 5550, 10); // Durable Metal Plate
|
||||
htmltext = "31554-09.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-07.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "8":
|
||||
{
|
||||
if (getQuestItemsCount(player, FANG_OF_STAKATO) >= 131)
|
||||
{
|
||||
takeItems(player, FANG_OF_STAKATO, 131);
|
||||
rewardItems(player, 1890, 10); // Mithril Alloy
|
||||
htmltext = "31554-09.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-07.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "9":
|
||||
{
|
||||
if (getQuestItemsCount(player, FANG_OF_STAKATO) >= 123)
|
||||
{
|
||||
takeItems(player, FANG_OF_STAKATO, 123);
|
||||
rewardItems(player, 1893, 5); // Oriharukon
|
||||
htmltext = "31554-09.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31554-07.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, Player talker)
|
||||
{
|
||||
final QuestState qs = getQuestState(talker, true);
|
||||
String htmlText = getNoQuestMsg(talker);
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (talker.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
final QuestState qs2 = qs.getPlayer().getQuestState(Q00109_InSearchOfTheNest.class.getSimpleName());
|
||||
if ((qs2 != null) && (qs2.getState() == State.COMPLETED))
|
||||
{
|
||||
htmlText = "31554-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmlText = "31554-10.htm";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmlText = "31554-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
if (getQuestItemsCount(talker, FANG_OF_STAKATO) >= 1)
|
||||
{
|
||||
htmlText = "31554-04.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmlText = "31554-03.htm";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmlText;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final Player partyMember = getRandomPartyMemberState(killer, State.STARTED);
|
||||
if (partyMember == null)
|
||||
{
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
if (partyMember.getQuestState(Q00640_TheZeroHour.class.getSimpleName()) == null)
|
||||
{
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
giveItems(partyMember, FANG_OF_STAKATO, (long) Config.RATE_QUEST_DROP);
|
||||
playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@@ -59,6 +59,7 @@ import quests.Q00097_SagaOfTheShillienTemplar.Q00097_SagaOfTheShillienTemplar;
|
||||
import quests.Q00098_SagaOfTheShillienSaint.Q00098_SagaOfTheShillienSaint;
|
||||
import quests.Q00099_SagaOfTheFortuneSeeker.Q00099_SagaOfTheFortuneSeeker;
|
||||
import quests.Q00100_SagaOfTheMaestro.Q00100_SagaOfTheMaestro;
|
||||
import quests.Q00109_InSearchOfTheNest.Q00109_InSearchOfTheNest;
|
||||
import quests.Q00110_ToThePrimevalIsle.Q00110_ToThePrimevalIsle;
|
||||
import quests.Q00111_ElrokianHuntersProof.Q00111_ElrokianHuntersProof;
|
||||
import quests.Q00124_MeetingTheElroki.Q00124_MeetingTheElroki;
|
||||
@@ -167,7 +168,12 @@ import quests.Q00605_AllianceWithKetraOrcs.Q00605_AllianceWithKetraOrcs;
|
||||
import quests.Q00606_BattleAgainstVarkaSilenos.Q00606_BattleAgainstVarkaSilenos;
|
||||
import quests.Q00611_AllianceWithVarkaSilenos.Q00611_AllianceWithVarkaSilenos;
|
||||
import quests.Q00612_BattleAgainstKetraOrcs.Q00612_BattleAgainstKetraOrcs;
|
||||
import quests.Q00617_GatherTheFlames.Q00617_GatherTheFlames;
|
||||
import quests.Q00620_FourGoblets.Q00620_FourGoblets;
|
||||
import quests.Q00622_SpecialtyLiquorDelivery.Q00622_SpecialtyLiquorDelivery;
|
||||
import quests.Q00623_TheFinestFood.Q00623_TheFinestFood;
|
||||
import quests.Q00628_HuntGoldenRam.Q00628_HuntGoldenRam;
|
||||
import quests.Q00640_TheZeroHour.Q00640_TheZeroHour;
|
||||
import quests.Q00641_AttackSailren.Q00641_AttackSailren;
|
||||
import quests.Q00642_APowerfulPrimevalCreature.Q00642_APowerfulPrimevalCreature;
|
||||
import quests.Q00643_RiseAndFallOfTheElrokiTribe.Q00643_RiseAndFallOfTheElrokiTribe;
|
||||
@@ -274,6 +280,7 @@ public class QuestMasterHandler
|
||||
Q00098_SagaOfTheShillienSaint.class,
|
||||
Q00099_SagaOfTheFortuneSeeker.class,
|
||||
Q00100_SagaOfTheMaestro.class,
|
||||
Q00109_InSearchOfTheNest.class,
|
||||
Q00110_ToThePrimevalIsle.class, // FIXME: Grand Crusade
|
||||
Q00111_ElrokianHuntersProof.class, // FIXME: Grand Crusade
|
||||
Q00124_MeetingTheElroki.class, // FIXME: Grand Crusade
|
||||
@@ -382,8 +389,13 @@ public class QuestMasterHandler
|
||||
Q00606_BattleAgainstVarkaSilenos.class,
|
||||
Q00611_AllianceWithVarkaSilenos.class,
|
||||
Q00612_BattleAgainstKetraOrcs.class,
|
||||
Q00617_GatherTheFlames.class,
|
||||
Q00620_FourGoblets.class, // FIXME: Grand Crusade
|
||||
Q00622_SpecialtyLiquorDelivery.class,
|
||||
Q00623_TheFinestFood.class,
|
||||
Q00628_HuntGoldenRam.class,
|
||||
Q00630_PirateTreasureHunt.class, // TODO: Not done.
|
||||
Q00640_TheZeroHour.class,
|
||||
Q00641_AttackSailren.class, // FIXME: Grand Crusade
|
||||
Q00642_APowerfulPrimevalCreature.class, // FIXME: Grand Crusade
|
||||
Q00643_RiseAndFallOfTheElrokiTribe.class, // FIXME: Grand Crusade
|
||||
|
Reference in New Issue
Block a user