Addition of quest Unveiled Fafurion Temple (10516).

This commit is contained in:
MobiusDevelopment
2019-04-03 17:47:34 +00:00
parent da64c80f07
commit 11e374810d
12 changed files with 205 additions and 38 deletions

View File

@@ -191,7 +191,6 @@
10423 Embryo Stronghold Ambush 10423 Embryo Stronghold Ambush
10454 Final Embryo Apostle 10454 Final Embryo Apostle
10457 Kefensis' Illusion 10457 Kefensis' Illusion
10516 Unveiled Fafurion Temple
10517 Fafurion's Minions 10517 Fafurion's Minions
10518 Succeeding the Priestess 10518 Succeeding the Priestess
10519 Controlling Your Temper 10519 Controlling Your Temper

View File

@@ -391,6 +391,7 @@ import quests.Q10840_TimeToRecover.Q10840_TimeToRecover;
import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress; import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley; import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley;
import quests.custom.Q00529_RegularBarrierMaintenance.Q00529_RegularBarrierMaintenance; import quests.custom.Q00529_RegularBarrierMaintenance.Q00529_RegularBarrierMaintenance;
import quests.custom.Q10516_UnveiledFafurionTemple.Q10516_UnveiledFafurionTemple;
import quests.custom.Q10529_IvoryTowersResearchFloatingSeaJournal.Q10529_IvoryTowersResearchFloatingSeaJournal; import quests.custom.Q10529_IvoryTowersResearchFloatingSeaJournal.Q10529_IvoryTowersResearchFloatingSeaJournal;
import quests.not_done.*; import quests.not_done.*;
@@ -765,7 +766,7 @@ public class QuestMasterHandler
Q10503_FrintezzaEmbroideredSoulCloak.class, Q10503_FrintezzaEmbroideredSoulCloak.class,
Q10504_JewelOfAntharas.class, Q10504_JewelOfAntharas.class,
Q10505_JewelOfValakas.class, Q10505_JewelOfValakas.class,
Q10516_UnveiledFafurionTemple.class, // TODO: Not done. Q10516_UnveiledFafurionTemple.class, // FIXME: Custom.
Q10517_FafurionsMinions.class, // TODO: Not done. Q10517_FafurionsMinions.class, // TODO: Not done.
Q10518_SucceedingThePriestess.class, // TODO: Not done. Q10518_SucceedingThePriestess.class, // TODO: Not done.
Q10519_ControllingYourTemper.class, // TODO: Not done. Q10519_ControllingYourTemper.class, // TODO: Not done.

View File

@@ -0,0 +1,170 @@
/*
* 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.custom.Q10516_UnveiledFafurionTemple;
import com.l2jmobius.gameserver.model.actor.Npc;
import com.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
/**
* Unveiled Fafurion Temple (10516)
* @URL https://l2wiki.com/Unveiled_Fafurion_Temple
* @author Mobius
*/
public class Q10516_UnveiledFafurionTemple extends Quest
{
// NPCs
private static final int START_NPC = 33907;
private static final int TALK_NPC_1 = 34491;
private static final int TALK_NPC_2 = 34489;
private static final int FINISH_NPC = 34490;
// Misc
private static final int MIN_LEVEL = 110;
public Q10516_UnveiledFafurionTemple()
{
super(10516);
addStartNpc(START_NPC);
addTalkId(START_NPC, TALK_NPC_1, TALK_NPC_2, FINISH_NPC);
addCondMinLevel(MIN_LEVEL, getNoQuestMsg(null));
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
switch (event)
{
case "accept.htm":
{
if (qs.isCreated())
{
qs.startQuest();
}
break;
}
case "talk_1_2.html":
{
if ((npc.getId() == TALK_NPC_1) && qs.isCond(1))
{
qs.setCond(2, true);
}
break;
}
case "talk_2_2.html":
{
if ((npc.getId() == TALK_NPC_2) && qs.isCond(2))
{
qs.setCond(3, true);
}
break;
}
case "reward.html":
{
if ((npc.getId() == FINISH_NPC) && qs.isCond(3))
{
// Reward.
addExpAndSp(player, 5556186900L, 5556186);
giveAdena(player, 139671, false);
qs.exitQuest(false, true);
}
break;
}
default:
{
return null;
}
}
return event;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.CREATED:
{
if (npc.getId() == START_NPC)
{
htmltext = "start.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case START_NPC:
{
htmltext = "accept.htm";
break;
}
case TALK_NPC_1:
{
if (qs.isCond(1))
{
htmltext = "talk_1_1.html";
}
else if (qs.getCond() > 1)
{
htmltext = "talk_1_2.html";
}
break;
}
case TALK_NPC_2:
{
if (qs.isCond(2))
{
htmltext = "talk_2_1.html";
}
else if (qs.getCond() > 2)
{
htmltext = "talk_2_2.html";
}
break;
}
case FINISH_NPC:
{
if (qs.isCond(3))
{
htmltext = "finish.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}

View File

@@ -0,0 +1,3 @@
<html><body>Lionel:<br>
You need to go at <font color="LEVEL">Fafurion Temple</font> to talk to <font color="LEVEL">Frederick</font> waiting there.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Okayti:<br>
Ahhh... You have been sent by Lionel...<br1>
I have been waiting for you.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10516_UnveiledFafurionTemple reward.html">"It's been a long way..."</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Okayti:<br>
Thank you for coming all this way here.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Lionel:<br>
If you have time I have a mission for you.<br1>
I need you to speak with someone.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10516_UnveiledFafurionTemple accept.htm">"Say no more. On my way."</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Frederick:<br>
Lionel sent you?<br1>
Sounds good enough for me...<br1>
Tho, you will have to speak with Lupicia.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10516_UnveiledFafurionTemple talk_1_2.html">"I need to speak with who?"</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Frederick:<br>
You have to speak with <font color="LEVEL">Lupicia</font>.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Lupicia:<br>
Why did Frederick sent you to me?<br1>
You obviously need to speak with Okayti.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10516_UnveiledFafurionTemple talk_2_2.html">"I need to speak with who?"</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Lupicia:<br>
You have to speak with <font color="LEVEL">Okayti</font>.
</body></html>

View File

@@ -1,36 +0,0 @@
/*
* 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.not_done;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10516_UnveiledFafurionTemple extends Quest
{
private static final int START_NPC = 33907;
public Q10516_UnveiledFafurionTemple()
{
super(10516);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}