Addition of quests 569, 682, 10896, 10897 and 10898.

Contributed by Dmitri.
This commit is contained in:
MobiusDevelopment 2020-01-22 01:21:41 +00:00
parent 805668806e
commit 83d72852b0
156 changed files with 2456 additions and 457 deletions

View File

@ -1,6 +1,5 @@
504 Competition for the Bandit Stronghold
568 Special Mission: Nornil's Cave
569 Basic Mission: Seal of Shilen
570 Special Mission: Kartia's Labyrinth (Party)
571 Special Mission: Proof of Unity (Field Raid)
572 Special Mission: Proof of Courage (Field Raid)

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
Do you have something else you need?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 33515-02.html">"How do I go to the Altar of Evil?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Gatekeeper Bella:<br>
Are you here on a mission from the Adventure Guild? I've seen many who are. If so, I'll explain the details.<br>
You'll have to select <font color="LEVEL">Dark Elf Village</font> from the teleport link I give you and go there. The area for an active mission will appear <font color="LEVEL">at the top of the teleport list</font> so it won't be hard to find.<br>
But you have to watch out for one thing.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 33515-03.html">"What's that?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
There's no Gatekeeper in the Dark Elf Village. In the past, there had been a Gatekeeper, however, now, due to a tragic accident, there is only a <font color="LEVEL">Teleport Device</font>.<br>
Anyway, there's no other option. Go and check the missions.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
There's no Gatekeeper in the Dark Elf Village. In the past, there had been a Gatekeeper, however, now, due to a tragic accident, there is only a <font color="LEVEL">Teleport Device</font>.<br>
Anyway, there's no other option. Go and check the missions.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Truth Seeker Devianne:<br>
In order to take on this mission, you must first build more trust with us.<br>
<font color="LEVEL">(Only characters with faction level 5 or above with the Blackbird Clan may undertake this quest.)</font><br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-02.htm">"Sure, no problem!"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Herphah wants you to do some missions, and I'll chose an appropriate mission depending on your relationship with us at the Adventure Guild.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-03.htm">"Go on."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Your mission is to assist with the task at the Altar of Evil. If successful, our Adventure Guild will give you additional rewards on top of the mission payment and your relationship with our faction will grow even stronger.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-04.htm">"Alright."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
You've already leamed everything you need to know about the mission. By that I mean, how to go to the Altar of Evil. You should be able to start the mission right away without further explanation.<br>
But if you want to listen to the explanation again, I'd be happy to tell you.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Good choice. Now, go to <font color="LEVEL">Black Wizard Lapathia</font> at the <font color="LEVEL">Altar of Evil</font> and do the mission that she gives you. When the mission is done, come back to me.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Welcome back! So, did you do a good job?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-07.html">"Yes, I did."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Thanks, you've done a great job! I'm sure eveyone in the Adventure Guild will know your name now. If there is another opportunity, we'd love for you to help us again. Good luck and farewell!
</body></html>

View File

@ -0,0 +1,176 @@
/*
* 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.Q00569_BasicMissionSealOfShilen;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
/**
* Basic Mission: Seal of Shilen (569)
* @URL https://l2wiki.com/Basic_Mission:_Seal_of_Shilen
* @author Dmitri
*/
public class Q00569_BasicMissionSealOfShilen extends Quest
{
// NPCs
private static final int PENNY = 34413;
private static final int GEORGIO = 33515;
// Rewards
private static final int SCROLL_OF_ESCAPE_SEAL_OF_SHILEN = 39504;
private static final int SCROLL_OF_ESCAPE_TOWN_OF_ADEN = 48413;
// Misc
private static final int MIN_LEVEL = 94;
private static final int MAX_LEVEL = 96;
public Q00569_BasicMissionSealOfShilen()
{
super(569);
addStartNpc(PENNY);
addTalkId(PENNY, GEORGIO);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
addFactionLevel(Faction.ADVENTURE_GUILD, 5, "34413-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
case "34413-10.html":
case "33515-02.html":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33515-03.html":
{
qs.setCond(2, true);
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
giveItems(player, SCROLL_OF_ESCAPE_SEAL_OF_SHILEN, 1);
addExpAndSp(player, 731563995, 731550);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 130); // add FP points to ADVENTURE_GUILD Faction
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
return htmltext;
}
@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() == PENNY)
{
htmltext = "34413-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case PENNY:
{
if (qs.getCond() == 1)
{
htmltext = "34413-04.htm";
}
else if (qs.getCond() == 2)
{
htmltext = "34413-05.html";
}
else if (qs.getCond() == 3)
{
htmltext = "34413-06.html";
}
break;
}
case GEORGIO:
{
if (qs.getCond() == 1)
{
htmltext = "33515-01.html";
}
else if (qs.getCond() == 2)
{
final QuestState st = player.getQuestState("Q00493_KickingOutUnwelcomeGuests");
if ((st != null) && st.isCompleted())
{
qs.setCond(3, true);
giveItems(player, SCROLL_OF_ESCAPE_TOWN_OF_ADEN, 1);
htmltext = null;
}
else
{
htmltext = "33515-03.html";
}
}
break;
}
}
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
htmltext = "34413-01.htm";
}
else
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
break;
}
}
return htmltext;
}
}

View File

@ -0,0 +1,4 @@
<html><body>Penny:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.94-96.)
</body></html>

View File

@ -144,6 +144,7 @@ import quests.Q00564_BasicMissionKartiasLabyrinthSolo.Q00564_BasicMissionKartias
import quests.Q00565_BasicMissionFairySettlementWest.Q00565_BasicMissionFairySettlementWest;
import quests.Q00566_BasicMissionFairySettlementEast.Q00566_BasicMissionFairySettlementEast;
import quests.Q00567_BasicMissionIsleOfSouls.Q00567_BasicMissionIsleOfSouls;
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
import quests.Q00581_ThePurificationRitual.Q00581_ThePurificationRitual;
import quests.Q00582_WashBloodWithBlood.Q00582_WashBloodWithBlood;
@ -635,7 +636,7 @@ public class QuestMasterHandler
Q00566_BasicMissionFairySettlementEast.class,
Q00567_BasicMissionIsleOfSouls.class,
Q00568_SpecialMissionNornilsCave.class, // TODO: Not done.
Q00569_BasicMissionSealOfShilen.class, // TODO: Not done.
Q00569_BasicMissionSealOfShilen.class,
Q00570_SpecialMissionKartiasLabyrinthParty.class, // TODO: Not done.
Q00571_SpecialMissionProofOfUnityFieldRaid.class, // TODO: Not done.
Q00572_SpecialMissionProofOfCourageFieldRaid.class, // TODO: Not done.

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 org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00569_BasicMissionSealOfShilen extends Quest
{
private static final int START_NPC = 34413;
public Q00569_BasicMissionSealOfShilen()
{
super(569);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -5,7 +5,6 @@
556 Red Libra Request - Fallen Emperor's Throne
557 Red Libra Request - Fall of Etina
568 Special Mission: Nornil's Cave
569 Basic Mission: Seal of Shilen
570 Special Mission: Kartia's Labyrinth (Party)
571 Special Mission: Proof of Unity (Field Raid)
572 Special Mission: Proof of Courage (Field Raid)

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
Do you have something else you need?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 33515-02.html">"How do I go to the Altar of Evil?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Gatekeeper Bella:<br>
Are you here on a mission from the Adventure Guild? I've seen many who are. If so, I'll explain the details.<br>
You'll have to select <font color="LEVEL">Dark Elf Village</font> from the teleport link I give you and go there. The area for an active mission will appear <font color="LEVEL">at the top of the teleport list</font> so it won't be hard to find.<br>
But you have to watch out for one thing.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 33515-03.html">"What's that?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
There's no Gatekeeper in the Dark Elf Village. In the past, there had been a Gatekeeper, however, now, due to a tragic accident, there is only a <font color="LEVEL">Teleport Device</font>.<br>
Anyway, there's no other option. Go and check the missions.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
There's no Gatekeeper in the Dark Elf Village. In the past, there had been a Gatekeeper, however, now, due to a tragic accident, there is only a <font color="LEVEL">Teleport Device</font>.<br>
Anyway, there's no other option. Go and check the missions.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Truth Seeker Devianne:<br>
In order to take on this mission, you must first build more trust with us.<br>
<font color="LEVEL">(Only characters with faction level 5 or above with the Blackbird Clan may undertake this quest.)</font><br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-02.htm">"Sure, no problem!"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Herphah wants you to do some missions, and I'll chose an appropriate mission depending on your relationship with us at the Adventure Guild.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-03.htm">"Go on."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Your mission is to assist with the task at the Altar of Evil. If successful, our Adventure Guild will give you additional rewards on top of the mission payment and your relationship with our faction will grow even stronger.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-04.htm">"Alright."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
You've already leamed everything you need to know about the mission. By that I mean, how to go to the Altar of Evil. You should be able to start the mission right away without further explanation.<br>
But if you want to listen to the explanation again, I'd be happy to tell you.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Good choice. Now, go to <font color="LEVEL">Black Wizard Lapathia</font> at the <font color="LEVEL">Altar of Evil</font> and do the mission that she gives you. When the mission is done, come back to me.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Welcome back! So, did you do a good job?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-07.html">"Yes, I did."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Thanks, you've done a great job! I'm sure eveyone in the Adventure Guild will know your name now. If there is another opportunity, we'd love for you to help us again. Good luck and farewell!
</body></html>

View File

@ -0,0 +1,176 @@
/*
* 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.Q00569_BasicMissionSealOfShilen;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
/**
* Basic Mission: Seal of Shilen (569)
* @URL https://l2wiki.com/Basic_Mission:_Seal_of_Shilen
* @author Dmitri
*/
public class Q00569_BasicMissionSealOfShilen extends Quest
{
// NPCs
private static final int PENNY = 34413;
private static final int GEORGIO = 33515;
// Rewards
private static final int SCROLL_OF_ESCAPE_SEAL_OF_SHILEN = 39504;
private static final int SCROLL_OF_ESCAPE_TOWN_OF_ADEN = 48413;
// Misc
private static final int MIN_LEVEL = 94;
private static final int MAX_LEVEL = 96;
public Q00569_BasicMissionSealOfShilen()
{
super(569);
addStartNpc(PENNY);
addTalkId(PENNY, GEORGIO);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
addFactionLevel(Faction.ADVENTURE_GUILD, 5, "34413-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
case "34413-10.html":
case "33515-02.html":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33515-03.html":
{
qs.setCond(2, true);
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
giveItems(player, SCROLL_OF_ESCAPE_SEAL_OF_SHILEN, 1);
addExpAndSp(player, 731563995, 731550);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 130); // add FP points to ADVENTURE_GUILD Faction
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
return htmltext;
}
@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() == PENNY)
{
htmltext = "34413-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case PENNY:
{
if (qs.getCond() == 1)
{
htmltext = "34413-04.htm";
}
else if (qs.getCond() == 2)
{
htmltext = "34413-05.html";
}
else if (qs.getCond() == 3)
{
htmltext = "34413-06.html";
}
break;
}
case GEORGIO:
{
if (qs.getCond() == 1)
{
htmltext = "33515-01.html";
}
else if (qs.getCond() == 2)
{
final QuestState st = player.getQuestState("Q00493_KickingOutUnwelcomeGuests");
if ((st != null) && st.isCompleted())
{
qs.setCond(3, true);
giveItems(player, SCROLL_OF_ESCAPE_TOWN_OF_ADEN, 1);
htmltext = null;
}
else
{
htmltext = "33515-03.html";
}
}
break;
}
}
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
htmltext = "34413-01.htm";
}
else
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
break;
}
}
return htmltext;
}
}

View File

@ -0,0 +1,4 @@
<html><body>Penny:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.94-96.)
</body></html>

View File

@ -122,6 +122,7 @@ import quests.Q00564_BasicMissionKartiasLabyrinthSolo.Q00564_BasicMissionKartias
import quests.Q00565_BasicMissionFairySettlementWest.Q00565_BasicMissionFairySettlementWest;
import quests.Q00566_BasicMissionFairySettlementEast.Q00566_BasicMissionFairySettlementEast;
import quests.Q00567_BasicMissionIsleOfSouls.Q00567_BasicMissionIsleOfSouls;
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
import quests.Q00581_ThePurificationRitual.Q00581_ThePurificationRitual;
import quests.Q00582_WashBloodWithBlood.Q00582_WashBloodWithBlood;
@ -569,7 +570,7 @@ public class QuestMasterHandler
Q00566_BasicMissionFairySettlementEast.class,
Q00567_BasicMissionIsleOfSouls.class,
Q00568_SpecialMissionNornilsCave.class, // TODO: Not done.
Q00569_BasicMissionSealOfShilen.class, // TODO: Not done.
Q00569_BasicMissionSealOfShilen.class,
Q00570_SpecialMissionKartiasLabyrinthParty.class, // TODO: Not done.
Q00571_SpecialMissionProofOfUnityFieldRaid.class, // TODO: Not done.
Q00572_SpecialMissionProofOfCourageFieldRaid.class, // TODO: Not done.

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 org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00569_BasicMissionSealOfShilen extends Quest
{
private static final int START_NPC = 34413;
public Q00569_BasicMissionSealOfShilen()
{
super(569);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -8,7 +8,6 @@
558 Request from the Red Libra Guild - Sea of Spores
559 Request from the Red Libra Guild - Krofins Nest
568 Special Mission: Nornil's Cave
569 Basic Mission: Seal of Shilen
570 Special Mission: Kartia's Labyrinth (Party)
571 Special Mission: Proof of Unity (Field Raid)
572 Special Mission: Proof of Courage (Field Raid)
@ -43,7 +42,6 @@
679 Hunter Guild Request - Swamp of Screams
680 Hunter Guild Request - Sea of Spores
681 Hunter Guild Request - Shadow of the Mother Tree
682 The Strong in the Closed Space
690 |Attack| Begin Alliance Base Defense - 1
691 |Attack| Begin Alliance Base Defense - 2
692 |Attack| Begin Alliance Base Defense - 3
@ -210,9 +208,6 @@
10890 Savior's Path - Fall of Etina
10893 End of Twisted Fate
10895 Restrain Queen Krosha
10896 Visit the Adventure Guild
10897 Show Your Ability
10898 Toward A Goal
10899 Veteran Adventurer
10900 Path to Strength
10901 A Model Adventurer

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
Do you have something else you need?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 33515-02.html">"How do I go to the Altar of Evil?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Gatekeeper Bella:<br>
Are you here on a mission from the Adventure Guild? I've seen many who are. If so, I'll explain the details.<br>
You'll have to select <font color="LEVEL">Dark Elf Village</font> from the teleport link I give you and go there. The area for an active mission will appear <font color="LEVEL">at the top of the teleport list</font> so it won't be hard to find.<br>
But you have to watch out for one thing.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 33515-03.html">"What's that?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
There's no Gatekeeper in the Dark Elf Village. In the past, there had been a Gatekeeper, however, now, due to a tragic accident, there is only a <font color="LEVEL">Teleport Device</font>.<br>
Anyway, there's no other option. Go and check the missions.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
There's no Gatekeeper in the Dark Elf Village. In the past, there had been a Gatekeeper, however, now, due to a tragic accident, there is only a <font color="LEVEL">Teleport Device</font>.<br>
Anyway, there's no other option. Go and check the missions.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Truth Seeker Devianne:<br>
In order to take on this mission, you must first build more trust with us.<br>
<font color="LEVEL">(Only characters with faction level 5 or above with the Blackbird Clan may undertake this quest.)</font><br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-02.htm">"Sure, no problem!"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Herphah wants you to do some missions, and I'll chose an appropriate mission depending on your relationship with us at the Adventure Guild.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-03.htm">"Go on."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Your mission is to assist with the task at the Altar of Evil. If successful, our Adventure Guild will give you additional rewards on top of the mission payment and your relationship with our faction will grow even stronger.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-04.htm">"Alright."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
You've already leamed everything you need to know about the mission. By that I mean, how to go to the Altar of Evil. You should be able to start the mission right away without further explanation.<br>
But if you want to listen to the explanation again, I'd be happy to tell you.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Good choice. Now, go to <font color="LEVEL">Black Wizard Lapathia</font> at the <font color="LEVEL">Altar of Evil</font> and do the mission that she gives you. When the mission is done, come back to me.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Welcome back! So, did you do a good job?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 34413-07.html">"Yes, I did."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Thanks, you've done a great job! I'm sure eveyone in the Adventure Guild will know your name now. If there is another opportunity, we'd love for you to help us again. Good luck and farewell!
</body></html>

View File

@ -0,0 +1,176 @@
/*
* 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.Q00569_BasicMissionSealOfShilen;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
/**
* Basic Mission: Seal of Shilen (569)
* @URL https://l2wiki.com/Basic_Mission:_Seal_of_Shilen
* @author Dmitri
*/
public class Q00569_BasicMissionSealOfShilen extends Quest
{
// NPCs
private static final int PENNY = 34413;
private static final int GEORGIO = 33515;
// Rewards
private static final int SCROLL_OF_ESCAPE_SEAL_OF_SHILEN = 39504;
private static final int SCROLL_OF_ESCAPE_TOWN_OF_ADEN = 48413;
// Misc
private static final int MIN_LEVEL = 94;
private static final int MAX_LEVEL = 96;
public Q00569_BasicMissionSealOfShilen()
{
super(569);
addStartNpc(PENNY);
addTalkId(PENNY, GEORGIO);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
addFactionLevel(Faction.ADVENTURE_GUILD, 5, "34413-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
case "34413-10.html":
case "33515-02.html":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33515-03.html":
{
qs.setCond(2, true);
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
giveItems(player, SCROLL_OF_ESCAPE_SEAL_OF_SHILEN, 1);
addExpAndSp(player, 731563995, 731550);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 130); // add FP points to ADVENTURE_GUILD Faction
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
return htmltext;
}
@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() == PENNY)
{
htmltext = "34413-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case PENNY:
{
if (qs.getCond() == 1)
{
htmltext = "34413-04.htm";
}
else if (qs.getCond() == 2)
{
htmltext = "34413-05.html";
}
else if (qs.getCond() == 3)
{
htmltext = "34413-06.html";
}
break;
}
case GEORGIO:
{
if (qs.getCond() == 1)
{
htmltext = "33515-01.html";
}
else if (qs.getCond() == 2)
{
final QuestState st = player.getQuestState("Q00493_KickingOutUnwelcomeGuests");
if ((st != null) && st.isCompleted())
{
qs.setCond(3, true);
giveItems(player, SCROLL_OF_ESCAPE_TOWN_OF_ADEN, 1);
htmltext = null;
}
else
{
htmltext = "33515-03.html";
}
}
break;
}
}
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
htmltext = "34413-01.htm";
}
else
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
break;
}
}
return htmltext;
}
}

View File

@ -0,0 +1,4 @@
<html><body>Penny:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.94-96.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Truth Seeker Devianne:<br>
In order to take on this mission, you must first build more trust with us.<br>
<font color="LEVEL">(Only characters with faction level 0 or above with the Blackbird Clan may undertake this quest.)</font><br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Your're the one that Hephah has sent, right? If not, you should go meet Herphah and receive a mission from her before you continue. If you think it doesn't matter, I can continue anyway. Do you want me to continue?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00682_TheStrongInTheClosedSpace 34413-02.htm">"Sure, no problem!"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Herphah wants you to do some missions, and I'll chose an appropriate mission depending on your relationship with us at the Adventure Guild.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00682_TheStrongInTheClosedSpace 34413-03.htm">"Go on."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Your mission is to assist with the task at the Altar of Evil. If successful, our Adventure Guild will give you additional rewards on top of the mission payment and your relationship with our faction will grow even stronger.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00682_TheStrongInTheClosedSpace 34413-04.htm">"Alright."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
You've already leamed everything you need to know about the mission. By that I mean, how to go to the Altar of Evil. You should be able to start the mission right away without further explanation.<br>
But if you want to listen to the explanation again, I'd be happy to tell you.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Good choice. Now, go to <font color="LEVEL">Black Wizard Lapathia</font> at the <font color="LEVEL">Altar of Evil</font> and do the mission that she gives you. When the mission is done, come back to me.
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00682_TheStrongInTheClosedSpace 34413-06.html">"Yes, I did."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
Welcome back! So, did you do a good job?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00682_TheStrongInTheClosedSpace 34413-07.html">"Yes, I did."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Thanks, you've done a great job! I'm sure eveyone in the Adventure Guild will know your name now. If there is another opportunity, we'd love for you to help us again. Good luck and farewell!
</body></html>

View File

@ -0,0 +1,163 @@
/*
* 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.Q00682_TheStrongInTheClosedSpace;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
import org.l2jmobius.gameserver.util.Util;
/**
* The Strong in the Closed Space (682)
* @URL https://l2wiki.com/The_Strong_in_the_Closed_Space
* @author Dmitri
*/
public class Q00682_TheStrongInTheClosedSpace extends Quest
{
// NPCs
private static final int PENNY = 34413;
// MiniBoss
private static final int BURNSTEIN = 26136; // Burnstein (Command Post)
private static final int ISADORA = 26220; // Isadora
private static final int MALISS = 26219; // Maliss
private static final int HELIOS = 26335; // Helios
private static final int QEEN_KROSHA = 26390; // Queen Krosha
// Misc
private static final int MIN_LEVEL = 100;
public Q00682_TheStrongInTheClosedSpace()
{
super(682);
addStartNpc(PENNY);
addTalkId(PENNY);
addKillId(BURNSTEIN, ISADORA, MALISS, HELIOS, QEEN_KROSHA);
addCondMinLevel(MIN_LEVEL, "nolevel.html");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
case "34413-06.html":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
giveAdena(player, 3559950, true);
addExpAndSp(player, 14831100000L, 14831100);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 100); // add FP points to ADVENTURE_GUILD Faction
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
return htmltext;
}
@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() == PENNY)
{
htmltext = "34413-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case PENNY:
{
if (qs.isCond(1))
{
htmltext = "34413-04.htm";
}
else if (qs.isCond(2))
{
htmltext = "34413-05.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
htmltext = "34413-01.htm";
}
else
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{
executeForEachPlayer(player, npc, isSummon, true, false);
return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
{
qs.setCond(2, true);
}
}
}

View File

@ -0,0 +1,4 @@
<html><body>Penny:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.100+.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Penny:<br>
In order to take on this mission, you must first build more trust with us.<br>
<font color="LEVEL">(before you take the quest you need to complete the quest <font color="LEVEL">"__"</font> faction ADVENTURE GUILD.)</font><br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
what a good day to die!? hello wanderer. You are still on the hero’s path, I see it!. I think you could help me !? and prove that you are the best hero of Aden!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10896_VisitTheAdventureGuild 34413-02.htm">"what happened?"</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Adventure Guildsman Penny:<br>
the fact is that true evil breaks out and threatens our world. I have a request for you hero!.<br>
but listen to me first.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10896_VisitTheAdventureGuild 34413-03.htm">"of course I'm listening!"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
There is a special request for a special fee, to deal with terrible monsters. The guild will pay you generously, since few people can cope with this task.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10896_VisitTheAdventureGuild 34413-04.htm">"keep going."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Penny from Adventurers Guild in Aden wants you to reach amity level 1 with the guild. Keep on completing the The Strong in the Closed Space <font color="LEVEL">The Strong in the Closed Space</font> daily quest, until you’ve reached the necessary level of amity.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Penny from Adventurers Guild in Aden wants you to reach amity level 1 with the guild. Keep on completing the The Strong in the Closed Space <font color="LEVEL">The Strong in the Closed Space</font> daily quest, until you’ve reached the necessary level of amity.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
I congratulate you, you have completed the task and defeated powerful Monsters. Get the hero your honestly deserved reward.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10896_VisitTheAdventureGuild 34413-07.html">"Yes, I did."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
We hope this is not our last meeting and we can constantly cooperate with you a great hero.
</body></html>

View File

@ -0,0 +1,135 @@
/*
* 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.Q10896_VisitTheAdventureGuild;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
/**
* Visit the Adventure Guild (10896)
* @URL https://l2wiki.com/Visit_the_Adventure_Guild
* @author Dmitri
*/
public class Q10896_VisitTheAdventureGuild extends Quest
{
// NPCs
private static final int PENNY = 34413;
// Misc
private static final int MIN_LEVEL = 100;
public Q10896_VisitTheAdventureGuild()
{
super(10896);
addStartNpc(PENNY);
addTalkId(PENNY);
addCondMinLevel(MIN_LEVEL, "nolevel.html");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
addExpAndSp(player, 20763540000L, 20763540);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 100); // add FP points to ADVENTURE_GUILD Faction
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
return htmltext;
}
@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() == PENNY)
{
htmltext = "34413-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case PENNY:
{
if ((qs.isCond(1)) && (player.getFactionLevel(Faction.ADVENTURE_GUILD) >= 1))
{
final QuestState st = player.getQuestState("Q00682_TheStrongInTheClosedSpace");
if ((st != null) && st.isCompleted())
{
qs.setCond(2, true);
htmltext = "34413-06.html";
}
else
{
htmltext = "34413-05.html";
}
}
if (qs.isCond(2))
{
htmltext = "34413-06.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}

View File

@ -0,0 +1,4 @@
<html><body>Penny:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.100+.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Penny:<br>
In order to take on this mission, you must first build more trust with us.<br>
<font color="LEVEL">(before you take the quest you need to complete the quest <font color="LEVEL">Visit the Adventure Guild</font> faction ADVENTURE GUILD.)</font><br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
what a good day to die!? hello wanderer. You are still on the hero’s path, I see it!. I think you could help me !? and prove that you are the best hero of Aden!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10897_ShowYourAbility 34413-02.htm">"what happened?"</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Adventure Guildsman Penny:<br>
the fact is that true evil breaks out and threatens our world. I have a request for you hero!.<br>
but listen to me first.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10897_ShowYourAbility 34413-03.htm">"of course I'm listening!"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
There is a special request for a special fee, to deal with terrible monsters. The guild will pay you generously, since few people can cope with this task.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10897_ShowYourAbility 34413-04.htm">"keep going."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Penny from Adventurers Guild in Aden wants you to reach amity level 2 with the guild. Keep on completing the The Strong in the Closed Space <font color="LEVEL">The Strong in the Closed Space</font> daily quest, until you’ve reached the necessary level of amity.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Penny from Adventurers Guild in Aden wants you to reach amity level 2 with the guild. Keep on completing the The Strong in the Closed Space <font color="LEVEL">The Strong in the Closed Space</font> daily quest, until you’ve reached the necessary level of amity.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
I congratulate you, you have completed the task and defeated powerful Monsters. Get the hero your honestly deserved reward.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10897_ShowYourAbility 34413-07.html">"Yes, I did."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
We hope this is not our last meeting and we can constantly cooperate with you a great hero.
</body></html>

View File

@ -0,0 +1,138 @@
/*
* 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.Q10897_ShowYourAbility;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
import quests.Q10896_VisitTheAdventureGuild.Q10896_VisitTheAdventureGuild;
/**
* Show Your Ability (10897)
* @URL https://l2wiki.com/Show_Your_Ability
* @author Dmitri
*/
public class Q10897_ShowYourAbility extends Quest
{
// NPCs
private static final int PENNY = 34413;
// Misc
private static final int MIN_LEVEL = 100;
public Q10897_ShowYourAbility()
{
super(10897);
addStartNpc(PENNY);
addTalkId(PENNY);
addCondMinLevel(MIN_LEVEL, "nolevel.html");
addCondCompletedQuest(Q10896_VisitTheAdventureGuild.class.getSimpleName(), "34413-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
addExpAndSp(player, 20763540000L, 20763540);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 100); // add FP points to ADVENTURE_GUILD Faction
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
return htmltext;
}
@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() == PENNY)
{
htmltext = "34413-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case PENNY:
{
if ((qs.isCond(1)) && (player.getFactionLevel(Faction.ADVENTURE_GUILD) >= 2))
{
final QuestState st = player.getQuestState("Q00682_TheStrongInTheClosedSpace");
if ((st != null) && st.isCompleted())
{
qs.setCond(2, true);
htmltext = "34413-06.html";
}
else
{
htmltext = "34413-05.html";
}
}
if (qs.isCond(2))
{
htmltext = "34413-06.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}

View File

@ -0,0 +1,4 @@
<html><body>Penny:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.100+.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Penny:<br>
In order to take on this mission, you must first build more trust with us.<br>
<font color="LEVEL">(before you take the quest you need to complete the quest <font color="LEVEL">Show Your Ability</font> faction ADVENTURE GUILD.)</font><br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
what a good day to die!? hello wanderer. You are still on the hero’s path, I see it!. I think you could help me !? and prove that you are the best hero of Aden!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10898_TowardAGoal 34413-02.htm">"what happened?"</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Adventure Guildsman Penny:<br>
the fact is that true evil breaks out and threatens our world. I have a request for you hero!.<br>
but listen to me first.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10898_TowardAGoal 34413-03.htm">"of course I'm listening!"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
There is a special request for a special fee, to deal with terrible monsters. The guild will pay you generously, since few people can cope with this task.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10898_TowardAGoal 34413-04.htm">"keep going."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Penny from Adventurers Guild in Aden wants you to reach amity level 3 with the guild. Keep on completing the The Strong in the Closed Space <font color="LEVEL">The Strong in the Closed Space</font> daily quest, until you’ve reached the necessary level of amity.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
Penny from Adventurers Guild in Aden wants you to reach amity level 3 with the guild. Keep on completing the The Strong in the Closed Space <font color="LEVEL">The Strong in the Closed Space</font> daily quest, until you’ve reached the necessary level of amity.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Adventure Guildsman Penny:<br>
I congratulate you, you have completed the task and defeated powerful Monsters. Get the hero your honestly deserved reward.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10898_TowardAGoal 34413-07.html">"Yes, I did."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Adventure Guildsman Penny:<br>
We hope this is not our last meeting and we can constantly cooperate with you a great hero.
</body></html>

View File

@ -0,0 +1,138 @@
/*
* 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.Q10898_TowardAGoal;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
import quests.Q10897_ShowYourAbility.Q10897_ShowYourAbility;
/**
* Toward A Goal (10898)
* @URL https://l2wiki.com/Toward_A_Goal
* @author Dmitri
*/
public class Q10898_TowardAGoal extends Quest
{
// NPCs
private static final int PENNY = 34413;
// Misc
private static final int MIN_LEVEL = 100;
public Q10898_TowardAGoal()
{
super(10898);
addStartNpc(PENNY);
addTalkId(PENNY);
addCondMinLevel(MIN_LEVEL, "nolevel.html");
addCondCompletedQuest(Q10897_ShowYourAbility.class.getSimpleName(), "34413-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
addExpAndSp(player, 20763540000L, 20763540);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 100); // add FP points to ADVENTURE_GUILD Faction
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
return htmltext;
}
@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() == PENNY)
{
htmltext = "34413-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case PENNY:
{
if ((qs.isCond(1)) && (player.getFactionLevel(Faction.ADVENTURE_GUILD) >= 2))
{
final QuestState st = player.getQuestState("Q00682_TheStrongInTheClosedSpace");
if ((st != null) && st.isCompleted())
{
qs.setCond(2, true);
htmltext = "34413-06.html";
}
else
{
htmltext = "34413-05.html";
}
}
if (qs.isCond(2))
{
htmltext = "34413-06.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}

View File

@ -0,0 +1,4 @@
<html><body>Penny:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.100+.)
</body></html>

View File

@ -122,6 +122,7 @@ import quests.Q00564_BasicMissionKartiasLabyrinthSolo.Q00564_BasicMissionKartias
import quests.Q00565_BasicMissionFairySettlementWest.Q00565_BasicMissionFairySettlementWest;
import quests.Q00566_BasicMissionFairySettlementEast.Q00566_BasicMissionFairySettlementEast;
import quests.Q00567_BasicMissionIsleOfSouls.Q00567_BasicMissionIsleOfSouls;
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
import quests.Q00581_ThePurificationRitual.Q00581_ThePurificationRitual;
import quests.Q00582_WashBloodWithBlood.Q00582_WashBloodWithBlood;
@ -141,6 +142,7 @@ import quests.Q00663_SeductiveWhispers.Q00663_SeductiveWhispers;
import quests.Q00670_DefeatingTheLordOfSeed.Q00670_DefeatingTheLordOfSeed;
import quests.Q00674_ChangesInTheShadowOfTheMotherTree.Q00674_ChangesInTheShadowOfTheMotherTree;
import quests.Q00675_WhatTheThreadOfThePastShows.Q00675_WhatTheThreadOfThePastShows;
import quests.Q00682_TheStrongInTheClosedSpace.Q00682_TheStrongInTheClosedSpace;
import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00737_ASwordHiddenInASmile.Q00737_ASwordHiddenInASmile;
@ -449,6 +451,9 @@ import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
import quests.Q10857_SecretTeleport.Q10857_SecretTeleport;
import quests.Q10891_AtANewPlace.Q10891_AtANewPlace;
import quests.Q10892_RevengeOneStepAtATime.Q10892_RevengeOneStepAtATime;
import quests.Q10896_VisitTheAdventureGuild.Q10896_VisitTheAdventureGuild;
import quests.Q10897_ShowYourAbility.Q10897_ShowYourAbility;
import quests.Q10898_TowardAGoal.Q10898_TowardAGoal;
import quests.custom.Q00529_RegularBarrierMaintenance.Q00529_RegularBarrierMaintenance;
import quests.custom.Q00560_HowToOvercomeFear.Q00560_HowToOvercomeFear;
import quests.custom.Q00589_ASecretChange.Q00589_ASecretChange;
@ -580,7 +585,7 @@ public class QuestMasterHandler
Q00566_BasicMissionFairySettlementEast.class,
Q00567_BasicMissionIsleOfSouls.class,
Q00568_SpecialMissionNornilsCave.class, // TODO: Not done.
Q00569_BasicMissionSealOfShilen.class, // TODO: Not done.
Q00569_BasicMissionSealOfShilen.class,
Q00570_SpecialMissionKartiasLabyrinthParty.class, // TODO: Not done.
Q00571_SpecialMissionProofOfUnityFieldRaid.class, // TODO: Not done.
Q00572_SpecialMissionProofOfCourageFieldRaid.class, // TODO: Not done.
@ -630,7 +635,7 @@ public class QuestMasterHandler
Q00673_BelethAmbition.class, // TODO: Not done.
Q00674_ChangesInTheShadowOfTheMotherTree.class,
Q00675_WhatTheThreadOfThePastShows.class,
Q00682_TheStrongInTheClosedSpace.class, // TODO: Not done.
Q00682_TheStrongInTheClosedSpace.class,
Q00683_AdventOfKrofinSubspecies.class, // FIXME: Custom.
Q00684_DisturbedFields.class, // FIXME: Custom.
Q00726_LightWithinTheDarkness.class,
@ -1032,9 +1037,9 @@ public class QuestMasterHandler
Q10892_RevengeOneStepAtATime.class,
Q10893_EndOfTwistedFate.class, // TODO: Not done.
Q10895_RestrainQueenKrosha.class, // TODO: Not done.
Q10896_VisitTheAdventureGuild.class, // TODO: Not done.
Q10897_ShowYourAbility.class, // TODO: Not done.
Q10898_TowardAGoal.class, // TODO: Not done.
Q10896_VisitTheAdventureGuild.class,
Q10897_ShowYourAbility.class,
Q10898_TowardAGoal.class,
Q10899_VeteranAdventurer.class, // TODO: Not done.
Q10900_PathToStrength.class, // TODO: Not done.
Q10901_AModelAdventurer.class, // TODO: Not done.

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 org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00569_BasicMissionSealOfShilen extends Quest
{
private static final int START_NPC = 34413;
public Q00569_BasicMissionSealOfShilen()
{
super(569);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

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 org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00682_TheStrongInTheClosedSpace extends Quest
{
private static final int START_NPC = 34413;
public Q00682_TheStrongInTheClosedSpace()
{
super(682);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

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 org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10896_VisitTheAdventureGuild extends Quest
{
private static final int START_NPC = 34413;
public Q10896_VisitTheAdventureGuild()
{
super(10896);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

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 org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10897_ShowYourAbility extends Quest
{
private static final int START_NPC = 34413;
public Q10897_ShowYourAbility()
{
super(10897);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

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 org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10898_TowardAGoal extends Quest
{
private static final int START_NPC = 34413;
public Q10898_TowardAGoal()
{
super(10898);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -40,7 +40,6 @@
558 Red Libra Request - Sea of Spores
559 Request from the Red Libra Guild - Krofin's Nest
568 Special Mission: Nornil's Cave
569 Basic Mission: Seal of Shilen
570 Special Mission: Kartia's Labyrinth (Party)
571 Special Mission: Proof of Unity (Field Raid)
572 Special Mission: Proof of Courage (Field Raid)
@ -68,7 +67,6 @@
671 Path to Finding the Past
672 Embryo the Archenemy
673 Beleth' Ambition
682 The Strong in the Closed Space
690 |Attack| Begin Alliance Base Defense - 1
691 |Attack| Begin Alliance Base Defense - 2
692 |Attack| Begin Alliance Base Defense - 3
@ -196,9 +194,6 @@
10889 Savior's Path - Fallen Emperor's Throne
10890 Savior's Path - Fall of Etina
10893 End of Twisted Fate
10896 Visit the Adventure Guild
10897 Show Your Ability
10898 Toward A Goal
10899 Veteran Adventurer
10900 Path to Strength
10901 A Model Adventurer

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
Do you have something else you need?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 33515-02.html">"How do I go to the Altar of Evil?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Gatekeeper Bella:<br>
Are you here on a mission from the Adventure Guild? I've seen many who are. If so, I'll explain the details.<br>
You'll have to select <font color="LEVEL">Dark Elf Village</font> from the teleport link I give you and go there. The area for an active mission will appear <font color="LEVEL">at the top of the teleport list</font> so it won't be hard to find.<br>
But you have to watch out for one thing.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00569_BasicMissionSealOfShilen 33515-03.html">"What's that?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
There's no Gatekeeper in the Dark Elf Village. In the past, there had been a Gatekeeper, however, now, due to a tragic accident, there is only a <font color="LEVEL">Teleport Device</font>.<br>
Anyway, there's no other option. Go and check the missions.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Gatekeeper Bella:<br>
There's no Gatekeeper in the Dark Elf Village. In the past, there had been a Gatekeeper, however, now, due to a tragic accident, there is only a <font color="LEVEL">Teleport Device</font>.<br>
Anyway, there's no other option. Go and check the missions.<br>
</body></html>

Some files were not shown because too many files have changed in this diff Show More