Quest Request to find Sakum (10335).
Contributed by spider.
This commit is contained in:
parent
c8a3b90ea4
commit
78090f6694
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/30332-01.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/30332-01.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Bathis:<br>
|
||||
I got another message from the Ruins of Agony. The monsters that Sakum stirred up are causing trouble everywhere. We have an army near Windmill Hill, but it doesn't seem able to do anything. What can we do?<br>
|
||||
<button icon=NORMAL action="bypass -h Quest Q10335_RequestToFindSakum 30332-02.htm">"Can i Help?"</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/30332-02.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/30332-02.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Bathis:<br>
|
||||
Sakum has been stirring up other creatures as it moves west of Gludio. I heard there's now another, similar-looking monster...<br>
|
||||
We do need to take care of the Sakum threat soon, but right now it's more urgent to clear out some of these other violent creatures. Can you leave right away?<br>
|
||||
<button icon=NORMAL action="bypass -h Quest Q10335_RequestToFindSakum 30332-03.htm">"Yes, I'll go now."</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/30332-03.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/30332-03.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Bathis:<br>
|
||||
Thanks for your decisiveness. Talk to the gatekeeper, and go to the <font color="LEVEL">Ruins of agony</font>. When you arrive, look for <font color="LEVEL">Guard Kallesin</font>.<br>
|
||||
He will give you further instructions.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/30332-04.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/30332-04.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Bathis:<br>
|
||||
Talk to the gatekeeper to get to the <font color="LEVEL">Ruins of Agony</font>. When you arrive, look for <font color="LEVEL>Guard Kallesin</font>.<br>
|
||||
He will give you further instructions.
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33177-01.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33177-01.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Guard Kallesin:<br>
|
||||
Ahh, the support soldier from the village, yes? Welcome. And you are just in time. Perhaps you saw Sakum on your way here? It just passed by. I was... I couldn't help but look, but I didn't dare approach. If you saw it, you'd know what I meant... it just freezes you in your tracks.<br>
|
||||
Anyway, I intend to draw a sketch of Sakum before I forget what it looked like, in hopes that it'll help someone else track it down. Meanwhile, I hope you can defeat some of the other monsters that have been stirred up by Sakum.<br>
|
||||
<button icon=NORMAL action="bypass -h Quest Q10335_RequestToFindSakum 33177-02.html">"Yeah, they shouldn't be too hard to take out.</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33177-02.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33177-02.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Guard Kallesin:<br>
|
||||
Good! I think you're capable enough to take care of them. That will ease the burden on my soldiers a little, protecting the residents of the town.<br>
|
||||
Please defeat some <font color="LEVEL"> Ruin Zombies, Ruin Zombie Leaders, Skeleton Trackers, Skeleton Bowmen, and Ruin Spartoi</font>in the Ruins of Agony. Then, report to <font color="LEVEL">Guard Zenath</font>, who's located at the far end of the ruins.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33177-03.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33177-03.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Guard Kallesin:<br>
|
||||
Please defeat some <font color="LEVEL"> Ruin Zombies, Ruin Zombie Leaders, Skeleton Trackers, Skeleton Bowmen, and Ruin Spartoi</font>in the Ruins of Agony. Then, report to <font color="LEVEL">Guard Zenath</font>, who's located at the far end of the ruins.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33509-01.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33509-01.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Guard Zenath:<br>
|
||||
Have you come from the village? Please... report!<br>
|
||||
<button icon=NORMAL action="bypass -h Quest Q10335_RequestToFindSakum 33509-02.html">"Well..."</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33509-02.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33509-02.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Guard Zenath:<br>
|
||||
I'm alive thanks to you! I can't believe that you defeated so many monsters in such a short time!<br>
|
||||
I was doing my best to chase Sakum, but <font color="LEVEL">Kanilov</font> is quite a distraction...<br>
|
||||
<button icon=NORMAL action="bypass -h Quest Q10335_RequestToFindSakum 33509-03.html">"Oh?"</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33509-03.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33509-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Guard Zenath:<br>
|
||||
We're trying to figure out Sakum's movements. However, it's more important we defeat Kanilov than track Sakum.<br>
|
||||
Kanilov's no pushover either - we'll need to be careful.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33509-04.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/33509-04.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Guard Zenath:<br>
|
||||
Once Kanilov is defeated, I'm going back to the village!<br>
|
||||
(You have already completed this quest.)
|
||||
</body></html>
|
238
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/Q10335_RequestToFindSakum.java
vendored
Normal file
238
trunk/dist/game/data/scripts/quests/Q10335_RequestToFindSakum/Q10335_RequestToFindSakum.java
vendored
Normal file
@ -0,0 +1,238 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J Server
|
||||
*
|
||||
* This file is part of L2J Server.
|
||||
*
|
||||
* L2J Server 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.
|
||||
*
|
||||
* L2J Server 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.Q10335_RequestToFindSakum;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.model.quest.State;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExQuestNpcLogList;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* Request to find Sakum (10335)
|
||||
* @author spider
|
||||
*/
|
||||
public class Q10335_RequestToFindSakum extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int BATHIS = 30332;
|
||||
private static final int KALLESIN = 33177;
|
||||
private static final int ZENATH = 33509;
|
||||
// Monsters
|
||||
private static final int SKELETON_TRACKER = 20035;
|
||||
private static final int SKELETON_BOWMAN = 20051;
|
||||
private static final int RUIN_ZOMBIE = 20026;
|
||||
private static final int RUIN_SPARTOI = 20054;
|
||||
private static final Map<Integer, Integer> MOBS_REQUIRED = new HashMap<>();
|
||||
{
|
||||
MOBS_REQUIRED.put(SKELETON_TRACKER, 10);
|
||||
MOBS_REQUIRED.put(SKELETON_BOWMAN, 10);
|
||||
MOBS_REQUIRED.put(RUIN_ZOMBIE, 15);
|
||||
MOBS_REQUIRED.put(RUIN_SPARTOI, 15);
|
||||
}
|
||||
// Rewards
|
||||
private static final int ADENA_REWARD = 90000;
|
||||
private static final int EXP_REWARD = 350000;
|
||||
private static final int SP_REWARD = 84;
|
||||
// Others
|
||||
private static final int MIN_LEVEL = 23;
|
||||
private static final int MAX_LEVEL = 40;
|
||||
|
||||
public Q10335_RequestToFindSakum()
|
||||
{
|
||||
super(10335, Q10335_RequestToFindSakum.class.getSimpleName(), "Request to find Sakum");
|
||||
addStartNpc(BATHIS);
|
||||
addTalkId(BATHIS, KALLESIN, ZENATH);
|
||||
addKillId(SKELETON_TRACKER, SKELETON_BOWMAN, RUIN_ZOMBIE, RUIN_SPARTOI);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.htm");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "30332-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30332-03.htm": // start the quest
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33177-02.html": // next step, killing mobs
|
||||
{
|
||||
qs.setCond(2);
|
||||
qs.set(Integer.toString(SKELETON_TRACKER), 0);
|
||||
qs.set(Integer.toString(SKELETON_BOWMAN), 0);
|
||||
qs.set(Integer.toString(RUIN_ZOMBIE), 0);
|
||||
qs.set(Integer.toString(RUIN_SPARTOI), 0);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33509-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33509-03.html":
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{ // exit quest.
|
||||
giveAdena(player, ADENA_REWARD, true);
|
||||
addExpAndSp(player, EXP_REWARD, SP_REWARD);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = null;
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case BATHIS:
|
||||
{
|
||||
htmltext = "30332-01.htm";
|
||||
break;
|
||||
}
|
||||
case KALLESIN:
|
||||
case ZENATH:
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case BATHIS:
|
||||
{
|
||||
htmltext = "30332-04.html";
|
||||
break;
|
||||
}
|
||||
case KALLESIN:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33177-01.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "33177-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ZENATH:
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "33509-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case BATHIS:
|
||||
case KALLESIN:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
case ZENATH:
|
||||
{
|
||||
htmltext = "33509-04.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
|
||||
if ((qs != null) && qs.isStarted() && qs.isCond(2) && (Util.checkIfInRange(1500, npc, qs.getPlayer(), false)))
|
||||
{
|
||||
int kills = qs.getInt(Integer.toString(npc.getId()));
|
||||
if (kills < MOBS_REQUIRED.get(npc.getId())) // check if killed required number of monsters
|
||||
{
|
||||
kills++;
|
||||
qs.set(Integer.toString(npc.getId()), kills);
|
||||
}
|
||||
|
||||
ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
|
||||
log.addNpc(SKELETON_TRACKER, qs.getInt(Integer.toString(SKELETON_TRACKER)));
|
||||
log.addNpc(SKELETON_BOWMAN, qs.getInt(Integer.toString(SKELETON_BOWMAN)));
|
||||
log.addNpc(RUIN_SPARTOI, qs.getInt(Integer.toString(RUIN_SPARTOI)));
|
||||
log.addNpc(RUIN_ZOMBIE, qs.getInt(Integer.toString(RUIN_ZOMBIE)));
|
||||
killer.sendPacket(log);
|
||||
|
||||
if ((qs.getInt(Integer.toString(SKELETON_TRACKER)) >= MOBS_REQUIRED.get(SKELETON_TRACKER)) && (qs.getInt(Integer.toString(SKELETON_BOWMAN)) >= MOBS_REQUIRED.get(SKELETON_BOWMAN)) && (qs.getInt(Integer.toString(RUIN_SPARTOI)) >= MOBS_REQUIRED.get(RUIN_SPARTOI)) && (qs.getInt(Integer.toString(RUIN_ZOMBIE)) >= MOBS_REQUIRED.get(RUIN_ZOMBIE)))
|
||||
{
|
||||
qs.setCond(3);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@ -198,6 +198,7 @@ import quests.Q10331_StartOfFate.Q10331_StartOfFate;
|
||||
import quests.Q10332_ToughRoad.Q10332_ToughRoad;
|
||||
import quests.Q10333_DisappearedSakum.Q10333_DisappearedSakum;
|
||||
import quests.Q10334_ReportingTheStatusOfWindmillHill.Q10334_ReportingTheStatusOfWindmillHill;
|
||||
import quests.Q10335_RequestToFindSakum.Q10335_RequestToFindSakum;
|
||||
import quests.Q10338_SeizeYourDestiny.Q10338_SeizeYourDestiny;
|
||||
import quests.Q10390_KekropusLetter.Q10390_KekropusLetter;
|
||||
import quests.Q10393_KekropusLetter_AClueCompleted.Q10393_KekropusLetter_AClueCompleted;
|
||||
@ -415,6 +416,7 @@ public class QuestMasterHandler
|
||||
Q10332_ToughRoad.class,
|
||||
Q10333_DisappearedSakum.class,
|
||||
Q10334_ReportingTheStatusOfWindmillHill.class,
|
||||
Q10335_RequestToFindSakum.class,
|
||||
Q10338_SeizeYourDestiny.class,
|
||||
Q10390_KekropusLetter.class,
|
||||
Q10393_KekropusLetter_AClueCompleted.class,
|
||||
|
5
trunk/dist/tools/sql/game/spawnlist.sql
vendored
5
trunk/dist/tools/sql/game/spawnlist.sql
vendored
@ -53923,3 +53923,8 @@ DELETE FROM `spawnlist` WHERE `npc_templateid` = 32868 AND `locx` = 148558 AND `
|
||||
INSERT INTO `spawnlist` VALUES
|
||||
('', 1, 33176, -74511, 168718, -3506, 0, 0, 45183, 60, 0, 0, 0),
|
||||
('', 1, 33508, -69545, 170901, -3461, 0, 0, 18939, 60, 0, 0, 0);
|
||||
|
||||
-- Guard Kallesin & Guard Zenath
|
||||
INSERT INTO `spawnlist` VALUES
|
||||
('', 1, 33177, -41021, 122823, -2916, 0, 0, 32767, 60, 0, 0, 0),
|
||||
('', 1, 33509, -46101, 109354, -3813, 0, 0, 20352, 60, 0, 0, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user