Quests Sakums Trace (10359) and Rebellion of Monsters (10368).

Contributed by spider.
This commit is contained in:
MobiusDev
2015-08-08 08:02:37 +00:00
parent c3510abc6f
commit a948d5ee3f
28 changed files with 542 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
<html><body>Grand Master:<br>
Young one! I was looking for you! I heard you did so many good things for the village, and wanted to thank you on behalf of the lord. You have... wait... is something wrong?<br>
<button ALIGN=LEFT icon=NORMAL action="bypass -h Quest Q10359_SakumsTrace 30297-02.html">"Sakum's Scale was found in the Wasteland."</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Grand Master:<br>
So then Sakum is in Wasteland!<br>
Well! Did Guard Fred say anything else?<br>
<button ALIGN=LEFT icon=NORMAL action="bypass -h Quest Q10359_SakumsTrace 30297-03.html">"He wanted someone to fight Sakum."</button>

View File

@@ -0,0 +1,4 @@
<html><body>Grand Master:<br>
As there isn't much we can do at the moment witch all the skilled soldiers gone. We must hold a race meeting to consider all possible measures.<br>
I think we will soon have a job for you to show what you can do, so please come back later.
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Adventure Guildsman:<br>
When will Sakum be caught?! We can't just keep chasing it around...<br>
When they said that ferocious monster were appearing in the Wasteland, we wondered whether Sakum had appeared.<br>
But we couldn't send all our powerful warriors to the outlands. You know Sakum, right?<br>
<button ALIGN=LEFT icon=NORMAL action="bypass -h Quest Q10359_SakumsTrace 31795-02.htm">"Yes, I do."</button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Adventure Guildsman:<br>
Of course. There is no way that someone of your caliber wouldn't know about Sakum!<br>
The fact that ferocious monsters have appeared at the <font color="LEVEL">Wasteland </font> might indicate Sakum's presence.<br>
Now is the time for us adventurers to step up to the plate! Care to join?<br>
<button ALIGN=LEFT icon=NORMAL action="bypass -h Quest Q10359_SakumsTrace 31795-03.htm">"I will join you!"</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Adventure Guildsman:<br>
I knew it! You're an amazing adventurer. Find <font color="LEVEL">Guard Fred</font> at the <font color="LEVEL">Entrance to the Wastelands</font>, and help him and determine where Sakum appears.
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Guard Fred:<br>
I've heard that an Adventure Guildsman from Gludio sent a great adventurer here. Was that person you?<br>
I know that you were sent by the Adventure Guildsman, but I don't know if I can trust...<br>
Don't feel top bad about that - I'm looking out for your back as well as mine.<br>
<button align=left icon=NORMAL action="bypass -h Quest Q10359_SakumsTrace 33179-02.html">"What's going on with the monsters?"</button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Guard Fred:<br>
I wouldn't say monster in the Wasteland were ever very docile, but the look different now. They have became more powerful than before, too.<br>
And recently I was investigating this area and found suspicious looking fragment from the carcass of a monster. Maybe it's because the monster has been dead for a long, but the fragment was too small for me to identify.<br>
Could you help to discover what it might be?<br>
<button align=left icon=NORMAL action="bypass -h Quest Q10359_SakumsTrace 33179-03.html">"Sure."</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Guard Fred:<br>
Thank you. I believe that you find these Suspicious Fragments from monsters such as <font color="LEVEL">Monster Eye Watchers, Lesser Basilisks, Basilisks, Skeleton Marauders, Granite Golems, Saharas, and Tyrants</font><br>
Okay then, good luck and please stay safe...
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Guard Fred:<br>
Maybe you were rooted to the spot in fear, hmm?<br>
You need to collect the <font color="LEVEL">Suspicious Fragments</font> from the monsters in the Wasteland.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Guard Fred:<br>
You've done it! Show me the Suspicious Fragments.<br>
Oh no, this... this... Sakum's scale! So, the monsters have become ferocious because of Sakum?! There is no time waste - sprint back to Gludio, inform <font color="LEVEL">High Priest Raymond </font> in the <font color="LEVEL">Einhasad Temple</font> of our findings, and ask him to send the strongest he's got here. I will remain behind and uncover the beast's location!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Guard Fred:<br>
You've done it! Show me the Suspicious Fragments.<br>
Oh no, this... this... Sakum's scale! So, the monsters have become ferocious because of Sakum?! There is no time waste - sprint back to Gludio, inform <font color="LEVEL">Grand Master Rains</font> in the <font color="LEVEL">Warrior Guild</font> of our findings, and ask him to send the strongest he's got here. I will remain behind and uncover the beast's location!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Guard Fred:<br>
You've done it! Show me the Suspicious Fragments.<br>
Oh no, this... this... Sakum's scale! So, the monsters have become ferocious because of Sakum?! There is no time waste - sprint back to Gludio, inform <font color="LEVEL">Grand Magister Esrandell</font> in the <font color="LEVEL">Einhasad Temple</font> of our findings, and ask him to send the strongest he's got here. I will remain behind and uncover the beast's location!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Guard Fred:<br>
You've done it! Show me the Suspicious Fragments.<br>
Oh no, this... this... Sakum's scale! So, the monsters have become ferocious because of Sakum?! There is no time waste - sprint back to Gludio, inform <font color="LEVEL">Grand Master Ellenia</font> in the <font color="LEVEL">Warrior Guild</font> of our findings, and ask him to send the strongest he's got here. I will remain behind and uncover the beast's location!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Guard Fred:<br>
You've done it! Show me the Suspicious Fragments.<br>
Oh no, this... this... Sakum's scale! So, the monsters have become ferocious because of Sakum?! There is no time waste - sprint back to Gludio, inform <font color="LEVEL">Grand Master Tobias</font> in the <font color="LEVEL">Dark Elf Guild</font> of our findings, and ask him to send the strongest he's got here. I will remain behind and uncover the beast's location!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Guard Fred:<br>
You've done it! Show me the Suspicious Fragments.<br>
Oh no, this... this... Sakum's scale! So, the monsters have become ferocious because of Sakum?! There is no time waste - sprint back to Gludio, inform <font color="LEVEL">High Prefect Drikus</font> in the <font color="LEVEL">Orc Guild</font> of our findings, and ask him to send the strongest he's got here. I will remain behind and uncover the beast's location!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Guard Fred:<br>
You've done it! Show me the Suspicious Fragments.<br>
Oh no, this... this... Sakum's scale! So, the monsters have become ferocious because of Sakum?! There is no time waste - sprint back to Gludio, inform <font color="LEVEL">Head Blacksmith Mendio</font> in the <font color="LEVEL">Blacksmith Workshop</font> of our findings, and ask him to send the strongest he's got here. I will remain behind and uncover the beast's location!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Guard Fred:<br>
You've done it! Show me the Suspicious Fragments.<br>
Oh no, this... this... Sakum's scale! So, the monsters have become ferocious because of Sakum?! There is no time waste - sprint back to Gludio, inform <font color="LEVEL">Grand Master Gershwin</font> in the <font color="LEVEL">Kamael Guild</font> of our findings, and ask him to send the strongest he's got here. I will remain behind and uncover the beast's location!
</body></html>

View File

@@ -0,0 +1,265 @@
/*
* 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.Q10359_SakumsTrace;
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.util.Util;
/**
* Sakum's Trace (10359)
* @author spider
*/
public class Q10359_SakumsTrace extends Quest
{
// NPCs
private static final int ADV_GUILDSMAN = 31795;
private static final int FRED = 33179;
private static final int TOBIAS = 30297;
private static final int RAYMOND = 30289;
private static final int RAINS = 30288;
private static final int DRIKUS = 30505;
private static final int MENDIO = 30504;
private static final int GERSHWIN = 32196;
private static final int ELLENIA = 30155;
private static final int ESRANDELL = 30158;
// Monsters
private static final int MONSTER_EYE_WATCHER = 20067;
private static final int LESSER_BASILISK = 20070;
private static final int BASILISK = 20072;
private static final int SKELETON_MARAUDER = 20190;
private static final int GRANITE_GOLEM = 23098;
private static final int SAHARA = 23026;
private static final int TYRANT = 20192;
// Items
private static final int SUSPICIOUS_FRAGMENT = 17586;
private static final int SUSPICIOUS_FRAGMENT_REQUIRED = 20;
// Rewards
private static final int ADENA_REWARD = 108000;
private static final int EXP_REWARD = 900000;
private static final int SP_REWARD = 216;
// Others
private static final int MIN_LEVEL = 34;
private static final int MAX_LEVEL = 40;
public Q10359_SakumsTrace()
{
super(10359, Q10359_SakumsTrace.class.getSimpleName(), "Sakum's Trace");
addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.htm");
addTalkId(ADV_GUILDSMAN, FRED, TOBIAS, RAYMOND, RAINS, DRIKUS, MENDIO, GERSHWIN, ELLENIA, ESRANDELL);
addKillId(MONSTER_EYE_WATCHER, LESSER_BASILISK, BASILISK, SKELETON_MARAUDER, GRANITE_GOLEM, SAHARA, TYRANT);
registerQuestItems(SUSPICIOUS_FRAGMENT);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "30297-02.html":
{
htmltext = event;
break;
}
case "30297-03.html": // end quest
{
if (qs.getCond() > 3)
{
giveAdena(player, ADENA_REWARD, true);
addExpAndSp(player, EXP_REWARD, SP_REWARD);
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
case "31795-02.htm":
{
htmltext = event;
break;
}
case "31795-03.htm": // start quest
{
qs.startQuest();
htmltext = event;
break;
}
case "33179-02.html":
{
htmltext = event;
break;
}
case "33179-03.html": // go kill mobs
{
if (qs.isCond(1))
{
qs.setCond(2);
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:
{
htmltext = npc.getId() == ADV_GUILDSMAN ? "31795-01.htm" : getNoQuestMsg(player);
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case ADV_GUILDSMAN:
{
htmltext = "31795-03.htm";
break;
}
case FRED:
{
if (qs.isCond(1))
{
htmltext = "33179-01.html";
}
else if (qs.isCond(2))
{
htmltext = "33179-04.html";
}
else if (qs.isCond(3)) // go to race master
{
switch (player.getRace())
{
case HUMAN:
{
if (player.isMageClass())
{
qs.setCond(4); // go to High Priest Raymond Einhasad Temple
htmltext = "33179-05a.html";
}
else
{
qs.setCond(5); // go to Grand Master Rains
htmltext = "33179-05b.html";
}
break;
}
case ELF:
{
if (player.isMageClass())
{
qs.setCond(11); // Grand Magister Esrandell in Einhasad Temple
htmltext = "33179-06a.html";
}
else
{
qs.setCond(10); // Grand Master Ellenia in Warrior Guild
htmltext = "33179-06b.html";
}
break;
}
case DARK_ELF:
{
qs.setCond(6); // go to Tobias DE guild
htmltext = "33179-07.html";
break;
}
case ORC:
{
qs.setCond(7); // High Prefect Drikus in Orc Guild
htmltext = "33179-08.html";
break;
}
case DWARF:
{
qs.setCond(8); // Head Blacksmith Mendio in the Blacksmith Workshop
htmltext = "33179-09.html";
break;
}
case KAMAEL:
{
qs.setCond(9); // Grand Master Gershwin in Kamael Guild
htmltext = "33179-10.html";
break;
}
}
}
break;
}
case RAYMOND: // TODO: get all race-specific texts
case RAINS:
case DRIKUS:
case MENDIO:
case GERSHWIN:
case ELLENIA:
case ESRANDELL:
case TOBIAS:
{
if (qs.getCond() > 3)
{
htmltext = "30297-01.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
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)))
{
if (getQuestItemsCount(qs.getPlayer(), SUSPICIOUS_FRAGMENT) < SUSPICIOUS_FRAGMENT_REQUIRED)
{
giveItemRandomly(qs.getPlayer(), npc, SUSPICIOUS_FRAGMENT, 1, SUSPICIOUS_FRAGMENT_REQUIRED, 0.25, true);
}
else
{
qs.setCond(3);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -0,0 +1,3 @@
<html><body>You don't meet level requirements<br>
(Quest available from level 34 to level 40)
</body></html>