Quest Ruins status update (10366).

Contributed by spider.
This commit is contained in:
MobiusDev 2015-08-12 23:00:02 +00:00
parent 96b1f20755
commit 4127ffed6d
10 changed files with 181 additions and 2 deletions

View File

@ -18,6 +18,8 @@
*/
package quests.Q10331_StartOfFate;
import quests.Q10366_RuinsStatusUpdate.Q10366_RuinsStatusUpdate;
import com.l2jserver.gameserver.data.xml.impl.MultisellData;
import com.l2jserver.gameserver.model.Location;
import com.l2jserver.gameserver.model.actor.L2Npc;
@ -35,7 +37,7 @@ import com.l2jserver.gameserver.network.serverpackets.TutorialShowHtml;
*/
public class Q10331_StartOfFate extends Quest
{
// Npcs
// NPCs
private static final int FRANCO = 32153;
private static final int VALFAR = 32146;
private static final int RIVIAN = 32147;
@ -59,7 +61,7 @@ public class Q10331_StartOfFate extends Quest
addTalkId(FRANCO, VALFAR, RIVIAN, TOOK, MOKA, DEVON, PANTHEON, LAKCIS, SEBION);
registerQuestItems(SARIL_NECKLACE, BELIS_MARK);
addCondMinLevel(18, "no_level.html");
// addCondCompletedQuest(Q10330_RuinsStatusUpdate.class.getSimpleName(), "no_prequest.html");
addCondCompletedQuest(Q10366_RuinsStatusUpdate.class.getSimpleName(), "no_prequest.html");
}
@Override

View File

@ -0,0 +1,5 @@
<html><body>Sebion:<br>
You've really gotten the monsters in the Ruins under control. I mean, there are still some about, but it's not nearly so bad. I'm just waiting for my replacement to come, so I can head back to town and concentrate on recovering.<br>
But before I go, I have one more favor to ask of you.<br>
<button align=left icon=NORMAL action="bypass -h Quest Q10366_RuinsStatusUpdate 32978-02.htm">"What is it?"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Sebion:<br>
Tell the master in the Talking Island Administration Office that things are getting better in the Ruins. And, while you're there... could you poke them to make sure they haven't forgotten about replacing me out here.<br>
<button align=left icon=NORMAL action="bypass -h Quest Q10366_RuinsStatusUpdate 32978-03.htm">"No problem"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Sebion:<br>
Oh, that's a relief. Now I won't have to contact Lakcis and Dep. Use your <font color="LEVEL">Scroll of Escape</font> to travel to the <font color="LEVEL">Administration Office</font> and tell <font color="LEVEL">High Priest Franco</font> about the situation here.<br>
Thank you for everything you've done. I'm in your debt.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Sebion:<br>
Oh, that's a relief. Now I won't have to contact Lakcis and Dep. Use your <font color="LEVEL">Scroll of Escape</font> to travel to the <font color="LEVEL">Administration Office</font> and tell <font color="LEVEL">High Priest Franco</font> about the situation here.<br>
Thank you for everything you've done. I'm in your debt.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>High Priest Franco:<br>
You returned from the RUins of Ye Sagira! Are you well? What was going there?<br>
<button align=left icon=NORMAL action="bypass -h Quest Q10366_RuinsStatusUpdate 33750-02.html">"Well.."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>High Priest Franco:<br>
You were a great help! With the monsters cut down, perhaps we will start to see peace flow through this region again. But tell me, friend -- what happened to the scholars there? I doubt they were able to fend the monsters off?<br>
<button align=left icon=NORMAL action="bypass -h Quest Q10366_RuinsStatusUpdate 33750-03.html"> "Sebion was hurt."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>High Priest Franco:<br>
Sebion was hurt? Hmm... Well, at least it was just that, and we don't have a death on our hands. I'll summon him back here, and make sure Bloodhound is in town to protect his return...<br>
Thank you for your everything, friend! May the protection of light always be with you.
</body></html>

View File

@ -0,0 +1,146 @@
/*
* 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.Q10366_RuinsStatusUpdate;
import quests.Q10365_SeekerEscort.Q10365_SeekerEscort;
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;
/**
* Ruins status update (10366)
* @author spider
*/
public class Q10366_RuinsStatusUpdate extends Quest
{
// NPCs
private static final int SEBION = 32978;
private static final int FRANCO = 32153;
private static final int VALFAR = 32146;
private static final int RIVIAN = 32147;
private static final int TOOK = 32150;
private static final int MOKA = 32157;
private static final int DEVON = 32160;
// Rewards
private static final int ADENA_REWARD = 750;
private static final int EXP_REWARD = 150000;
private static final int SP_REWARD = 36;
// Requirements
private static final int MIN_LEVEL = 16;
private static final int MAX_LEVEL = 25;
public Q10366_RuinsStatusUpdate()
{
super(10366, Q10366_RuinsStatusUpdate.class.getSimpleName(), "Ruins status update");
addStartNpc(SEBION);
addTalkId(FRANCO, VALFAR, RIVIAN, TOOK, MOKA, DEVON, SEBION);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.htm");
addCondCompletedQuest(Q10365_SeekerEscort.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 "32978-02.htm":
{
htmltext = event;
break;
}
case "32978-03.htm": // FIXME: add race-specified texts
{
qs.startQuest();
qs.setCond(2);
htmltext = event;
break;
}
case "33750-02.html":
{
htmltext = event;
break;
}
case "33750-03.html":
{
if (qs.getCond() > 1)
{
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:
{
htmltext = npc.getId() == SEBION ? "32978-01.htm" : getNoQuestMsg(player);
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case SEBION:
{
htmltext = "32978-04.html";
break;
}
case VALFAR:// FIXME: add all races texts
case RIVIAN:
case TOOK:
case MOKA:
case DEVON:
case FRANCO:
{
htmltext = "33750-01.html";
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}

View File

@ -209,6 +209,7 @@ import quests.Q10362_CertificationOfTheSeeker.Q10362_CertificationOfTheSeeker;
import quests.Q10363_RequestOfTheSeeker.Q10363_RequestOfTheSeeker;
import quests.Q10364_ObligationsOfTheSeeker.Q10364_ObligationsOfTheSeeker;
import quests.Q10365_SeekerEscort.Q10365_SeekerEscort;
import quests.Q10366_RuinsStatusUpdate.Q10366_RuinsStatusUpdate;
import quests.Q10368_RebellionOfMonsters.Q10368_RebellionOfMonsters;
import quests.Q10390_KekropusLetter.Q10390_KekropusLetter;
import quests.Q10393_KekropusLetter_AClueCompleted.Q10393_KekropusLetter_AClueCompleted;
@ -437,6 +438,7 @@ public class QuestMasterHandler
Q10363_RequestOfTheSeeker.class,
Q10364_ObligationsOfTheSeeker.class,
Q10365_SeekerEscort.class,
Q10366_RuinsStatusUpdate.class,
Q10368_RebellionOfMonsters.class,
Q10390_KekropusLetter.class,
Q10393_KekropusLetter_AClueCompleted.class,