Addition of quest Special Mission: Kartia's Labyrinth (570).
Contributed by Dmitri.
This commit is contained in:
parent
5587c0097d
commit
0161a1e69b
@ -1,5 +1,4 @@
|
||||
504 Competition for the Bandit Stronghold
|
||||
570 Special Mission: Kartia's Labyrinth (Party)
|
||||
571 Special Mission: Proof of Unity (Field Raid)
|
||||
572 Special Mission: Proof of Courage (Field Raid)
|
||||
573 Special Mission: Proof of Strength (Field Raid)
|
||||
|
@ -0,0 +1,4 @@
|
||||
<html><body>Kartia Researcher:<br>
|
||||
The Adventure Guild is very famous, almost everyone knows about them. If they're the ones who sent you, I'm sure you're trustworthy!<br>
|
||||
To do the basic mission quest, <font color="LEVEL">Kartia's Labyrinth (Party)</font>, you have to do the <font color="LEVEL">"Incarnation of Greed Zellaka (Party), Incarnation of Jealousy Pelline (Party) or Incarnation of Gluttony Kalios (Party)"</font> quests from Kartia Researcher.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Kartia Researcher:<br>
|
||||
Now go back to Adventure Guildsman Penny.<br>
|
||||
</body></html>
|
@ -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 2 or above with the Blackbird Clan may undertake this quest.)</font><br>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-02.htm">"Sure, no problem!"</button>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-03.htm">"Go on."</button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Your mission is to assist with task at Kartia's Labyrinth. If are 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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-04.html">"Alright."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Good choice. Now, let me tell you about the mission.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-05.html">"Go on."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
To do this mission, you have to go to <font color="LEVEL">Kartia's Labyrinth</font>. It is called an <font color="LEVEL">Instanced Zone</font>, and is different from normal hunting grounds.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-06.html">"What's the difference?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Only you and your party can enter the <font color="LEVEL">Instanced Zone Dungeon</font>. That way, you can focus on hunting, without worring about outsiders. But there's a catch, you can only enter the dungeon a limited number of times at certain hours.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-07.html">"Could you tell me more about the mission?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
To do the mission, you have to meet the <font color="LEVEL">Kartia Researcher</font> at the Town of Aden. Do the mission that they give. Then, come back to me.<br>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-09.html">"Yes, I did."</Button>
|
||||
</body></html>
|
@ -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!<br>
|
||||
</body></html>
|
@ -0,0 +1,205 @@
|
||||
/*
|
||||
* 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.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
|
||||
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.network.serverpackets.ExTutorialShowId;
|
||||
|
||||
/**
|
||||
* Special Mission: Kartia's Labyrinth (Party) (570)
|
||||
* @URL https://l2wiki.com/Special_Mission:_Kartia%27s_Labyrinth_(Party)
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q00570_SpecialMissionKartiasLabyrinthParty extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int PENNY = 34413;
|
||||
private static final int KARTIA = 33647;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 87;
|
||||
private static final int MAX_LEVEL = 99;
|
||||
|
||||
public Q00570_SpecialMissionKartiasLabyrinthParty()
|
||||
{
|
||||
super(564);
|
||||
addStartNpc(PENNY);
|
||||
addTalkId(PENNY, KARTIA);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
|
||||
addFactionLevel(Faction.ADVENTURE_GUILD, 2, "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-05.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-04.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-06.html":
|
||||
{
|
||||
// Show Service/Help/Instance Zone page
|
||||
player.sendPacket(new ExTutorialShowId(29));
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-07.html":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-09.html":
|
||||
{
|
||||
final StringBuilder str = new StringBuilder("000");
|
||||
checkQuestCompleted(player, str); // Initialize the array with all quests completed
|
||||
|
||||
if (str.indexOf("1") == -1) // verify if no quest completed
|
||||
{
|
||||
htmltext = "34413-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (str.charAt(0) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 100); // add 100 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 349752660, 349740);
|
||||
}
|
||||
if (str.charAt(1) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 125); // add 125 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 646727130, 646710);
|
||||
}
|
||||
if (str.charAt(2) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 150); // add 150 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 1793099880L, 1793070);
|
||||
}
|
||||
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:
|
||||
{
|
||||
htmltext = qs.isCond(2) ? "34413-07.html" : "34413-08.html";
|
||||
break;
|
||||
}
|
||||
case KARTIA:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
final StringBuilder str = new StringBuilder("000");
|
||||
checkQuestCompleted(player, str); // Initialize the array with all quests completed
|
||||
|
||||
if (str.indexOf("1") != -1) // verify if any quest completed
|
||||
{
|
||||
qs.setCond(4, true);
|
||||
htmltext = "33647-02.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33647-01.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private StringBuilder checkQuestCompleted(PlayerInstance player, StringBuilder string)
|
||||
{
|
||||
int index = 0;
|
||||
final char ch = '1';
|
||||
final QuestState st1 = player.getQuestState("Q00494_IncarnationOfGreedZellakaGroup");
|
||||
if ((st1 != null) && st1.isCompleted())
|
||||
{
|
||||
index = 0;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
final QuestState st2 = player.getQuestState("Q00495_IncarnationOfJealousyPellineGroup");
|
||||
if ((st2 != null) && st2.isCompleted())
|
||||
{
|
||||
index = 1;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
final QuestState st3 = player.getQuestState("Q00496_IncarnationOfGluttonyKaliosGroup");
|
||||
if ((st3 != null) && st3.isCompleted())
|
||||
{
|
||||
index = 2;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
return string;
|
||||
}
|
||||
}
|
@ -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.87-99.)
|
||||
</body></html>
|
@ -146,6 +146,7 @@ import quests.Q00566_BasicMissionFairySettlementEast.Q00566_BasicMissionFairySet
|
||||
import quests.Q00567_BasicMissionIsleOfSouls.Q00567_BasicMissionIsleOfSouls;
|
||||
import quests.Q00568_SpecialMissionNornilsCave.Q00568_SpecialMissionNornilsCave;
|
||||
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
|
||||
import quests.Q00570_SpecialMissionKartiasLabyrinthParty.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
import quests.Q00574_SpecialMissionNornilsGarden.Q00574_SpecialMissionNornilsGarden;
|
||||
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
|
||||
import quests.Q00581_ThePurificationRitual.Q00581_ThePurificationRitual;
|
||||
@ -514,7 +515,6 @@ import quests.Q10852_TheMotherTreeRevivalProject.Q10852_TheMotherTreeRevivalProj
|
||||
import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
|
||||
import quests.Q10857_SecretTeleport.Q10857_SecretTeleport;
|
||||
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
|
||||
import quests.not_done.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
import quests.not_done.Q00571_SpecialMissionProofOfUnityFieldRaid;
|
||||
import quests.not_done.Q00572_SpecialMissionProofOfCourageFieldRaid;
|
||||
import quests.not_done.Q00573_SpecialMissionProofOfStrengthFieldRaid;
|
||||
@ -738,7 +738,7 @@ public class QuestMasterHandler
|
||||
Q00567_BasicMissionIsleOfSouls.class,
|
||||
Q00568_SpecialMissionNornilsCave.class,
|
||||
Q00569_BasicMissionSealOfShilen.class,
|
||||
Q00570_SpecialMissionKartiasLabyrinthParty.class, // TODO: Not done.
|
||||
Q00570_SpecialMissionKartiasLabyrinthParty.class,
|
||||
Q00571_SpecialMissionProofOfUnityFieldRaid.class, // TODO: Not done.
|
||||
Q00572_SpecialMissionProofOfCourageFieldRaid.class, // TODO: Not done.
|
||||
Q00573_SpecialMissionProofOfStrengthFieldRaid.class, // TODO: Not done.
|
||||
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34413;
|
||||
|
||||
public Q00570_SpecialMissionKartiasLabyrinthParty()
|
||||
{
|
||||
super(570);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -4,7 +4,6 @@
|
||||
555 Red Libra Request - Atelia Refinery
|
||||
556 Red Libra Request - Fallen Emperor's Throne
|
||||
557 Red Libra Request - Fall of Etina
|
||||
570 Special Mission: Kartia's Labyrinth (Party)
|
||||
571 Special Mission: Proof of Unity (Field Raid)
|
||||
572 Special Mission: Proof of Courage (Field Raid)
|
||||
573 Special Mission: Proof of Strength (Field Raid)
|
||||
|
@ -0,0 +1,4 @@
|
||||
<html><body>Kartia Researcher:<br>
|
||||
The Adventure Guild is very famous, almost everyone knows about them. If they're the ones who sent you, I'm sure you're trustworthy!<br>
|
||||
To do the basic mission quest, <font color="LEVEL">Kartia's Labyrinth (Party)</font>, you have to do the <font color="LEVEL">"Incarnation of Greed Zellaka (Party), Incarnation of Jealousy Pelline (Party) or Incarnation of Gluttony Kalios (Party)"</font> quests from Kartia Researcher.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Kartia Researcher:<br>
|
||||
Now go back to Adventure Guildsman Penny.<br>
|
||||
</body></html>
|
@ -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 2 or above with the Blackbird Clan may undertake this quest.)</font><br>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-02.htm">"Sure, no problem!"</button>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-03.htm">"Go on."</button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Your mission is to assist with task at Kartia's Labyrinth. If are 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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-04.html">"Alright."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Good choice. Now, let me tell you about the mission.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-05.html">"Go on."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
To do this mission, you have to go to <font color="LEVEL">Kartia's Labyrinth</font>. It is called an <font color="LEVEL">Instanced Zone</font>, and is different from normal hunting grounds.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-06.html">"What's the difference?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Only you and your party can enter the <font color="LEVEL">Instanced Zone Dungeon</font>. That way, you can focus on hunting, without worring about outsiders. But there's a catch, you can only enter the dungeon a limited number of times at certain hours.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-07.html">"Could you tell me more about the mission?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
To do the mission, you have to meet the <font color="LEVEL">Kartia Researcher</font> at the Town of Aden. Do the mission that they give. Then, come back to me.<br>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-09.html">"Yes, I did."</Button>
|
||||
</body></html>
|
@ -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!<br>
|
||||
</body></html>
|
@ -0,0 +1,205 @@
|
||||
/*
|
||||
* 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.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
|
||||
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.network.serverpackets.ExTutorialShowId;
|
||||
|
||||
/**
|
||||
* Special Mission: Kartia's Labyrinth (Party) (570)
|
||||
* @URL https://l2wiki.com/Special_Mission:_Kartia%27s_Labyrinth_(Party)
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q00570_SpecialMissionKartiasLabyrinthParty extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int PENNY = 34413;
|
||||
private static final int KARTIA = 33647;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 87;
|
||||
private static final int MAX_LEVEL = 99;
|
||||
|
||||
public Q00570_SpecialMissionKartiasLabyrinthParty()
|
||||
{
|
||||
super(564);
|
||||
addStartNpc(PENNY);
|
||||
addTalkId(PENNY, KARTIA);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
|
||||
addFactionLevel(Faction.ADVENTURE_GUILD, 2, "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-05.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-04.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-06.html":
|
||||
{
|
||||
// Show Service/Help/Instance Zone page
|
||||
player.sendPacket(new ExTutorialShowId(29));
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-07.html":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-09.html":
|
||||
{
|
||||
final StringBuilder str = new StringBuilder("000");
|
||||
checkQuestCompleted(player, str); // Initialize the array with all quests completed
|
||||
|
||||
if (str.indexOf("1") == -1) // verify if no quest completed
|
||||
{
|
||||
htmltext = "34413-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (str.charAt(0) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 100); // add 100 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 349752660, 349740);
|
||||
}
|
||||
if (str.charAt(1) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 125); // add 125 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 646727130, 646710);
|
||||
}
|
||||
if (str.charAt(2) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 150); // add 150 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 1793099880L, 1793070);
|
||||
}
|
||||
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:
|
||||
{
|
||||
htmltext = qs.isCond(2) ? "34413-07.html" : "34413-08.html";
|
||||
break;
|
||||
}
|
||||
case KARTIA:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
final StringBuilder str = new StringBuilder("000");
|
||||
checkQuestCompleted(player, str); // Initialize the array with all quests completed
|
||||
|
||||
if (str.indexOf("1") != -1) // verify if any quest completed
|
||||
{
|
||||
qs.setCond(4, true);
|
||||
htmltext = "33647-02.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33647-01.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private StringBuilder checkQuestCompleted(PlayerInstance player, StringBuilder string)
|
||||
{
|
||||
int index = 0;
|
||||
final char ch = '1';
|
||||
final QuestState st1 = player.getQuestState("Q00494_IncarnationOfGreedZellakaGroup");
|
||||
if ((st1 != null) && st1.isCompleted())
|
||||
{
|
||||
index = 0;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
final QuestState st2 = player.getQuestState("Q00495_IncarnationOfJealousyPellineGroup");
|
||||
if ((st2 != null) && st2.isCompleted())
|
||||
{
|
||||
index = 1;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
final QuestState st3 = player.getQuestState("Q00496_IncarnationOfGluttonyKaliosGroup");
|
||||
if ((st3 != null) && st3.isCompleted())
|
||||
{
|
||||
index = 2;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
return string;
|
||||
}
|
||||
}
|
@ -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.87-99.)
|
||||
</body></html>
|
@ -124,6 +124,7 @@ import quests.Q00566_BasicMissionFairySettlementEast.Q00566_BasicMissionFairySet
|
||||
import quests.Q00567_BasicMissionIsleOfSouls.Q00567_BasicMissionIsleOfSouls;
|
||||
import quests.Q00568_SpecialMissionNornilsCave.Q00568_SpecialMissionNornilsCave;
|
||||
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
|
||||
import quests.Q00570_SpecialMissionKartiasLabyrinthParty.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
import quests.Q00574_SpecialMissionNornilsGarden.Q00574_SpecialMissionNornilsGarden;
|
||||
import quests.Q00577_BasicMissionSilentValley.Q00577_BasicMissionSilentValley;
|
||||
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
|
||||
@ -471,7 +472,6 @@ import quests.Q10891_AtANewPlace.Q10891_AtANewPlace;
|
||||
import quests.Q10892_RevengeOneStepAtATime.Q10892_RevengeOneStepAtATime;
|
||||
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
|
||||
import quests.not_done.Q00529_RegularBarrierMaintenance;
|
||||
import quests.not_done.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
import quests.not_done.Q00571_SpecialMissionProofOfUnityFieldRaid;
|
||||
import quests.not_done.Q00572_SpecialMissionProofOfCourageFieldRaid;
|
||||
import quests.not_done.Q00573_SpecialMissionProofOfStrengthFieldRaid;
|
||||
@ -682,7 +682,7 @@ public class QuestMasterHandler
|
||||
Q00567_BasicMissionIsleOfSouls.class,
|
||||
Q00568_SpecialMissionNornilsCave.class,
|
||||
Q00569_BasicMissionSealOfShilen.class,
|
||||
Q00570_SpecialMissionKartiasLabyrinthParty.class, // TODO: Not done.
|
||||
Q00570_SpecialMissionKartiasLabyrinthParty.class,
|
||||
Q00571_SpecialMissionProofOfUnityFieldRaid.class, // TODO: Not done.
|
||||
Q00572_SpecialMissionProofOfCourageFieldRaid.class, // TODO: Not done.
|
||||
Q00573_SpecialMissionProofOfStrengthFieldRaid.class, // TODO: Not done.
|
||||
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34413;
|
||||
|
||||
public Q00570_SpecialMissionKartiasLabyrinthParty()
|
||||
{
|
||||
super(570);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -6,8 +6,7 @@
|
||||
556 Red Libra Request - Fallen Emperor's Throne
|
||||
557 Red Libra Request - Fall of Etina
|
||||
558 Request from the Red Libra Guild - Sea of Spores
|
||||
559 Request from the Red Libra Guild - Krofin’s Nest
|
||||
570 Special Mission: Kartia's Labyrinth (Party)
|
||||
559 Request from the Red Libra Guild - Krofin's Nest
|
||||
571 Special Mission: Proof of Unity (Field Raid)
|
||||
572 Special Mission: Proof of Courage (Field Raid)
|
||||
573 Special Mission: Proof of Strength (Field Raid)
|
||||
|
@ -0,0 +1,4 @@
|
||||
<html><body>Kartia Researcher:<br>
|
||||
The Adventure Guild is very famous, almost everyone knows about them. If they're the ones who sent you, I'm sure you're trustworthy!<br>
|
||||
To do the basic mission quest, <font color="LEVEL">Kartia's Labyrinth (Party)</font>, you have to do the <font color="LEVEL">"Incarnation of Greed Zellaka (Party), Incarnation of Jealousy Pelline (Party) or Incarnation of Gluttony Kalios (Party)"</font> quests from Kartia Researcher.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Kartia Researcher:<br>
|
||||
Now go back to Adventure Guildsman Penny.<br>
|
||||
</body></html>
|
@ -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 2 or above with the Blackbird Clan may undertake this quest.)</font><br>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-02.htm">"Sure, no problem!"</button>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-03.htm">"Go on."</button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Your mission is to assist with task at Kartia's Labyrinth. If are 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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-04.html">"Alright."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Good choice. Now, let me tell you about the mission.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-05.html">"Go on."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
To do this mission, you have to go to <font color="LEVEL">Kartia's Labyrinth</font>. It is called an <font color="LEVEL">Instanced Zone</font>, and is different from normal hunting grounds.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-06.html">"What's the difference?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Only you and your party can enter the <font color="LEVEL">Instanced Zone Dungeon</font>. That way, you can focus on hunting, without worring about outsiders. But there's a catch, you can only enter the dungeon a limited number of times at certain hours.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-07.html">"Could you tell me more about the mission?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
To do the mission, you have to meet the <font color="LEVEL">Kartia Researcher</font> at the Town of Aden. Do the mission that they give. Then, come back to me.<br>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-09.html">"Yes, I did."</Button>
|
||||
</body></html>
|
@ -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!<br>
|
||||
</body></html>
|
@ -0,0 +1,205 @@
|
||||
/*
|
||||
* 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.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
|
||||
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.network.serverpackets.ExTutorialShowId;
|
||||
|
||||
/**
|
||||
* Special Mission: Kartia's Labyrinth (Party) (570)
|
||||
* @URL https://l2wiki.com/Special_Mission:_Kartia%27s_Labyrinth_(Party)
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q00570_SpecialMissionKartiasLabyrinthParty extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int PENNY = 34413;
|
||||
private static final int KARTIA = 33647;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 87;
|
||||
private static final int MAX_LEVEL = 99;
|
||||
|
||||
public Q00570_SpecialMissionKartiasLabyrinthParty()
|
||||
{
|
||||
super(564);
|
||||
addStartNpc(PENNY);
|
||||
addTalkId(PENNY, KARTIA);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
|
||||
addFactionLevel(Faction.ADVENTURE_GUILD, 2, "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-05.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-04.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-06.html":
|
||||
{
|
||||
// Show Service/Help/Instance Zone page
|
||||
player.sendPacket(new ExTutorialShowId(29));
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-07.html":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-09.html":
|
||||
{
|
||||
final StringBuilder str = new StringBuilder("000");
|
||||
checkQuestCompleted(player, str); // Initialize the array with all quests completed
|
||||
|
||||
if (str.indexOf("1") == -1) // verify if no quest completed
|
||||
{
|
||||
htmltext = "34413-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (str.charAt(0) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 100); // add 100 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 349752660, 349740);
|
||||
}
|
||||
if (str.charAt(1) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 125); // add 125 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 646727130, 646710);
|
||||
}
|
||||
if (str.charAt(2) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 150); // add 150 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 1793099880L, 1793070);
|
||||
}
|
||||
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:
|
||||
{
|
||||
htmltext = qs.isCond(2) ? "34413-07.html" : "34413-08.html";
|
||||
break;
|
||||
}
|
||||
case KARTIA:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
final StringBuilder str = new StringBuilder("000");
|
||||
checkQuestCompleted(player, str); // Initialize the array with all quests completed
|
||||
|
||||
if (str.indexOf("1") != -1) // verify if any quest completed
|
||||
{
|
||||
qs.setCond(4, true);
|
||||
htmltext = "33647-02.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33647-01.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private StringBuilder checkQuestCompleted(PlayerInstance player, StringBuilder string)
|
||||
{
|
||||
int index = 0;
|
||||
final char ch = '1';
|
||||
final QuestState st1 = player.getQuestState("Q00494_IncarnationOfGreedZellakaGroup");
|
||||
if ((st1 != null) && st1.isCompleted())
|
||||
{
|
||||
index = 0;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
final QuestState st2 = player.getQuestState("Q00495_IncarnationOfJealousyPellineGroup");
|
||||
if ((st2 != null) && st2.isCompleted())
|
||||
{
|
||||
index = 1;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
final QuestState st3 = player.getQuestState("Q00496_IncarnationOfGluttonyKaliosGroup");
|
||||
if ((st3 != null) && st3.isCompleted())
|
||||
{
|
||||
index = 2;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
return string;
|
||||
}
|
||||
}
|
@ -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.87-99.)
|
||||
</body></html>
|
@ -124,6 +124,7 @@ import quests.Q00566_BasicMissionFairySettlementEast.Q00566_BasicMissionFairySet
|
||||
import quests.Q00567_BasicMissionIsleOfSouls.Q00567_BasicMissionIsleOfSouls;
|
||||
import quests.Q00568_SpecialMissionNornilsCave.Q00568_SpecialMissionNornilsCave;
|
||||
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
|
||||
import quests.Q00570_SpecialMissionKartiasLabyrinthParty.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
import quests.Q00574_SpecialMissionNornilsGarden.Q00574_SpecialMissionNornilsGarden;
|
||||
import quests.Q00577_BasicMissionSilentValley.Q00577_BasicMissionSilentValley;
|
||||
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
|
||||
@ -487,7 +488,6 @@ import quests.custom.Q10520_TempleGuardians.Q10520_TempleGuardians;
|
||||
import quests.custom.Q10529_IvoryTowersResearchFloatingSeaJournal.Q10529_IvoryTowersResearchFloatingSeaJournal;
|
||||
import quests.custom.Q10533_OrfensAmbition.Q10533_OrfensAmbition;
|
||||
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
|
||||
import quests.not_done.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
import quests.not_done.Q00571_SpecialMissionProofOfUnityFieldRaid;
|
||||
import quests.not_done.Q00572_SpecialMissionProofOfCourageFieldRaid;
|
||||
import quests.not_done.Q00573_SpecialMissionProofOfStrengthFieldRaid;
|
||||
@ -702,7 +702,7 @@ public class QuestMasterHandler
|
||||
Q00567_BasicMissionIsleOfSouls.class,
|
||||
Q00568_SpecialMissionNornilsCave.class,
|
||||
Q00569_BasicMissionSealOfShilen.class,
|
||||
Q00570_SpecialMissionKartiasLabyrinthParty.class, // TODO: Not done.
|
||||
Q00570_SpecialMissionKartiasLabyrinthParty.class,
|
||||
Q00571_SpecialMissionProofOfUnityFieldRaid.class, // TODO: Not done.
|
||||
Q00572_SpecialMissionProofOfCourageFieldRaid.class, // TODO: Not done.
|
||||
Q00573_SpecialMissionProofOfStrengthFieldRaid.class, // TODO: Not done.
|
||||
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34413;
|
||||
|
||||
public Q00570_SpecialMissionKartiasLabyrinthParty()
|
||||
{
|
||||
super(570);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -39,7 +39,6 @@
|
||||
557 Red Libra Request - Fall of Etina
|
||||
558 Red Libra Request - Sea of Spores
|
||||
559 Request from the Red Libra Guild - Krofin's Nest
|
||||
570 Special Mission: Kartia's Labyrinth (Party)
|
||||
571 Special Mission: Proof of Unity (Field Raid)
|
||||
572 Special Mission: Proof of Courage (Field Raid)
|
||||
573 Special Mission: Proof of Strength (Field Raid)
|
||||
|
@ -0,0 +1,4 @@
|
||||
<html><body>Kartia Researcher:<br>
|
||||
The Adventure Guild is very famous, almost everyone knows about them. If they're the ones who sent you, I'm sure you're trustworthy!<br>
|
||||
To do the basic mission quest, <font color="LEVEL">Kartia's Labyrinth (Party)</font>, you have to do the <font color="LEVEL">"Incarnation of Greed Zellaka (Party), Incarnation of Jealousy Pelline (Party) or Incarnation of Gluttony Kalios (Party)"</font> quests from Kartia Researcher.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Kartia Researcher:<br>
|
||||
Now go back to Adventure Guildsman Penny.<br>
|
||||
</body></html>
|
@ -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 2 or above with the Blackbird Clan may undertake this quest.)</font><br>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-02.htm">"Sure, no problem!"</button>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-03.htm">"Go on."</button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Your mission is to assist with task at Kartia's Labyrinth. If are 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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-04.html">"Alright."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Good choice. Now, let me tell you about the mission.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-05.html">"Go on."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
To do this mission, you have to go to <font color="LEVEL">Kartia's Labyrinth</font>. It is called an <font color="LEVEL">Instanced Zone</font>, and is different from normal hunting grounds.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-06.html">"What's the difference?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
Only you and your party can enter the <font color="LEVEL">Instanced Zone Dungeon</font>. That way, you can focus on hunting, without worring about outsiders. But there's a catch, you can only enter the dungeon a limited number of times at certain hours.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00570_SpecialMissionKartiasLabyrinthParty 34413-07.html">"Could you tell me more about the mission?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Adventure Guildsman Penny:<br>
|
||||
To do the mission, you have to meet the <font color="LEVEL">Kartia Researcher</font> at the Town of Aden. Do the mission that they give. Then, come back to me.<br>
|
||||
</body></html>
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty 34413-09.html">"Yes, I did."</Button>
|
||||
</body></html>
|
@ -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!<br>
|
||||
</body></html>
|
@ -0,0 +1,205 @@
|
||||
/*
|
||||
* 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.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
|
||||
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.network.serverpackets.ExTutorialShowId;
|
||||
|
||||
/**
|
||||
* Special Mission: Kartia's Labyrinth (Party) (570)
|
||||
* @URL https://l2wiki.com/Special_Mission:_Kartia%27s_Labyrinth_(Party)
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q00570_SpecialMissionKartiasLabyrinthParty extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int PENNY = 34413;
|
||||
private static final int KARTIA = 33647;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 87;
|
||||
private static final int MAX_LEVEL = 99;
|
||||
|
||||
public Q00570_SpecialMissionKartiasLabyrinthParty()
|
||||
{
|
||||
super(564);
|
||||
addStartNpc(PENNY);
|
||||
addTalkId(PENNY, KARTIA);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
|
||||
addFactionLevel(Faction.ADVENTURE_GUILD, 2, "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-05.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-04.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-06.html":
|
||||
{
|
||||
// Show Service/Help/Instance Zone page
|
||||
player.sendPacket(new ExTutorialShowId(29));
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-07.html":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34413-09.html":
|
||||
{
|
||||
final StringBuilder str = new StringBuilder("000");
|
||||
checkQuestCompleted(player, str); // Initialize the array with all quests completed
|
||||
|
||||
if (str.indexOf("1") == -1) // verify if no quest completed
|
||||
{
|
||||
htmltext = "34413-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (str.charAt(0) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 100); // add 100 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 349752660, 349740);
|
||||
}
|
||||
if (str.charAt(1) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 125); // add 125 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 646727130, 646710);
|
||||
}
|
||||
if (str.charAt(2) == '1')
|
||||
{
|
||||
addFactionPoints(player, Faction.ADVENTURE_GUILD, 150); // add 150 points to ADVENTURE_GUILD Faction
|
||||
addExpAndSp(player, 1793099880L, 1793070);
|
||||
}
|
||||
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:
|
||||
{
|
||||
htmltext = qs.isCond(2) ? "34413-07.html" : "34413-08.html";
|
||||
break;
|
||||
}
|
||||
case KARTIA:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
final StringBuilder str = new StringBuilder("000");
|
||||
checkQuestCompleted(player, str); // Initialize the array with all quests completed
|
||||
|
||||
if (str.indexOf("1") != -1) // verify if any quest completed
|
||||
{
|
||||
qs.setCond(4, true);
|
||||
htmltext = "33647-02.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33647-01.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private StringBuilder checkQuestCompleted(PlayerInstance player, StringBuilder string)
|
||||
{
|
||||
int index = 0;
|
||||
final char ch = '1';
|
||||
final QuestState st1 = player.getQuestState("Q00494_IncarnationOfGreedZellakaGroup");
|
||||
if ((st1 != null) && st1.isCompleted())
|
||||
{
|
||||
index = 0;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
final QuestState st2 = player.getQuestState("Q00495_IncarnationOfJealousyPellineGroup");
|
||||
if ((st2 != null) && st2.isCompleted())
|
||||
{
|
||||
index = 1;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
final QuestState st3 = player.getQuestState("Q00496_IncarnationOfGluttonyKaliosGroup");
|
||||
if ((st3 != null) && st3.isCompleted())
|
||||
{
|
||||
index = 2;
|
||||
string.setCharAt(index, ch);
|
||||
}
|
||||
return string;
|
||||
}
|
||||
}
|
@ -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.87-99.)
|
||||
</body></html>
|
@ -58,6 +58,7 @@ import quests.Q00564_BasicMissionKartiasLabyrinthSolo.Q00564_BasicMissionKartias
|
||||
import quests.Q00567_BasicMissionIsleOfSouls.Q00567_BasicMissionIsleOfSouls;
|
||||
import quests.Q00568_SpecialMissionNornilsCave.Q00568_SpecialMissionNornilsCave;
|
||||
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
|
||||
import quests.Q00570_SpecialMissionKartiasLabyrinthParty.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
import quests.Q00574_SpecialMissionNornilsGarden.Q00574_SpecialMissionNornilsGarden;
|
||||
import quests.Q00577_BasicMissionSilentValley.Q00577_BasicMissionSilentValley;
|
||||
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
|
||||
@ -251,7 +252,6 @@ import quests.custom.Q10529_IvoryTowersResearchFloatingSeaJournal.Q10529_IvoryTo
|
||||
import quests.custom.Q10533_OrfensAmbition.Q10533_OrfensAmbition;
|
||||
import quests.not_done.Q00282_ADayOfKindnessAndCaring;
|
||||
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
|
||||
import quests.not_done.Q00570_SpecialMissionKartiasLabyrinthParty;
|
||||
import quests.not_done.Q00571_SpecialMissionProofOfUnityFieldRaid;
|
||||
import quests.not_done.Q00572_SpecialMissionProofOfCourageFieldRaid;
|
||||
import quests.not_done.Q00573_SpecialMissionProofOfStrengthFieldRaid;
|
||||
@ -381,7 +381,7 @@ public class QuestMasterHandler
|
||||
Q00567_BasicMissionIsleOfSouls.class,
|
||||
Q00568_SpecialMissionNornilsCave.class,
|
||||
Q00569_BasicMissionSealOfShilen.class,
|
||||
Q00570_SpecialMissionKartiasLabyrinthParty.class, // TODO: Not done.
|
||||
Q00570_SpecialMissionKartiasLabyrinthParty.class,
|
||||
Q00571_SpecialMissionProofOfUnityFieldRaid.class, // TODO: Not done.
|
||||
Q00572_SpecialMissionProofOfCourageFieldRaid.class, // TODO: Not done.
|
||||
Q00573_SpecialMissionProofOfStrengthFieldRaid.class, // TODO: Not done.
|
||||
|
@ -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 Q00570_SpecialMissionKartiasLabyrinthParty extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34413;
|
||||
|
||||
public Q00570_SpecialMissionKartiasLabyrinthParty()
|
||||
{
|
||||
super(570);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user