Seed of Hellfire quests.

Contributed by hlwrave.
This commit is contained in:
MobiusDev
2016-02-09 10:01:07 +00:00
parent 2ab94e6daf
commit cc24fc452c
96 changed files with 1398 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
<html><body>Sizrak:<br>
You'd like to challenge <font color="LEVEL">Tauti</font>, eh? We would as well.<br>
<font color="LEVEL"> (In order to challenge Tauti, you need an alliance with parties that are level 97 or above. Maximum of 35 people can join at once. You can enter the Instanced Zone through the alliance leader. Every member must also have a Mark of Resistance.)</font><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_request_tauti_normal_battle">"I am ready to fight."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"I've got some things to do first."</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Sizrak:<br>
You can collect the <font color="LEVEL">Mark of the Resistance</font> by completing tasks for me.<br>
You need the <font color="LEVEL">Mark of the Resistance</font> to challenge Tauti.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"All right, then."</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
If you want to go to <font color="LEVEL">Seed of Hellfire Level 2</font> or <font color="LEVEL">Seed of Hellfire Southern District,</font> go find a <font color="LEVEL">Transportation Assistant</font>. They can send you.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Thanks for the advice."</button>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Sizrak:<br>
Yes? What is it? <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"I'd like to enter the Temple of Tauti."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 2">"Tell me about the Mark of the Resistance."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 3">"How can I get around inside the Seed of Hellfire?"</button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">"Do you have any work for me?"</button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Aku:<br>
Ooh, you want to see <font color="LEVEL">Lord Tauti</font>?<br>
<font color="LEVEL">(You need an alliance of level 97 or above to challenge the Tauti Epic Battle. Maximum of 35 people can join at once. You can enter the Instanced Zone through the alliance leader. All members must have an Aku's Mark.)</font><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TautiExtreme">"I'm not scared. Let's do this."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Maybe tomorrow."</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Aku:<br>
You want to know about <font color="LEVEL">Petras</font>? Hee! Is it story time, dingbat? <font color="LEVEL">Petra</font> is our bio-energy. We consume <font color="LEVEL">them</font> for extra power at times of need. Hee!<br>
The <font color="LEVEL">Petra</font> from <font color="LEVEL">Jahak</font>, who have been training for a long time, have better chance of being <font color="LEVEL">Top Quality Petra</font>. Not always, though You find dingbats among them too sometimes, hee!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Thanks."</button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Aku:<br>
What? I'm busy! Go away, dingbat!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"I would like to see Lord Tauti."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 2">"About those Petras..."</button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Communications Assistant:<br>
Thanks for the help!<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Aku's Minion:<br>Hmm? What's up? <br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">"Got any work for me?"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ferguson:<br>
<font color="LEVEL">Petra</font> is a biological energy that emanates from <font color="LEVEL">Sopha</font> inside the <font color="LEVEL">Seed of Hellfire</font>! That's all I know for now.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Ferguson:<br>
The <font color="LEVEL">Seed of Hellfire</font> is too bleak even for a dwarf like me. Good times should come soon though, I hope.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"Tell me about Petra."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 33681">"I'd like to exchange a bottle and soul bracelet for an improved bracelet."</button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Zahak's Petra:<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h item_%itemId%_Quest Q00756_TopQualityPetra">Open zahak's Petra</Button>
</body></html>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd">
<npcs>
<npc>33681</npc> <!-- Fergason -->
</npcs>
<item>
<!-- Bottle of Tauti's Soul -->
<ingredient count="1" id="35295" />
<!-- Tauti's Bracelet -->
<ingredient count="1" id="35293" />
<!-- Enhanced Tauti's Bracelet -->
<production count="1" id="35294" />
</item>
</list>

View File

@@ -0,0 +1,185 @@
/*
* 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.Q00754_AssistingTheRebelForces;
import com.l2jmobius.gameserver.enums.QuestType;
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.network.serverpackets.ExQuestNpcLogList;
import com.l2jmobius.gameserver.util.Util;
/**
* @hlwrave
*/
public class Q00754_AssistingTheRebelForces extends Quest
{
// Items
private static final int REBEL_SUPPLY_BOX = 35549;
private static final int MARK_OF_RESISTANCE = 34909;
// Npcs
private static final int SIZRAK = 33669;
private static final int COMMUNICATION = 33676;
// Monsters
private static final int KUNDA_GUARDIAN = 23224;
private static final int KUNDA_BERSERKER = 23225;
private static final int KUNDA_EXECUTOR = 23226;
// Misc
private static final int MIN_LEVEL = 97;
private static final int KUNDA_GUARDIAN_KILL = 5;
private static final int KUNDA_BERSERKER_KILL = 5;
private static final int KUNDA_EXECUTOR_KILL = 5;
public Q00754_AssistingTheRebelForces()
{
super(754, Q00754_AssistingTheRebelForces.class.getSimpleName(), "Assisting The Rebel Forces");
addStartNpc(SIZRAK);
addTalkId(SIZRAK, COMMUNICATION);
addKillId(KUNDA_GUARDIAN, KUNDA_BERSERKER, KUNDA_EXECUTOR);
addCondMinLevel(MIN_LEVEL, "sofa_sizraku_q0754_05.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
if (event.equals("quest_accpted.htm"))
{
qs.startQuest();
qs.set(Integer.toString(KUNDA_GUARDIAN), 0);
qs.set(Integer.toString(KUNDA_BERSERKER), 0);
qs.set(Integer.toString(KUNDA_EXECUTOR), 0);
htmltext = "sofa_sizraku_q0754_04.htm";
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (npc.getId())
{
case SIZRAK:
{
if (qs.isCreated())
{
htmltext = "sofa_sizraku_q0754_01.htm";
}
else if (qs.isCond(0))
{
htmltext = "sofa_sizraku_q0754_03.htm";
}
else if (qs.isCond(1))
{
htmltext = "sofa_sizraku_q0754_07.htm";
}
else if (qs.isCond(2))
{
qs.addExpAndSp(570676680, 261024840);
qs.giveItems(REBEL_SUPPLY_BOX, 1);
qs.giveItems(MARK_OF_RESISTANCE, 1);
qs.exitQuest(QuestType.DAILY, true);
htmltext = "sofa_sizraku_q0754_08.htm";
}
else if (qs.isCompleted())
{
htmltext = "sofa_sizraku_q0754_06.htm";
}
break;
}
case COMMUNICATION:
{
if (qs.isCond(2))
{
qs.getPlayer().addExpAndSp(570676680, 261024840);
qs.giveItems(REBEL_SUPPLY_BOX, 1);
qs.giveItems(MARK_OF_RESISTANCE, 1);
qs.exitQuest(QuestType.DAILY, true);
htmltext = "sofa_sizraku_q0754_08.htm";
}
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.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
{
switch (npc.getId())
{
case KUNDA_GUARDIAN:
{
int kills = qs.getInt(Integer.toString(KUNDA_GUARDIAN));
if (kills < KUNDA_GUARDIAN_KILL)
{
kills++;
qs.set(Integer.toString(KUNDA_GUARDIAN), kills);
}
break;
}
case KUNDA_BERSERKER:
{
int kills = qs.getInt(Integer.toString(KUNDA_BERSERKER));
if (kills < KUNDA_BERSERKER_KILL)
{
kills++;
qs.set(Integer.toString(KUNDA_BERSERKER), kills);
}
break;
}
case KUNDA_EXECUTOR:
{
int kills = qs.getInt(Integer.toString(KUNDA_EXECUTOR));
if (kills < KUNDA_EXECUTOR_KILL)
{
kills++;
qs.set(Integer.toString(KUNDA_EXECUTOR), kills);
}
break;
}
}
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
log.addNpc(KUNDA_GUARDIAN, qs.getInt(Integer.toString(KUNDA_GUARDIAN)));
log.addNpc(KUNDA_BERSERKER, qs.getInt(Integer.toString(KUNDA_BERSERKER)));
log.addNpc(KUNDA_EXECUTOR, qs.getInt(Integer.toString(KUNDA_EXECUTOR)));
killer.sendPacket(log);
if ((qs.getInt(Integer.toString(KUNDA_GUARDIAN)) >= KUNDA_GUARDIAN_KILL) && (qs.getInt(Integer.toString(KUNDA_BERSERKER)) >= KUNDA_BERSERKER_KILL) && (qs.getInt(Integer.toString(KUNDA_EXECUTOR)) >= KUNDA_EXECUTOR_KILL))
{
qs.setCond(2);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -0,0 +1,5 @@
<html><body>Sizrak:<br>
You must already know that we are fighting to drive <font color="LEVEL">Tauti</font> and his minions out.<br>
Have you come to help?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00754_AssistingTheRebelForces sofa_sizraku_q0754_03.htm">"I have."</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Sizrak:<br>
We're driving <font color="LEVEL">Tauti</font> out, but the fight is not an easy one.<br>
Will you lend us your sword? <br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h menu_select?ask=0754&reply=1">"I will!"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
Excellent! Go to <font color="LEVEL">Seed of Hellfire Level 2</font> and kill <font color="LEVEL">Kundas</font>. Our people... they haven't had much success there. Perhaps your luck is different.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00754_AssistingTheRebelForces quest_accpted.htm">"I'm sure it will be."</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Sizrak:<br>
Your confidence is heartening.<br>
You can find the <font color="LEVEL">Kunda</font> at the <font color="LEVEL">Seed of Hellfire Level 2</font>. Go there and kill <font color="LEVEL">5</font> of <font color="LEVEL">Kunda's Guardians</font>, <font color="LEVEL">Kunda's Berserkers</font> and <font color="LEVEL">Kunda's Executors</font>. Five each.<br>
If it is too much trouble to return here, then report back to my <font color="LEVEL">Communications Assistants</font>. They are authorized to speak on my behalf.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
Hmm... I think not. You can't help us at the moment.<br>
(You must be level 97 or above to start this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
I think that's enough for today. Come back tomorrow.<br>
(You can only do this quest once a day. This quest resets at 6:30 AM.)
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Sizrak:<br>
You can find Kundas at the <font color="LEVEL">Seed of Hellfire Level 2</font>. Go now, and with our highest hopes.<br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Sizrak:<br>
Astounding! This is a great help to our cause! I think you have done enough for us today, but if you wish to return tomorrow, you will always be welcome here!<br>
</body></html>

View File

@@ -0,0 +1,134 @@
/*
* 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.Q00755_InNeedOfPetras;
import com.l2jmobius.gameserver.enums.QuestType;
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;
/**
* @hlwrave
*/
public class Q00755_InNeedOfPetras extends Quest
{
// NPCs
private static final int AKU = 33671;
// Monsters
private static final int[] MONSTERS =
{
23213,
23214,
23227,
23228,
23229,
23230,
23215,
23216,
23217,
23218,
23231,
23232,
23233,
23234,
23237,
23219
};
// Items
private static final int AKUS_SUPPLY_BOX = 35550;
private static final int ENERGY_OF_DESTRUCTION = 35562;
private static final int PETRA = 34959;
// Other
private static final int MIN_LEVEL = 97;
public Q00755_InNeedOfPetras()
{
super(755, Q00755_InNeedOfPetras.class.getSimpleName(), "In Need Of Petras");
addStartNpc(AKU);
addTalkId(AKU);
addKillId(MONSTERS);
registerQuestItems(PETRA);
addCondMinLevel(MIN_LEVEL, "sofa_aku_q0755_05.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
if (event.equals("sofa_aku_q0755_04.htm"))
{
qs.startQuest();
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated())
{
htmltext = "sofa_aku_q0755_01.htm";
}
else if (qs.isStarted())
{
if (qs.isCond(1))
{
htmltext = "sofa_aku_q0755_07.htm";
}
else if (qs.isCond(2))
{
qs.takeItems(PETRA, -1L);
qs.addExpAndSp(570676680, 26102484);
qs.giveItems(AKUS_SUPPLY_BOX, 1);
qs.giveItems(ENERGY_OF_DESTRUCTION, 1);
qs.exitQuest(QuestType.DAILY, true);
htmltext = "sofa_aku_q0755_08.htm";
}
}
else if (qs.isCompleted())
{
htmltext = "sofa_aku_q0755_06.htm";
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1) && qs.isStarted())
{
if (giveItemRandomly(killer, npc, PETRA, 1, 50, 0.75, true))
{
qs.setCond(2);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
Hmm? Oh, it's you! I'm so glad you are here. Could you collect <font color="LEVEL">Petra</font> for me again?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00755_InNeedOfPetras sofa_aku_q0755_03.htm">"Sure."</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
I'm collecting <font color="LEVEL">Petra</font> right now, and I need help. You look like you need something to do, hee! <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00755_InNeedOfPetras sofa_aku_q0755_03.htm">"Sure, I'll help."</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
Hee, hat's what I like to hear! Go to <font color="LEVEL">Seed of Hellfire</font> and kill the Zofans. They carry the <font color="LEVEL">Petra</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00755_InNeedOfPetras sofa_aku_q0755_04.htm">"Here I go!"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
You can collect <font color="LEVEL">Petra</font> by killing <font color="LEVEL">Beggar Zofan</font>, <font color="LEVEL">Zofan</font>, <font color="LEVEL">Young Zofan</font> and <font color="LEVEL">Engineer Zofan</font>. <font color="LEVEL">50</font> should do it, hee!<br>
Oh yes! You can also give them to <font color="LEVEL">Aku's Minions</font> if it's too hard to bring <font color="LEVEL">Petras</font> all the way back here.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
Hee! You can't help, you dingbat!<br>
(You must be level 97 or above.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
That's as much as I can hold, hee! Let's do this again tomorrow.<br>
(You can only do this quest once a day. This quest is reset everyday at 6:30 AM.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
What? This isn't enough, you dingbat! Bring me more!<br>
You can collect <font color="LEVEL">Petra</font> by killing <font color="LEVEL">Beggar Zofan</font>, <font color="LEVEL">Zofan</font>, <font color="LEVEL">Young Zofan</font> and <font color="LEVEL">Engineer Zofan</font>. Hee!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Aku:<br>
Hee! That's as much as I can take for today. Let's do this again tomorrow!<br>
</body></html>

View File

@@ -0,0 +1,133 @@
/*
* 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.Q00756_TopQualityPetra;
import com.l2jmobius.gameserver.enums.QuestType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
/**
* @hlwrave
*/
public class Q00756_TopQualityPetra extends Quest
{
// Npcs
private final int AKU = 33671;
// Items
private final int AKU_MARK = 34910;
private final int TOP_QUALITY_PETRA = 35703;
private final int ZAHAK_PETRA = 35702;
// Other
private static final int MIN_LEVEL = 97;
public Q00756_TopQualityPetra()
{
super(756, Q00756_TopQualityPetra.class.getSimpleName(), "Top Quality Petra");
addTalkId(AKU);
addItemTalkId(ZAHAK_PETRA);
registerQuestItems(TOP_QUALITY_PETRA);
addCondMinLevel(MIN_LEVEL, "sofa_aku_q0755_05.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
final QuestState qs = getQuestState(player, false);
switch (event)
{
case "petra_of_zahaq_q0756_03.htm":
{
qs.startQuest();
qs.takeItems(ZAHAK_PETRA, 1);
qs.giveItems(TOP_QUALITY_PETRA, 1);
}
case "sofa_aku_q0756_02.htm":
{
qs.takeItems(TOP_QUALITY_PETRA, -1);
qs.addExpAndSp(570676680, 26102484);
qs.giveItems(AKU_MARK, 1);
qs.exitQuest(QuestType.DAILY, true);
}
}
return htmltext;
}
@Override
public String onItemTalk(L2ItemInstance item, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
boolean startQuest = false;
switch (qs.getState())
{
case State.CREATED:
{
startQuest = true;
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
startQuest = true;
}
break;
}
}
if (startQuest)
{
if (player.getLevel() >= MIN_LEVEL)
{
qs.startQuest();
qs.takeItems(ZAHAK_PETRA, 1);
qs.giveItems(TOP_QUALITY_PETRA, 1);
htmltext = "petra_of_zahaq_q0756_03.htm";
}
else
{
htmltext = "petra_of_zahaq_q0756_02.htm";
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCond(1) && qs.hasQuestItems(TOP_QUALITY_PETRA))
{
htmltext = "sofa_aku_q0756_01.htm";
}
else
{
htmltext = "sofa_aku_q0756_03.htm";
}
return htmltext;
}
}

View File

@@ -0,0 +1,2 @@
<html><body>You do not yet meet the conditions for this quest.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>(You need permission to confront Petra.)<br>
(This quest is for level 97 or above.)
</body></html>

View File

@@ -0,0 +1,2 @@
<html><body>(<font color="LEVEL">Jahak's Petra</font> is more powerful than expected. Take this <font color="LEVEL">Top Quality Petra</font> to <font color="LEVEL">Aku</font>, though it's probably best not to mention <font color="LEVEL">Jahak</font>.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
Hee! You can't help, you dingbat!<br>
(You must be level 97 or above.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
Ooh! This Petra is delightful! Where did you get such high-quality stuff?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00756_TopQualityPetra sofa_aku_q0756_02.htm">"Uh, from the Zofans?"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
Ooh, yes? Well, that is rare! But this is fine enough for Lord Tauti himself...<br>
Hee! If you find a <font color="LEVEL">Top Quality Petra</font> like this one again, make sure you bring it to me!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Aku:<br>
You do not yet meet the conditions for this quest.<br>
</body></html>

View File

@@ -0,0 +1,131 @@
/*
* 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.Q10381_ToTheSeedOfHellfire;
import com.l2jmobius.gameserver.enums.QuestType;
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;
/**
* @hlwrave
*/
public class Q10381_ToTheSeedOfHellfire extends Quest
{
// NPCS
private static final int KEUCEREUS = 32548;
private static final int KBALDIR = 32733;
private static final int SIZRAK = 33669;
// Items
private static final int KBALDIRS_LETTER = 34957;
// Misc
private static final int MIN_LEVEL = 97;
public Q10381_ToTheSeedOfHellfire()
{
super(10381, Q10381_ToTheSeedOfHellfire.class.getSimpleName(), "To the Seed of Hellfire");
addStartNpc(KEUCEREUS);
addTalkId(KEUCEREUS, KBALDIR, SIZRAK);
registerQuestItems(KBALDIRS_LETTER);
addCondMinLevel(MIN_LEVEL, "kserth_q10381_04.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
switch (event)
{
case "kserth_q10381_03.htm":
{
qs.startQuest();
break;
}
case "kbarldire_q10381_03.htm":
{
qs.setCond(2);
qs.giveItems(KBALDIRS_LETTER, 1);
break;
}
case "sofa_sizraku_q10381_03.htm":
{
qs.takeItems(KBALDIRS_LETTER, -1);
qs.addExpAndSp(951127800, 435041400);
qs.giveItems(57, 3256740);
qs.exitQuest(QuestType.ONE_TIME, true);
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (npc.getId())
{
case KEUCEREUS:
{
if (qs.isCreated())
{
htmltext = "kserth_q10381_01.htm";
}
else if (qs.isStarted())
{
htmltext = "kserth_q10381_06.htm";
}
else if (qs.isCompleted())
{
htmltext = "kserth_q10381_05.htm";
}
break;
}
case KBALDIR:
{
if (qs.isCond(1))
{
htmltext = "kbarldire_q10381_01.htm";
}
else if (qs.isCond(2))
{
htmltext = "kbarldire_q10381_04.htm";
}
break;
}
case SIZRAK:
{
if (qs.isCond(2))
{
htmltext = "sofa_sizraku_q10381_01.htm";
}
break;
}
}
return htmltext;
}
}

View File

@@ -0,0 +1,4 @@
<html><body>Commander Kbaldir:<br>
It's you! I've been waiting for you. Right now the insurgent force is secretly working in the <font color="LEVEL">Seed of Hellfire</font>. But they could use your help, if you were willing to give it.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10381_ToTheSeedOfHellfire kbarldire_q10381_02.htm">"Always."</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Commander Kbaldir:<br>
Alright!<br>
To get to the <font color="LEVEL">Seed of Hellfire</font>, use a <font color="LEVEL">Flight Device</font>. The nearest <font color="LEVEL">device</font> can be found <font color="LEVEL">by following the road behind me and turning left</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10381_ToTheSeedOfHellfire kbarldire_q10381_03.htm">"Got it."</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Commander Kbaldir:<br>
Good. Now hurry and leave for the <font color="LEVEL">Seed of Hellfire</font>. Once there, find <font color="LEVEL">Sizrak</font>. He's a member of the Insurgent force, and will tell you what needs doing.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Commander Kbaldir:<br>
Huh? Why haven't you left for the <font color="LEVEL">Seed of Hellfire</font> yet?<br>
Remember, to get to the <font color="LEVEL">Seed of Hellfire</font>, use a <font color="LEVEL">Flight Device</font>. The nearest <font color="LEVEL">device</font> can be found <font color="LEVEL">by following the road behind me and turning left.</font>.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Admiral Keucereus:<br>
I have to urgently send a person to the <font color="LEVEL">Seed of Hellfire</font>, but I guess there is nobody except you who I can trust.<br>
Could you go there?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10381_ToTheSeedOfHellfire kserth_q10381_02.htm">"Yes, of course!"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Admiral Keucereus:<br>
Well answered! Go and see <font color="LEVEL">Commander Kbaldir</font>. He will not only tell you how to go to the <font color="LEVEL">Seed of Hellfire</font>, but also briefly tell you about the situation over there.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10381_ToTheSeedOfHellfire kserth_q10381_03.htm">"I understand."</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Admiral Keucereus:<br>
<font color="LEVEL">Commander Kbaldir</font> is in this <font color="LEVEL">Keucereus Alliance Base</font>. Hurry to him!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Admiral Keucereus:<br>
I'm sorry but I cannot send you there now that I saw your skills. I don't want any more blood on my hands.<br>
(You must be level 97 or above to start this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Admiral Keucereus:<br>
Rest up, friend. You have done well.<br>
(You have already completed this quest.)
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Admiral Keucereus:<br>
Huh? Haven't you left for the <font color="LEVEL">Seed of Hellfire</font> yet? Hurry and go find <font color="LEVEL">Commander Kbaldir</font>. He will tell you how to go to the <font color="LEVEL">Seed of Hellfire</font>.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
Hmm? Do I know you? I'm sorry, I'm busy here and I don't have time for conversation. What? <font color="LEVEL">Keucereus Alliance Base</font> sent you?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10381_ToTheSeedOfHellfire sofa_sizraku_q10381_02.htm">"I have a letter from Kbaldir."</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Sizrak:<br>
Do you mind waiting while I read it?<br>
To be honest, I didn't expect <font color="LEVEL">Keucereus Alliance Base</font> to respond to my request for help. Did you come alone?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10381_ToTheSeedOfHellfire sofa_sizraku_q10381_03.htm">"I am just the vanguard."</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Sizrak:<br>
Hmm... The vanguard of what, I wonder. Well, perhaps you can help us drive <font color="LEVEL">Tauti</font> out... We've had enough trouble with this already, so more blades will be appreciated.
</body></html>

View File

@@ -0,0 +1,128 @@
/*
* 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.Q10382_DayOfLiberation;
import com.l2jmobius.gameserver.enums.QuestType;
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.network.serverpackets.ExQuestNpcLogList;
import com.l2jmobius.gameserver.util.Util;
import quests.Q10381_ToTheSeedOfHellfire.Q10381_ToTheSeedOfHellfire;
/**
* @hlwrave
*/
public class Q10382_DayOfLiberation extends Quest
{
// NPCs
private static final int SIZRAK = 33669;
private static final int TAUTI = 29236;
// Items
private static final int TAUTIS_BRACELET = 35293;
// Misc
private static final int MIN_LEVEL = 97;
public Q10382_DayOfLiberation()
{
super(10382, Q10382_DayOfLiberation.class.getSimpleName(), "Day of Liberation");
addStartNpc(SIZRAK);
addTalkId(SIZRAK);
addKillId(TAUTI);
addCondMinLevel(MIN_LEVEL, "sofa_sizraku_q10382_04.htm");
addCondCompletedQuest(Q10381_ToTheSeedOfHellfire.class.getSimpleName(), "sofa_sizraku_q10382_05.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
switch (event)
{
case "sofa_sizraku_q10382_03.htm":
{
qs.setCond(1);
qs.startQuest();
qs.set(Integer.toString(TAUTI), 0);
break;
}
case "sofa_sizraku_q10382_10.htm":
{
qs.addExpAndSp(951127800, 435041400);
qs.giveItems(57, 3256740);
qs.giveItems(TAUTIS_BRACELET, 1);
qs.exitQuest(QuestType.ONE_TIME, true);
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (npc.getId())
{
case SIZRAK:
{
if (qs.isCreated())
{
htmltext = "sofa_sizraku_q10382_01.htm";
}
else if (qs.isStarted())
{
if (qs.isCond(1))
{
htmltext = "sofa_sizraku_q10382_07.htm";
}
else if (qs.isCond(2))
{
htmltext = "sofa_sizraku_q10382_08.htm";
}
}
else if (qs.isCompleted())
{
htmltext = "sofa_sizraku_q10382_06.htm";
}
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(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
{
qs.setCond(2);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -0,0 +1,5 @@
<html><body>Sizrak:<br>
Now is the time! Go to the <font color="LEVEL">Temple of Tauti</font> and drive <font color="LEVEL">Tauti</font> and his minions out! For the freedom of the <font color="LEVEL">Seed of Hellfire</font>!<br>
Will you fight <font color="LEVEL">Tauti</font> with us?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10382_DayOfLiberation sofa_sizraku_q10382_02.htm">"My blade is at your command!"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
Good! I will send out the orders. You rally your people--if they exist--and collect <font color="LEVEL">Mark of the Resistance</font>. You'll need them to get into the <font color="LEVEL">Temple of Tauti</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10382_DayOfLiberation sofa_sizraku_q10382_03.htm">"I got it."</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Sizrak:<br>
Once you and your troops are prepared, come to me. I will send you there.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
I'm not sure if we should trust you yet. Perhaps later.<br>
(This quest is for players level 97 or above.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
Hmm? Who are you? You came from <font color="LEVEL">Keucereus Alliance Base</font>? Do you have any recommendation? Or, for that matter, proof of who you are? <br>
(You haven't finished the prerequisite quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
Thanks to your help, our burden is lightened. We are grateful.<br>
(You have already finished the quest.)
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Sizrak<br>
You have the <font color="LEVEL">Mark of the Resistance</font>? Then I shall send you to the <font color="LEVEL">Temple of Tauti</font>, if you are prepared.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
<font color="LEVEL">Tauti</font> is on the run! You are our savior!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10382_DayOfLiberation sofa_sizraku_q10382_09.htm">"How did your men fare?"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
Many lives were lost, but their sacrifice was not in vain.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10382_DayOfLiberation sofa_sizraku_q10382_10.htm">"Indeed, it was not."</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Sizrak:<br>
This is our independence day. We will remember your role in this!
</body></html>

View File

@@ -0,0 +1,165 @@
/*
* 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.Q10383_FergasonsOffer;
import com.l2jmobius.gameserver.enums.QuestType;
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 quests.Q10381_ToTheSeedOfHellfire.Q10381_ToTheSeedOfHellfire;
/**
* @hlwrave
*/
public class Q10383_FergasonsOffer extends Quest
{
// NPCs
private static final int SIZRAK = 33669;
private static final int AKU = 33671;
private static final int FERGASON = 33681;
// Monsters
private static final int[] MONSTERS =
{
23213,
23214,
23215,
23216,
23217,
23218,
23219
};
// Item
private static final int UNSTABLE_PETRA = 34958;
// Misc
private static final int MIN_LEVEL = 97;
public Q10383_FergasonsOffer()
{
super(10383, Q10383_FergasonsOffer.class.getSimpleName(), "Fergasons Offer");
addStartNpc(SIZRAK);
addTalkId(SIZRAK, AKU, FERGASON);
addKillId(MONSTERS);
registerQuestItems(UNSTABLE_PETRA);
addCondMinLevel(MIN_LEVEL, "sofa_sizraku_q10383_04.htm");
addCondCompletedQuest(Q10381_ToTheSeedOfHellfire.class.getSimpleName(), "sofa_sizraku_q10383_07.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
switch (event)
{
case "sofa_sizraku_q10383_03.htm":
{
qs.startQuest();
break;
}
case "maestro_ferguson_q10383_04.htm":
{
qs.setCond(2);
break;
}
case "sofa_aku_q10383_03.htm":
{
qs.takeItems(UNSTABLE_PETRA, -1L);
qs.addExpAndSp(951127800, 435041400);
qs.giveItems(57, 3256740);
qs.exitQuest(QuestType.ONE_TIME, true);
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (npc.getId())
{
case SIZRAK:
{
if (qs.isCreated())
{
htmltext = "sofa_sizraku_q10383_01.htm";
}
else if (qs.isStarted())
{
htmltext = "sofa_sizraku_q10383_06.htm";
}
else if (qs.isCompleted())
{
htmltext = "sofa_sizraku_q10383_05.htm";
}
break;
}
case FERGASON:
{
if (qs.isCond(1))
{
htmltext = "maestro_ferguson_q10383_01.htm";
}
else if (qs.isCond(2))
{
htmltext = "maestro_ferguson_q10383_05.htm";
}
break;
}
case AKU:
{
if (qs.isCond(1))
{
htmltext = "sofa_aku_q10383_01.htm";
}
else if (qs.isCond(3))
{
htmltext = "sofa_aku_q10383_02.htm";
}
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(2) && qs.isStarted())
{
if (giveItemRandomly(killer, npc, UNSTABLE_PETRA, 1, 20, 0.75, true))
{
qs.setCond(3);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -0,0 +1,4 @@
<html><body>Fergason:<br>
You're the outsider that <font color="LEVEL">Sizrak</font> was talking about. It's good to meet you. My name is <font color="LEVEL">Fergason</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10383_FergasonsOffer maestro_ferguson_q10383_02.htm">"Why are you here?"</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Fergason:<br>
I came here because I heard the rumor about <font color="LEVEL">Tauti</font> living here. I'm not sure if you know, but <font color="LEVEL">Tauti</font> is one of <font color="LEVEL">Bremnon's</font> weapons, and a brother to <font color="LEVEL">Demonic Sword Zariche</font>. <br>
To catch a glimpse of such a creature... not many have that honor.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10383_FergasonsOffer maestro_ferguson_q10383_03.htm">"Can you actually help with this quest?"</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Fergason:<br>
Yes! Of course! What you need to do is collect <font color="LEVEL">Petra</font> and deliver them to <font color="LEVEL">Aku</font>.<br>
<font color="LEVEL">Petra</font> is a biological energy that emanates from <font color="LEVEL">Zofan</font>, found in the <font color="LEVEL">Seed of Hellfire</font>. <font color="LEVEL">Aku</font> is collecting them, and if you help him, he will arrange a meeting with <font color="LEVEL">Tauti</font>.What do you think? Will you try?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10383_FergasonsOffer maestro_ferguson_q10383_04.htm">"Uh. Sure."</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fergason:<br>
Good! Now, to get <font color="LEVEL">Petra</font>, you must defeat <font color="LEVEL">Beggar Zofan</font>, <font color="LEVEL">Zofan</font>, <font color="LEVEL">Young Zofan</font> and <font color="LEVEL">Engineer Zofan</font>, and take their Petras away. Then you must deliver <font color="LEVEL">20</font> <font color="LEVEL">Unstable Petras</font> to <font color="LEVEL">Aku</font> located on the <font color="LEVEL">1st floor of the Seed of Hellfire in the Southern District</font>.<br>
And one more thing! You can go to the <font color="LEVEL">1st floor of the Seed of Hellfire in the Southern District</font> through <font color="LEVEL">Transportation Assistant</font>!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fergason:<br>
To get <font color="LEVEL">Petra</font>, you must defeat <font color="LEVEL">Beggar Zofan</font>, <font color="LEVEL">Zofan</font>, <font color="LEVEL">Young Zofan</font> and <font color="LEVEL">Engineer Zofan</font>, and take their Petras away. Then you must deliver <font color="LEVEL">20</font> <font color="LEVEL">Unstable Petras</font> to <font color="LEVEL">Aku</font> located on the <font color="LEVEL">1st floor of the Seed of Hellfire in the Southern District</font>.<br>
And one more thing! You can go to the <font color="LEVEL">1st floor of the Seed of Hellfire in the Southern District</font> through <font color="LEVEL">Transportation Assistant</font>!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Aku:<br>
Ooh, more <font color="LEVEL">Petra</font>? Hee, that's not enough, dingbat! Talk to me when you have more!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
Hee, this <font color="LEVEL">Petra</font> is all you could find? And what? You want to see <font color="LEVEL">Lord Tauti</font>? Dingbat!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10383_FergasonsOffer sofa_aku_q10383_03.htm">"Wait, that's not fair!"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
Hee! Fair! Fair is a <font color="LEVEL">Top Quality Petra</font>, and that is all! Then I will give you <font color="LEVEL">Aku's Mark</font>. <br>
Once you collect enough <font color="LEVEL">Aku's Mark</font>, then you can ask to see <font color="LEVEL">Lord Tauti</font>. Dingbat!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
I talked to <font color="LEVEL">Fergason</font>, and he seemed to be interested in meeting you. How about it?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10383_FergasonsOffer sofa_sizraku_q10383_02.htm">"Who is Fergason?"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
He's an outsider, like you, who's given us help He has forged our weapon and refused our pay. He is a true comrade! Go to him.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10383_FergasonsOffer sofa_sizraku_q10383_03.htm">"I think I might."</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Sizrak:<br>
<font color="LEVEL">Fergason</font> is here in the <font color="LEVEL">Seed of Hellfire</font>. You'll find him easily enough.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
Hmm... I think not. You can't help us at the moment.<br>
(This quest is for players level 97 or above.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
You have done great things for us, comrade.<br>
(You have already finished the quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
You haven't met <font color="LEVEL">Fergason</font> yet?<br>
He's right here in the <font color="LEVEL">Seed of Hellfire</font>. You'll find him easily enough.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Sizrak:<br>
Who are you? You came from <font color="LEVEL">Keucereus Alliance Base</font>? Do you have some sort of proof? Why should I trust you?<br>
(You haven't finished the prerequisite quest.)
</body></html>

View File

@@ -0,0 +1,145 @@
/*
* 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.Q10384_AnAudienceWithTauti;
import com.l2jmobius.gameserver.enums.QuestType;
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 quests.Q10383_FergasonsOffer.Q10383_FergasonsOffer;
/**
* @hlwrave
*/
public class Q10384_AnAudienceWithTauti extends Quest
{
// NPCs
private static final int FERGASON = 33681;
private static final int AKU = 33671;
// Monsters
private static final int TAUTI = 29237;
// Items
private static final int TAUTIS_FRAGMENT = 34960;
private static final int BOTTLE_OF_TAUTIS_SOUL = 35295;
// Misc
private static final int MIN_LEVEL = 97;
public Q10384_AnAudienceWithTauti()
{
super(10384, Q10384_AnAudienceWithTauti.class.getSimpleName(), "An Audience With Tauti");
addStartNpc(FERGASON);
addTalkId(FERGASON, AKU);
addKillId(TAUTI);
registerQuestItems(TAUTIS_FRAGMENT);
addCondMinLevel(MIN_LEVEL, "maestro_ferguson_q10384_05.htm");
addCondCompletedQuest(Q10383_FergasonsOffer.class.getSimpleName(), "maestro_ferguson_q10384_06.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
switch (event)
{
case "maestro_ferguson_q10384_04.htm":
{
qs.startQuest();
break;
}
case "sofa_aku_q10384_02.htm":
{
qs.setCond(2);
break;
}
case "maestro_ferguson_q10384_11.htm":
{
qs.addExpAndSp(951127800, 435041400);
qs.giveItems(57, 3256740);
qs.giveItems(BOTTLE_OF_TAUTIS_SOUL, 1);
qs.exitQuest(QuestType.ONE_TIME, true);
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (npc.getId())
{
case FERGASON:
{
if (qs.isCreated())
{
htmltext = "maestro_ferguson_q10384_01.htm";
}
else if (qs.isStarted())
{
if (qs.isCond(1) || qs.isCond(2))
{
htmltext = "maestro_ferguson_q10384_08.htm";
}
else if (qs.isCond(3) && qs.hasQuestItems(TAUTIS_FRAGMENT))
{
htmltext = "maestro_ferguson_q10384_09.htm";
}
}
else if (qs.isCompleted())
{
htmltext = "maestro_ferguson_q10384_07.htm";
}
break;
}
case AKU:
{
if (qs.isStarted())
{
htmltext = "sofa_aku_q10384_01.htm";
}
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(2))
{
qs.setCond(3);
qs.giveItems(TAUTIS_FRAGMENT, 1);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -0,0 +1,4 @@
<html><body>Ferguson:<br>
How have you been? Are you getting on with <font color="LEVEL">Aku</font><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10384_AnAudienceWithTauti maestro_ferguson_q10384_02.htm">"Well enough."</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ferguson:<br>
Remember, he's the key to meeting <font color="LEVEL">Tauti</font>! That's the most important thing.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10384_AnAudienceWithTauti maestro_ferguson_q10384_03.htm">"I know, I know."</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ferguson:<br>
Well then, if you do meet <font color="LEVEL">Tauti</font>, please bring me <font color="LEVEL">1</font> of <font color="LEVEL">Tauti's Fragment</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10384_AnAudienceWithTauti maestro_ferguson_q10384_04.htm">"No problem!"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fergason:<br>
You need something called <font color="LEVEL">Aku's Mark</font> in order to meet <font color="LEVEL">Tauti</font> through <font color="LEVEL">Aku</font>. I think you should have collected enough number of these. So you should be okay, right? <br>
Don't forget. Kill <font color="LEVEL">Tauti</font> and bring <font color="LEVEL">1</font> <font color="LEVEL">Tauti's Fragment</font> to me.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fergason:<br>
Hm... You're much too weak for this quest!<br>
(You must be level 97 or above to start this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ferguson:<br>
Huh? Do we know each other?<br>
(You have not completed the prerequisite quests.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ferguson:<br>
Hehe. Now I think I can create the best weapons! Hahahah!<br>
(You have already completed this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ferguson:<br>
You need something called <font color="LEVEL">Aku's Mark</font> in order to meet <font color="LEVEL">Tauti</font> through <font color="LEVEL">Aku</font>. I think you should have collected enough number of these. So you should be okay, right? <br>
Don't forget. Kill <font color="LEVEL">Tauti</font> and bring <font color="LEVEL">1</font> <font color="LEVEL">Tauti's Fragment</font> to me.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ferguson:<br>
Hahaha! Finally I get the <font color="LEVEL">Tauti's Fragment</font>!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10384_AnAudienceWithTauti maestro_ferguson_q10384_10.htm">"What are you going to do with it?"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fergason:<br>
Create the greatest weapon ever made, that's what! These are not simple weapons, but actual living organisms! I have been searching through <font color="LEVEL">Aden</font> for years now, looking for materials like these <font color="LEVEL">Tauti's Fragments</font>! And finally, I have one!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10384_AnAudienceWithTauti maestro_ferguson_q10384_11.htm">"You should... sleep a bit."</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Fergason:<br>
Hahaha! No! No sleep for me! Wasted hours! Could be spent crafting! Hahahaha!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
Oh, you want to see <font color="LEVEL">Lord Tauti</font>? Hee, okay, I will give you the chance. <font color="LEVEL">Lord Tauti</font> seemed to be interested in you too, after all those <font color="LEVEL">Petras.</font><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10384_AnAudienceWithTauti sofa_aku_q10384_02.htm">"Send me, please!"</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aku:<br>
Someone's in a hurry to see <font color="LEVEL">Lord Tauti</font>! You think it's easy, dingbat?<br>
First! Do you have enough <font color="LEVEL">Aku's Mark</font>s? You must be sure! Be sure! Double-check! And then you must politely ask <font color="LEVEL">"I would like to see Lord Tauti."</font>
</body></html>

View File

@@ -168,6 +168,9 @@ import quests.Q00699_GuardianOfTheSkies.Q00699_GuardianOfTheSkies;
import quests.Q00700_CursedLife.Q00700_CursedLife; import quests.Q00700_CursedLife.Q00700_CursedLife;
import quests.Q00701_ProofOfExistence.Q00701_ProofOfExistence; import quests.Q00701_ProofOfExistence.Q00701_ProofOfExistence;
import quests.Q00702_ATrapForRevenge.Q00702_ATrapForRevenge; import quests.Q00702_ATrapForRevenge.Q00702_ATrapForRevenge;
import quests.Q00754_AssistingTheRebelForces.Q00754_AssistingTheRebelForces;
import quests.Q00755_InNeedOfPetras.Q00755_InNeedOfPetras;
import quests.Q00756_TopQualityPetra.Q00756_TopQualityPetra;
import quests.Q00757_TriolsMovement.Q00757_TriolsMovement; import quests.Q00757_TriolsMovement.Q00757_TriolsMovement;
import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade; import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
import quests.Q00902_ReclaimOurEra.Q00902_ReclaimOurEra; import quests.Q00902_ReclaimOurEra.Q00902_ReclaimOurEra;
@@ -224,6 +227,10 @@ import quests.Q10364_ObligationsOfTheSeeker.Q10364_ObligationsOfTheSeeker;
import quests.Q10365_SeekerEscort.Q10365_SeekerEscort; import quests.Q10365_SeekerEscort.Q10365_SeekerEscort;
import quests.Q10366_RuinsStatusUpdate.Q10366_RuinsStatusUpdate; import quests.Q10366_RuinsStatusUpdate.Q10366_RuinsStatusUpdate;
import quests.Q10368_RebellionOfMonsters.Q10368_RebellionOfMonsters; import quests.Q10368_RebellionOfMonsters.Q10368_RebellionOfMonsters;
import quests.Q10381_ToTheSeedOfHellfire.Q10381_ToTheSeedOfHellfire;
import quests.Q10382_DayOfLiberation.Q10382_DayOfLiberation;
import quests.Q10383_FergasonsOffer.Q10383_FergasonsOffer;
import quests.Q10384_AnAudienceWithTauti.Q10384_AnAudienceWithTauti;
import quests.Q10388_ConspiracyBehindDoor.Q10388_ConspiracyBehindDoor; import quests.Q10388_ConspiracyBehindDoor.Q10388_ConspiracyBehindDoor;
import quests.Q10389_TheVoiceOfAuthority.Q10389_TheVoiceOfAuthority; import quests.Q10389_TheVoiceOfAuthority.Q10389_TheVoiceOfAuthority;
import quests.Q10390_KekropusLetter.Q10390_KekropusLetter; import quests.Q10390_KekropusLetter.Q10390_KekropusLetter;
@@ -268,6 +275,7 @@ import quests.Q10764_FreeSpirit.Q10764_FreeSpirit;
import quests.Q10769_LettersFromTheQueen_CrumaTower.Q10769_LettersFromTheQueen_CrumaTower; import quests.Q10769_LettersFromTheQueen_CrumaTower.Q10769_LettersFromTheQueen_CrumaTower;
import quests.Q10782_LettersFromTheQueen_ForsakenPlains.Q10782_LettersFromTheQueen_ForsakenPlains; import quests.Q10782_LettersFromTheQueen_ForsakenPlains.Q10782_LettersFromTheQueen_ForsakenPlains;
/** /**
* @author NosBit * @author NosBit
*/ */
@@ -426,6 +434,9 @@ final class QuestMasterHandler
Q00700_CursedLife.class, Q00700_CursedLife.class,
Q00701_ProofOfExistence.class, Q00701_ProofOfExistence.class,
Q00702_ATrapForRevenge.class, Q00702_ATrapForRevenge.class,
Q00754_AssistingTheRebelForces.class,
Q00755_InNeedOfPetras.class,
Q00756_TopQualityPetra.class,
Q00757_TriolsMovement.class, Q00757_TriolsMovement.class,
Q00901_HowLavasaurusesAreMade.class, Q00901_HowLavasaurusesAreMade.class,
Q00902_ReclaimOurEra.class, Q00902_ReclaimOurEra.class,
@@ -482,6 +493,10 @@ final class QuestMasterHandler
Q10365_SeekerEscort.class, Q10365_SeekerEscort.class,
Q10366_RuinsStatusUpdate.class, Q10366_RuinsStatusUpdate.class,
Q10368_RebellionOfMonsters.class, Q10368_RebellionOfMonsters.class,
Q10381_ToTheSeedOfHellfire.class,
Q10382_DayOfLiberation.class,
Q10383_FergasonsOffer.class,
Q10384_AnAudienceWithTauti.class,
Q10388_ConspiracyBehindDoor.class, Q10388_ConspiracyBehindDoor.class,
Q10389_TheVoiceOfAuthority.class, Q10389_TheVoiceOfAuthority.class,
Q10390_KekropusLetter.class, Q10390_KekropusLetter.class,

View File

@@ -23,9 +23,12 @@
<!-- Petra obtained after defeating Zahak in the Seed of Hellfire. You can find out about the quest by clicking on it. Quest start item. --> <!-- Petra obtained after defeating Zahak in the Seed of Hellfire. You can find out about the quest by clicking on it. Quest start item. -->
<set name="icon" val="icon.etc_torch_on_i00" /> <set name="icon" val="icon.etc_torch_on_i00" />
<set name="default_action" val="START_QUEST" /> <set name="default_action" val="START_QUEST" />
<set name="handler" val="Bypass" />
<set name="immediate_effect" val="true" />
<set name="is_auctionable" val="false" /> <set name="is_auctionable" val="false" />
<set name="is_depositable" val="false" /> <set name="is_depositable" val="false" />
<set name="is_dropable" val="false" /> <set name="is_dropable" val="false" />
<set name="is_oly_restricted" val="true" />
<set name="is_sellable" val="false" /> <set name="is_sellable" val="false" />
<set name="is_tradable" val="false" /> <set name="is_tradable" val="false" />
<set name="material" val="CRYSTAL" /> <set name="material" val="CRYSTAL" />