Quest Roles of the Seeker (10361).

Contributed by spider.
This commit is contained in:
MobiusDev 2015-08-09 19:53:41 +00:00
parent 07c8b83afe
commit 3f73bb61bf
12 changed files with 213 additions and 0 deletions

View File

@ -0,0 +1,5 @@
<html><body>Lakcis:<br>
They wouldn't let me go with them because of the ever-present threat of attack in Ye Sagira. Oh well - I am scholar, and am quite useless with both sword and spell, so perhaps their caution was warranted.<br>
That said, they worry that scholars will interfere with their work, but rangers cannot study, nor comprehend or analyze. And if we do not analyze the ruins, how will we poceed?<br>
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10361_RolesOfTheSeeker 32977-02.htm">"They have to use their heads instead of their bodies..."</button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Lakcis:<br>
Er, quite.<br>
Not to pat my own back, but I'm certain my mental capacity far exceeds those of the rangers. I need to get in there, but they won't let me... perhaps I can send a message instead?<br>
Perhaps you can pass it on? That way, they're not burdened with protecting my hide, and we can actually get something of scientific value from the ruins. What do you say?<br>
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10361_RolesOfTheSeeker 32977-03.htm">"Sure. Sounds good."</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Lakcis:<br>
Excellent! Thank You!<br>
I want you to speak to <font color="NORMAL">Chesha</font> in <font color="NORMAL"> Exploration Zone 1</font>, and tell her that "Lakcis is ready to go to ruins whenever". I realize they won't allow me in just yet, but I want them to know that I'm snapping at their heels. It's imperative that I gain access to the ruins!<br>
Now, to get inside, I believe you can use the <font color="LEVEL">Ye Sagira Teleportation Device</font>. Go, and be safe!
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Lakcis:<br>
Why are you still here? Must I tell you what to do again?<br>
Use the <font color="LEVEL">Ye Sagira Teleportation Device</font>, and tell <font color="NORMAL">Chesha</font> in <font color="NORMAL"> Exploration Zone 1</font> that "Lakcis is ready to go to ruins whenever".<br>
Go! Before I pass from old age!
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Chesha:<br>
There are many dangerous monsters in the Ruins of Ye Sagira - many see it as one of most dangerous places in Talking Island. However, if you don't anger the monsters in Exploration Zone 1, they won't attack. Why did you come to me?<br>
<button align=left icon=NORMAL action="bypass -h Quest Q10361_RolesOfTheSeeker 33449-02.html">"Lakcis asked that I come here."</button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Chesha:<br>
Lakcis? Hmm.<br>
The man has spent his life studying, nad has no understanding of the way of things, of people, of war. I refused to bring him here, you know... I was afraid he'd accidentally hurt an animal here, and find death in mere minutes.<br>
What did he say?<br>
<button align=left icon=NORMAL action="bypass -h Quest Q10361_RolesOfTheSeeker 33449-03.html">"He said he was ready to come."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Chesha:<br>
Damn you, Lakcis, you stubborn fool.<br>
It seems like Lakcis will not give up on coming to Ye Sagira. Maybe I should think more about what job to give him when he turns up...
</body></html>

View File

@ -0,0 +1,165 @@
/*
* 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.Q10361_RolesOfTheSeeker;
import quests.Q10330_ToTheRuinsOfYeSagira.Q10330_ToTheRuinsOfYeSagira;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.events.EventType;
import com.l2jserver.gameserver.model.events.ListenerRegisterType;
import com.l2jserver.gameserver.model.events.annotations.RegisterEvent;
import com.l2jserver.gameserver.model.events.annotations.RegisterType;
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerCreate;
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.model.zone.L2ZoneType;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
/**
* Roles of the Seeker (10361)
* @author spider
*/
public class Q10361_RolesOfTheSeeker extends Quest
{
// NPCs
private static final int LAKCIS = 32977;
private static final int CHESHA = 33449;
// Rewards
private static final int ADENA_REWARD = 34000;
private static final int EXP_REWARD = 35000;
private static final int SP_REWARD = 5;
// Others
private static final int YE_SAGIRA_RUINS_PRESENTATION_MOVIE_ZONE = 10361;
private static final String MOVIE_VAR = "Ye_Sagira_Ruins_movie";
private static final int SI_ILLUSION_03_QUE = 103; // movie id
private static final int MIN_LEVEL = 10;
private static final int MAX_LEVEL = 20;
public Q10361_RolesOfTheSeeker()
{
super(10361, Q10361_RolesOfTheSeeker.class.getSimpleName(), "Roles of the Seeker");
addStartNpc(LAKCIS);
addTalkId(LAKCIS, CHESHA);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.htm");
addEnterZoneId(YE_SAGIRA_RUINS_PRESENTATION_MOVIE_ZONE);
addCondCompletedQuest(Q10330_ToTheRuinsOfYeSagira.class.getSimpleName(), "no_prequest.html");
}
@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 "32977-02.htm":
{
htmltext = event;
break;
}
case "32977-03.htm":
{
qs.startQuest();
showOnScreenMsg(player, NpcStringId.ENTER_THE_RUINS_OF_YE_SAGIRA_THROUGH_THE_YE_SAGIRA_TELEPORT_DEVICE, ExShowScreenMessage.TOP_CENTER, 5000);
htmltext = event;
break;
}
case "33449-02.html":
{
htmltext = event;
break;
}
case "33449-03.html":
{
if (qs.isCond(1))
{
giveAdena(player, ADENA_REWARD, true);
addExpAndSp(player, EXP_REWARD, SP_REWARD);
qs.exitQuest(false, true);
}
htmltext = event;
}
}
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() == LAKCIS ? "32977-01.htm" : getNoQuestMsg(player);
break;
}
case State.STARTED:
{
htmltext = npc.getId() == LAKCIS ? "32977-04.htm" : "33449-01.html";
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
}
}
return htmltext;
}
@Override
public String onEnterZone(L2Character character, L2ZoneType zone)
{
if (character.isPlayer())
{
final L2PcInstance player = character.getActingPlayer();
if (player.getVariables().getBoolean(MOVIE_VAR, false))
{
if (player.getLevel() <= MAX_LEVEL)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isStarted())
{
player.showQuestMovie(SI_ILLUSION_03_QUE);
}
}
player.getVariables().remove(MOVIE_VAR);
}
}
return super.onEnterZone(character, zone);
}
@RegisterEvent(EventType.ON_PLAYER_CREATE)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerCreate(OnPlayerCreate event)
{
event.getActiveChar().getVariables().set(MOVIE_VAR, true);
}
}

View File

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

View File

@ -0,0 +1,2 @@
<html><body>This quest may only be undertaken by characters who have cleared the quest "To the Ruins of Ye Sagira".
</body></html>

View File

@ -204,6 +204,7 @@ import quests.Q10337_SakumsInfluence.Q10337_SakumsInfluence;
import quests.Q10338_SeizeYourDestiny.Q10338_SeizeYourDestiny;
import quests.Q10358_DividedSakumPoslof.Q10358_DividedSakumPoslof;
import quests.Q10359_SakumsTrace.Q10359_SakumsTrace;
import quests.Q10361_RolesOfTheSeeker.Q10361_RolesOfTheSeeker;
import quests.Q10365_SeekerEscort.Q10365_SeekerEscort;
import quests.Q10368_RebellionOfMonsters.Q10368_RebellionOfMonsters;
import quests.Q10390_KekropusLetter.Q10390_KekropusLetter;
@ -428,6 +429,7 @@ public class QuestMasterHandler
Q10338_SeizeYourDestiny.class,
Q10358_DividedSakumPoslof.class,
Q10359_SakumsTrace.class,
Q10361_RolesOfTheSeeker.class,
Q10365_SeekerEscort.class,
Q10368_RebellionOfMonsters.class,
Q10390_KekropusLetter.class,

View File

@ -239,6 +239,12 @@
<node X="-114536" Y="257336" />
<node X="-114520" Y="257496" />
</zone>
<zone name="ye_sagira_ruins_movie_zone" id="10361" type="ScriptZone" shape="NPoly" minZ="-1700" maxZ="-1637">
<node X="-115086" Y="230896" />
<node X="-115448" Y="230009" />
<node X="-113946" Y="229645" />
<node X="-114250" Y="230533" />
</zone>
<zone name="harnak_underground_ruins_room_2" id="200032" type="ScriptZone" shape="Cylinder" minZ="-11047" maxZ="-10697" rad="850">
<node X="-107926" Y="208860" />
</zone>