Quest Resurrected Owner of Hall (10354).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev
2016-09-18 11:28:45 +00:00
parent a1865f6372
commit 848927e24d
16 changed files with 370 additions and 75 deletions

View File

@@ -72,7 +72,6 @@
10316 Undecaying Memory of the Past
10352 Legacy of Cruma Tower
10353 Certification of Value
10354 Resurrected Owner of Hall
10357 Altar of Blood that Awakens Destruction
10370 Menacing Times
10371 Grasp Thy Power

View File

@@ -34,7 +34,7 @@ public final class Q10351_OwnerOfHall extends Quest
{
// NPCs
private static final int LYDIA = 32892;
private static final int OCTAVIS = 29209;
private static final int OCTAVIS = 29194; // Octavis common mode
// Item
private static final int OCTAVIS_BRACELET = 19461;
// Misc

View File

@@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
I appreciate your dedication to the truth. But you must prepare yourself thoroughly, as it will not be easy to face.<br>
(You must be level 95 or above to accept this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
No--there are things you still do not understand. In order to face the truth, knowledge must baptize your spirit. You will know when the time is right.<br>
(You must complete the Owner of Hall quest to proceed.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
It seems I've seriously underestimated <font color="LEVEL">Octavis</font>!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10354_ResurrectedOwnerOfHall 32892-02.htm">"What do you mean?"</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
We face another test. Tribulation comes to us in the form of <font color="LEVEL">Octavis</font>, resurrected and more powerful than ever.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10354_ResurrectedOwnerOfHall 32892-03.htm">"Who would do that, resurrect him?"</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
Nothing has come out of <font color="LEVEL">Shilen</font>without the tang of rumor or lie. And there is no time to wonder. We must act. <font color="LEVEL">Octavis</font>'s fury will not wait.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10354_ResurrectedOwnerOfHall 32892-04.htm">"Then I'll just have to defeat him again."</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Divine Messenger Lydia:<br>
I wish it was as straightforward as simply defeating him again. This is a battle to save his soul, and though my faith is strong... I admit, I am uncertain we will prevail. Let me know when you are prepared and I will explain <font color="LEVEL">how to save Octavis.</font> Then I will send you to him.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Divine Messenger Lydia:<br>
I will pray for your safe return.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
You have done it! Oh, praise be! The impossible has been achieved!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10354_ResurrectedOwnerOfHall 32892-07.html">"Fair enough."</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Divine Messenger Lydia:<br>
Praise to you, <font color="LEVEL">%name%</font>! I feared this Temple would come to ruin, but my faith should have been stronger! Your endeavors are truly blessed. I will sing prayers in praise of your name!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
Your courage and skills came unexpected and greatly appreciated. I will sing another prayer in praise of your name!<br>
(You have already completed this quest.)
</body></html>

View File

@@ -0,0 +1,147 @@
/*
* 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.Q10354_ResurrectedOwnerOfHall;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
import quests.Q10351_OwnerOfHall.Q10351_OwnerOfHall;
/**
* Resurrected Owner of Hall (10354)
* @URL https://l2wiki.com/index.php?title=Resurrected_Owner_of_Hall&mobileaction=toggle_view_desktop
* @author Gigi
*/
public final class Q10354_ResurrectedOwnerOfHall extends Quest
{
// NPCs
private static final int LYDIA = 32892;
private static final int OCTAVIS = 29212; // Octavis extreme mode
// Item
private static final int OCTAVIS_SOUL_BOTTLE = 34884;
// Misc
private static final int MIN_LEVEL = 95;
public Q10354_ResurrectedOwnerOfHall()
{
super(10354);
addStartNpc(LYDIA);
addTalkId(LYDIA);
addKillId(OCTAVIS);
addCondMinLevel(MIN_LEVEL, "32892-00.htm");
addCondCompletedQuest(Q10351_OwnerOfHall.class.getSimpleName(), "32892-00a.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "32892-02.htm":
case "32892-03.htm":
{
htmltext = event;
break;
}
case "32892-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "32892-07.html":
{
giveAdena(player, 23655000, false);
addExpAndSp(player, 897850000, 215484);
giveItems(player, OCTAVIS_SOUL_BOTTLE, 1);
qs.exitQuest(false, true);
htmltext = getHtm(player.getHtmlPrefix(), "32892-07.html").replace("%name%", player.getName());
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs == null)
{
return htmltext;
}
final int npcId = npc.getId();
switch (qs.getState())
{
case State.CREATED:
{
if (npcId == LYDIA)
{
htmltext = "32892-01.htm";
}
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "32892-05.html";
}
else if (qs.isCond(2))
{
htmltext = "32892-06.html";
}
break;
}
case State.COMPLETED:
{
htmltext = "Complete.html";
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
executeForEachPlayer(player, npc, isSummon, true, false);
return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
{
qs.setCond(2, true);
}
}
}

View File

@@ -243,6 +243,7 @@ import quests.Q10344_DayOfDestinyOrcsFate.Q10344_DayOfDestinyOrcsFate;
import quests.Q10345_DayOfDestinyDwarfsFate.Q10345_DayOfDestinyDwarfsFate;
import quests.Q10346_DayOfDestinyKamaelsFate.Q10346_DayOfDestinyKamaelsFate;
import quests.Q10351_OwnerOfHall.Q10351_OwnerOfHall;
import quests.Q10354_ResurrectedOwnerOfHall.Q10354_ResurrectedOwnerOfHall;
import quests.Q10358_DividedSakumPoslof.Q10358_DividedSakumPoslof;
import quests.Q10359_TracesOfEvil.Q10359_TracesOfEvil;
import quests.Q10360_CertificationOfFate.Q10360_CertificationOfFate;
@@ -632,6 +633,7 @@ public class QuestMasterHandler
Q10345_DayOfDestinyDwarfsFate.class,
Q10346_DayOfDestinyKamaelsFate.class,
Q10351_OwnerOfHall.class,
Q10354_ResurrectedOwnerOfHall.class,
Q10358_DividedSakumPoslof.class,
Q10359_TracesOfEvil.class,
Q10360_CertificationOfFate.class,