Exalted quest updates.
Contributed by CostyKiller.
This commit is contained in:
@@ -149,12 +149,6 @@
|
||||
10854 To Seize the Fortress
|
||||
10858 Queen Ramona, Controller of the Vessel
|
||||
10859 Own the Earth and the Heavens
|
||||
10874 Against the New Enemy
|
||||
10875 For Reputation
|
||||
10877 Break Through Crisis
|
||||
10881 For the Pride
|
||||
10882 Victory Collection
|
||||
10883 Immortal Honor
|
||||
10885 Savior's Path - Discovery
|
||||
10886 Savior's Path - Search the Refinery
|
||||
10887 Savior's Path - Demons and Atelia
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Eva's Knight Lionel Hunter:<br>
|
||||
I'll be seeing whether you have what it takes to become stronger.<br>
|
||||
First, you must prove that you are capable of using <font color="LEVEL">16 Ability Points</font>. Learn a skill with Ability Points and prove your strength.<br>
|
||||
Then, pass the tests set by the following people and bring back certificates. The people who will test you are <font color="LEVEL">Verdure Elder Elikia</font> in <font color="LEVEL">Heine</font>, the <font color="LEVEL">Mysterious Butler</font>, <font color="LEVEL">Trader Galladucci</font> in the <font color="LEVEL">Town of Giran</font>, and <font color="LEVEL">Sir Eric Rodemai</font> in the <font color="LEVEL">Town of Aden</font>.<br>
|
||||
Then, pass the tests set by the following people and bring back certificates. The people who will test you are <font color="LEVEL">Verdure Elder Elikia</font> in <font color="LEVEL">Heine</font>, the <font color="LEVEL">Mysterious Butler</font>, <font color="LEVEL">Trader Galladucci</font> in the <font color="LEVEL">Town of Giran</font>, and <font color="LEVEL">Sir Eric Rodemai</font> in the <font color="LEVEL">Town of Aden</font>. <br><br><br>
|
||||
Go talk to them to find out what their tests are about. I'll be waiting for you to return with the certificates. If you forget who you must go to, refer to the guide I'll be giving you.
|
||||
</body></html>
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Eva's Knight Lionel Hunter:<br>
|
||||
Still? I'll explain again, so remember it.<br>
|
||||
Use <font color="LEVEL">16 Ability Points</font> to learn a skill and prove your strength. After that, pass the tests of the following people and bring back their certificates.<br>
|
||||
The first people who will test you are <font color="LEVEL">Verdure Elder Elikia</font> in <font color="LEVEL">Heine</font>, the <font color="LEVEL">Mysterious Butler</font>, <font color="LEVEL">Trader Galladucci</font> in the <font color="LEVEL">Town of Giran</font>, and <font color="LEVEL">Sir Eric Rodemai</font> in the <font color="LEVEL">Town of Aden</font>.<br>
|
||||
The first people who will test you are <font color="LEVEL">Verdure Elder Elikia</font> in <font color="LEVEL">Heine</font>, the <font color="LEVEL">Mysterious Butler</font>, <font color="LEVEL">Trader Galladucci</font> in the <font color="LEVEL">Town of Giran</font>, and <font color="LEVEL">Sir Eric Rodemai</font> in the <font color="LEVEL">Town of Aden</font>. <br><br><br>
|
||||
Go talk to them to find out what their tests are about. I'll be waiting for you to return with the certificates.
|
||||
</body></html>
|
@@ -30,7 +30,7 @@ import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimi
|
||||
|
||||
/**
|
||||
* Facing Sadness (10812)
|
||||
* @author Stayway
|
||||
* @author Stayway, CostyKiller
|
||||
*/
|
||||
public class Q10812_FacingSadness extends Quest
|
||||
{
|
||||
@@ -100,6 +100,7 @@ public class Q10812_FacingSadness extends Quest
|
||||
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 99;
|
||||
private static final int PROOF_OF_DISPOSAL_NEEDED = 8000;
|
||||
|
||||
public Q10812_FacingSadness()
|
||||
{
|
||||
@@ -145,7 +146,7 @@ public class Q10812_FacingSadness extends Quest
|
||||
{
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
takeItems(player, PROOF_OF_DISPOSAL, -1);
|
||||
takeItems(player, PROOF_OF_DISPOSAL, PROOF_OF_DISPOSAL_NEEDED);
|
||||
giveItems(player, ELIKIA_CERTIFICATE, 1);
|
||||
addExpAndSp(player, 0, 498204432);
|
||||
qs.exitQuest(false, true);
|
||||
@@ -193,7 +194,7 @@ public class Q10812_FacingSadness extends Quest
|
||||
{
|
||||
htmltext = "31620-05.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
else if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_DISPOSAL) >= PROOF_OF_DISPOSAL_NEEDED))
|
||||
{
|
||||
htmltext = "31620-07.html";
|
||||
}
|
||||
@@ -221,12 +222,12 @@ public class Q10812_FacingSadness extends Quest
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
if (getQuestItemsCount(player, PROOF_OF_DISPOSAL) < 8000)
|
||||
if (getQuestItemsCount(player, PROOF_OF_DISPOSAL) < PROOF_OF_DISPOSAL_NEEDED)
|
||||
{
|
||||
giveItems(player, PROOF_OF_DISPOSAL, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
if (getQuestItemsCount(player, PROOF_OF_DISPOSAL) >= 8000)
|
||||
if (getQuestItemsCount(player, PROOF_OF_DISPOSAL) >= PROOF_OF_DISPOSAL_NEEDED)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<html><body>Eva's Knight Lionel Hunter:<br>
|
||||
Have you completed all the tests?<br>
|
||||
Congratulations on passing them all. Did you bring back all the certificates?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10817_ExaltedOneWhoOvercomesTheLimit 33907-08.html">"Yes, here."</Button>
|
||||
You are not ready to be called by me. Come back when you are ready.<br>
|
||||
(Only Noblesse characters Lv. 99 or above can perform this quest.)
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Eva's Knight Lionel Hunter:<br>
|
||||
You are on track to overcoming your limit. Congratulations on passing the second test.<br>
|
||||
Don't get complacent, though. You'll soon be taking the third test, once you are ready for it.<br>
|
||||
I'll call you when you are ready.
|
||||
Have you completed all the tests?<br>
|
||||
Congratulations on passing them all. Did you bring back all the certificates?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10817_ExaltedOneWhoOvercomesTheLimit 33907-09.html">"Yes, here."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Eva's Knight Lionel Hunter:<br>
|
||||
You are on track to overcoming your limit. Congratulations on passing the second test.<br>
|
||||
Don't get complacent, though. You'll soon be taking the third test, once you are ready for it.<br>
|
||||
I'll call you when you are ready.
|
||||
</body></html>
|
@@ -84,7 +84,7 @@ public class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "33907-08.html":
|
||||
case "33907-09.html":
|
||||
{
|
||||
if (hasQuestItems(player, DAICHIR_SERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
|
||||
{
|
||||
@@ -116,7 +116,7 @@ public class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
|
||||
{
|
||||
if (hasQuestItems(player, DAICHIR_SERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
|
||||
{
|
||||
htmltext = "33907-07.html";
|
||||
htmltext = "33907-08.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<html><body>Eva's Knight Lionel Hunter:<br>
|
||||
You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
|
||||
Do you have all the certificates?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-08.html">"Yes, here."</Button>
|
||||
You are not ready to be called by me. Come back when you are ready.<br>
|
||||
(Only Noblesse characters Lv. 100 or above can perform this quest.)
|
||||
</body></html>
|
@@ -1,4 +1,5 @@
|
||||
<html><body>Eva's Knight Lionel Hunter:<br>
|
||||
The power given to us by the gods... we called it Noblesse. But you've proven that we are now able to overcome any limits without the protection of the gods.<br>
|
||||
Now that you've shattered the limits set by the gods, we will call you <font color="LEVEL">Exalted</font>. You are now one step above Noblesse. Congratulations.
|
||||
You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
|
||||
Do you have all the certificates?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-09.html">"Yes, here."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Eva's Knight Lionel Hunter:<br>
|
||||
The power given to us by the gods... we called it Noblesse. But you've proven that we are now able to overcome any limits without the protection of the gods.<br>
|
||||
Now that you've shattered the limits set by the gods, we will call you <font color="LEVEL">Exalted</font>. You are now one step above Noblesse. Congratulations.
|
||||
</body></html>
|
@@ -34,7 +34,7 @@ public class Q10823_ExaltedOneWhoShattersTheLimit extends Quest
|
||||
// NPC
|
||||
private static final int LIONEL = 33907;
|
||||
// Items
|
||||
private static final int MERLOT_SERTIFICATE = 46056;
|
||||
private static final int MERLOT_CERTIFICATE = 46056;
|
||||
private static final int KURTIZ_CERTIFICATE = 46057;
|
||||
private static final int MAMMON_CERTIFICATE = 45635;
|
||||
private static final int GUSTAV_CERTIFICATE = 45636;
|
||||
@@ -53,9 +53,9 @@ public class Q10823_ExaltedOneWhoShattersTheLimit extends Quest
|
||||
super(10823);
|
||||
addStartNpc(LIONEL);
|
||||
addTalkId(LIONEL);
|
||||
addCondMinLevel(MIN_LEVEL, "");
|
||||
addCondMinLevel(MIN_LEVEL, "33907-07.html");
|
||||
addCondCompletedQuest(Q10817_ExaltedOneWhoOvercomesTheLimit.class.getSimpleName(), "33907-02.html");
|
||||
registerQuestItems(LIONEL_MISSION_LIST_3, MERLOT_SERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE);
|
||||
registerQuestItems(LIONEL_MISSION_LIST_3, MERLOT_CERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -86,14 +86,18 @@ public class Q10823_ExaltedOneWhoShattersTheLimit extends Quest
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "33907-08.html":
|
||||
case "33907-09.html":
|
||||
{
|
||||
if (hasQuestItems(player, MERLOT_SERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE) && ((player.getDualClass() != null) && (player.getDualClass().getLevel() >= MIN_DUALCLASS_LEVEL)))
|
||||
if (hasQuestItems(player, MERLOT_CERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE) && ((player.getDualClass() != null) && (player.getDualClass().getLevel() >= MIN_DUALCLASS_LEVEL)))
|
||||
{
|
||||
giveItems(player, EXALTED_CLOAK, 1);
|
||||
giveItems(player, OBTAIN_EXALTED_STATUS, 1);
|
||||
giveItems(player, EXALTED_TIARA, 1);
|
||||
giveItems(player, DIGNITY_OF_THE_EXALTED, 1);
|
||||
// Give Exalted status here?
|
||||
// https://l2wiki.com/Noblesse
|
||||
player.setNobleLevel(2);
|
||||
player.broadcastUserInfo();
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
@@ -118,9 +122,9 @@ public class Q10823_ExaltedOneWhoShattersTheLimit extends Quest
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (hasQuestItems(player, MERLOT_SERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE) && ((player.getDualClass() != null) && (player.getDualClass().getLevel() >= MIN_DUALCLASS_LEVEL)))
|
||||
if (hasQuestItems(player, MERLOT_CERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE) && ((player.getDualClass() != null) && (player.getDualClass().getLevel() >= MIN_DUALCLASS_LEVEL)))
|
||||
{
|
||||
htmltext = "33907-07.html";
|
||||
htmltext = "33907-08.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -38,7 +38,7 @@ public class Q10826_LuckBefittingOfTheStatus extends Quest
|
||||
private static final int BLACKSMITH_OF_MAMMON = 31126;
|
||||
// Items
|
||||
private static final int LADY_KNIFE = 45645;
|
||||
private static final int MERLOT_SERTIFICATE = 46056;
|
||||
private static final int MERLOT_CERTIFICATE = 46056;
|
||||
private static final int KURTIZ_CERTIFICATE = 46057;
|
||||
private static final int GUSTAV_CERTIFICATE = 45636;
|
||||
// Rewards
|
||||
@@ -118,7 +118,7 @@ public class Q10826_LuckBefittingOfTheStatus extends Quest
|
||||
{
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
if (hasQuestItems(player, KURTIZ_CERTIFICATE, MERLOT_SERTIFICATE, GUSTAV_CERTIFICATE))
|
||||
if (hasQuestItems(player, KURTIZ_CERTIFICATE, MERLOT_CERTIFICATE, GUSTAV_CERTIFICATE))
|
||||
{
|
||||
htmltext = "31126-15.html";
|
||||
}
|
||||
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Fire Dragon Bride Leona Blackbird:<br>
|
||||
You have to bring me 10.000 <font color="LEVEL">Proof of Qualification</font> to obtain my certificate.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fire Dragon Bride Leona Blackbird:<br>
|
||||
Have you brought me 10.000 <font color="LEVEL">Proof of Qualification</font>, if not then go get them, to obtain the certificate.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-02.htm">"Yes, here they are."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Fire Dragon Bride Leona Blackbird:<br>
|
||||
Good! You have brought 10.000 <font color="LEVEL">Proof of Qualification</font>.<br>
|
||||
Now choose your reward:<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-03.htm">"4.500 GIANT TRACKERS Faction Points."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-04.htm">"4.500 BLACKBIRD CLAN Faction Points."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Fire Dragon Bride Leona Blackbird:<br>
|
||||
You received <font color="LEVEL">4.500 GIANT TRACKERS Faction Points</font>.<br>
|
||||
Now you can get your certificate.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-05.html">"Obtain certificate."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Fire Dragon Bride Leona Blackbird:<br>
|
||||
You received <font color="LEVEL">4.500 BLACKBIRD CLAN Faction Points</font>.<br>
|
||||
Now you can get your certificate.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-05.htm">"Obtain certificate."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Fire Dragon Bride Leona Blackbird:<br>
|
||||
You received your <font color="LEVEL">Faction Points</font>.<br>
|
||||
Now you can get your certificate.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-06.html">"Obtain certificate."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Fire Dragon Bride Leona Blackbird:<br>
|
||||
I knew you could do it. Here's the certificate. I hope you become even stronger.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Commando Captain Sporcha:<br>
|
||||
You are not ready to be called by me. Come back when you are ready.<br>
|
||||
(The Exalted, Reaching Another Level quest is in progress and level 103+ and Lionel Hunter Mission List - 4 should be in the inventory.)
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Commando Captain Sporcha:<br>
|
||||
I've been planning for a long time! I mean... well, I belive one who wants to lead the world... must pass a very difficult test.<br>
|
||||
If I had a chance to give such test, I'd make an unimaginably difficult test. That's what I thought.<br>
|
||||
Are you listening to me?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 34230-02.htm">"Go on."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Commando Captain Sporcha:<br>
|
||||
Lionel Hunter said that you would lead the world. A leader must have dignity. I ask you to prove it.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10874_AgainstTheNewEnemy 34230-03.htm">"Ask what to prove."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Commando Captain Sporcha:<br>
|
||||
Then, I have the chance I'd always dreamed of! Hahaha. Oops, I'm sorry. I'm just so happy to have this chance.<br>
|
||||
If anyone wants to take my test, I'll put him through the most terrible time of their lives... If you're not ready, you'd better leave now. Otherwise, you'll die before your time.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10874_AgainstTheNewEnemy 34230-04.htm">"I will take the test."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,7 @@
|
||||
<html><body>Commando Captain Sporcha:<br>
|
||||
Eh? Are you sure? Oh... well, you might be qualified to undertake my mission.<br>
|
||||
Actually, it's not that complicated. You only need to grow strong enough to defeat unknown enemies.<br>
|
||||
How? That's simple.<br>
|
||||
Hunting. Will you accept the mission?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10874_AgainstTheNewEnemy 34230-05.html">"Alright."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Commando Captain Sporcha:<br>
|
||||
Listen carefully, I won't explain this again. Hunt monsters in <font color="LEVEL">Beleth's Magic Circle, the Desert Quarry, and the upper floor of the Giant's Cave</font> and collect 10.000 <font color="LEVEL">Proof of Qualification</font>. What do you say? It's quite hard, right? Hahahaha!!!<br><br><br>
|
||||
Ah, after completing the mission, go to Leona Blackbird, not to me. She's the one who can give you a certificate.<br>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Commando Captain Sporcha:<br>
|
||||
Hunt monsters in <font color="LEVEL">Beleth's Magic Circle, the Desert Quarry, and the upper floor of the Giant's Cave</font> and collect 10.000 <font color="LEVEL">Proof of Qualification</font>.<br><br><br>
|
||||
Then go to Leona Blackbird, not to me. She's the one who can give you a certificate.<br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Commando Captain Sporcha:<br>
|
||||
You have 10.000 <font color="LEVEL">Proof of Qualification</font>, now go to Leona Blackbird, not to me. She's the one who can give you a certificate.<br>
|
||||
</body></html>
|
@@ -0,0 +1,273 @@
|
||||
/*
|
||||
* 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.Q10874_AgainstTheNewEnemy;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.enums.Faction;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
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;
|
||||
|
||||
import quests.Q10873_ExaltedReachingAnotherLevel.Q10873_ExaltedReachingAnotherLevel;
|
||||
|
||||
/**
|
||||
* Against the New Enemy (10874)
|
||||
* @URL https://l2wiki.com/Against_the_New_Enemy
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10874_AgainstTheNewEnemy extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int CAPTAIN_SPORCHA = 34230;
|
||||
private static final int LEONA_BLACKBIRD = 31595;
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
// Desert Quarry
|
||||
23811, // Cantera Tanya
|
||||
23812, // Cantera Deathmoz
|
||||
23813, // Cantera Floxis
|
||||
23814, // Cantera Belika
|
||||
23815, // Cantera Bridget
|
||||
|
||||
// Beleth's Magic Circle
|
||||
23354, // Decay Hannibal
|
||||
23355, // Armor Beast
|
||||
23356, // Klein Soldier
|
||||
23357, // Disorder Warrior
|
||||
23360, // Bizuard
|
||||
23361, // Mutated Fly
|
||||
|
||||
23367, // Armor Beast
|
||||
23368, // Klein Soldier
|
||||
23369, // Disorder Warrior
|
||||
23372, // Bizuard
|
||||
23373, // Mutated Fly
|
||||
|
||||
// Giant's Cave Upper Floor
|
||||
23727, // Shaqrima Bathus
|
||||
23728, // Shaqrima Carcass
|
||||
23729, // Shaqrima Kshana
|
||||
23733, // Lesser Giant Warrior
|
||||
23734, // Lesser Giant Wizard
|
||||
23735, // Captive Familiar Spirit
|
||||
23736, // Captive Hell Demon
|
||||
23737, // Captive Succubus
|
||||
23738, // Captive Phantom
|
||||
23742, // Naia Bathus, Demons Foreman
|
||||
23743, // Naia Karkus, Demons Foreman
|
||||
23744, // Naia Kshana, Demons Foreman
|
||||
23746, // Recovering Lesser Giant Warrior
|
||||
23747, // Recovering Lesser Giant Wizard
|
||||
23749, // Root of the Lesser Giant
|
||||
23754, // Essence of the Lesser Giant
|
||||
};
|
||||
// Items
|
||||
private static final int PROOF_OF_QUALIFICATION = 47839;
|
||||
private static final ItemHolder LIONEL_HUNTERS_LIST_PART_4 = new ItemHolder(47829, 1);
|
||||
// Rewards
|
||||
private static final int LEONA_CERTIFICATE = 47830;
|
||||
private static final int FP = 4500; // Faction points
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 103;
|
||||
private static final int PROOF_OF_QUALIFICATION_NEEDED = 10000;
|
||||
|
||||
public Q10874_AgainstTheNewEnemy()
|
||||
{
|
||||
super(10874);
|
||||
addStartNpc(CAPTAIN_SPORCHA);
|
||||
addTalkId(CAPTAIN_SPORCHA, LEONA_BLACKBIRD);
|
||||
addKillId(MONSTERS);
|
||||
addCondMinLevel(MIN_LEVEL, "34230-00.html");
|
||||
addCondStartedQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName(), "34230-00.html");
|
||||
registerQuestItems(PROOF_OF_QUALIFICATION);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
switch (event)
|
||||
{
|
||||
case "31595-02.htm":
|
||||
case "31595-05.htm":
|
||||
case "34230-02.htm":
|
||||
case "34230-03.htm":
|
||||
case "34230-04.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34230-05.html":
|
||||
{
|
||||
if (hasItem(player, LIONEL_HUNTERS_LIST_PART_4))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31595-03.htm":
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_QUALIFICATION) >= PROOF_OF_QUALIFICATION_NEEDED))
|
||||
{
|
||||
addFactionPoints(player, Faction.GIANT_TRACKERS, FP); // add FP points to GIANT_TRACKERS Faction
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
qs.setCond(3, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31595-04.htm":
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_QUALIFICATION) >= PROOF_OF_QUALIFICATION_NEEDED))
|
||||
{
|
||||
addFactionPoints(player, Faction.BLACKBIRD_CLAN, FP); // add FP points to BLACKBIRD_CLAN Faction
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
qs.setCond(3, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31595-06.html":
|
||||
{
|
||||
if (qs.isCond(3) && (getQuestItemsCount(player, PROOF_OF_QUALIFICATION) >= PROOF_OF_QUALIFICATION_NEEDED))
|
||||
{
|
||||
takeItems(player, PROOF_OF_QUALIFICATION, PROOF_OF_QUALIFICATION_NEEDED);
|
||||
giveItems(player, LEONA_CERTIFICATE, 1);
|
||||
qs.exitQuest(false, true);
|
||||
|
||||
final Quest mainQ = QuestManager.getInstance().getQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName());
|
||||
if (mainQ != null)
|
||||
{
|
||||
mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
|
||||
}
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (hasItem(player, LIONEL_HUNTERS_LIST_PART_4))
|
||||
{
|
||||
htmltext = "34230-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34230-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case CAPTAIN_SPORCHA:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
if (getQuestItemsCount(player, PROOF_OF_QUALIFICATION) >= PROOF_OF_QUALIFICATION_NEEDED)
|
||||
{
|
||||
htmltext = "34230-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34230-06.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LEONA_BLACKBIRD:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "31595-01.htm";
|
||||
}
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "31595-05.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31595-00.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
|
||||
}
|
||||
|
||||
@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))
|
||||
{
|
||||
if ((getQuestItemsCount(player, PROOF_OF_QUALIFICATION) < PROOF_OF_QUALIFICATION_NEEDED) && (getRandom(100) < 90))
|
||||
{
|
||||
giveItems(player, PROOF_OF_QUALIFICATION, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
if ((getQuestItemsCount(player, PROOF_OF_QUALIFICATION) >= PROOF_OF_QUALIFICATION_NEEDED) && (player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(killer, npc, isSummon, true, false);
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34222-00.html
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34222-00.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Hierarch Kekropus:<br>
|
||||
I don't think you are done yet.<br>
|
||||
Bring me the <font color="LEVEL">Blackbird Clan Certificate</font> and the <font color="LEVEL">Giant Trackers Certificate</font>.<br>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34222-01.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34222-01.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Hierarch Kekropus:<br>
|
||||
Did you bring me <font color="LEVEL">Blackbird Clan Certificate</font> and <font color="LEVEL">Giant Trackers Certificate</font> requested by Krenaht?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34222-02.html">"Yes, here they are."</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34222-02.html
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34222-02.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Hierarch Kekropus:<br>
|
||||
I knew you could do it. Here's the certificate. I hope you become even stronger.
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-00.html
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-00.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Giant Tracker Leader Krenaht:<br>
|
||||
You are not ready to be called by me. Come back when you are ready.<br>
|
||||
(The Exalted, Reaching Another Level quest is in progress and level 103+ and Lionel Hunter Mission List - 4 should be in the inventory.)
|
||||
</body></html>
|
5
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-01.htm
vendored
Normal file
5
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-01.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Giant Tracker Leader Krenaht:<br>
|
||||
Did Lionel Hunter send you? You look special.<br>
|
||||
Yes, the right person for my mission.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10875_ForReputation 34237-02.htm">"Go on"</Button>
|
||||
</body></html>
|
5
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-02.htm
vendored
Normal file
5
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-02.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Giant Tracker Leader Krenaht:<br>
|
||||
Well, you need to gain fame to use that power correctly... but it's not easy to gain fame, either good or bad...<br>
|
||||
Nevertheless, if you gain fame, you will be able to exercise influence, earning a ground to use your power.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34237-03.htm">"Ask about the mission"</Button>
|
||||
</body></html>
|
5
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-03.htm
vendored
Normal file
5
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-03.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Giant Tracker Leader Krenaht:<br>
|
||||
As far as I know, after the title Exalted was created, many new factions have emerged. They might influence one another, or it might be just a coincidence.<br>
|
||||
In either case, what I want from you is to build a relationship with them and earn their trust. Can you do that?
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34237-04.html">"Alright"</Button>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-04.html
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-04.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Giant Tracker Leader Krenaht:<br>
|
||||
Okay. Your mission is to help the <font color="LEVEL">Blackbird Clan</font> and the <font color="LEVEL">Giant Trackers</font> and earn an amity level of 6 with them. You must receive certificates to prove your achievement.<br>
|
||||
Receive the <font color="LEVEL">Blackbird Clan Certificate</font> from Leona Blackbird and the <font color="LEVEL">Giant Trackers Certificate</font> from Kekropus. To complete the mission, report to Kekropus.<br>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-05.html
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-05.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Giant Tracker Leader Krenaht:<br>
|
||||
I don't think you are done yet.<br>
|
||||
Receive the <font color="LEVEL">Blackbird Clan Certificate</font> from Leona Blackbird and the <font color="LEVEL">Giant Trackers Certificate</font> from Kekropus. To complete the mission, report to Kekropus.<br>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-06.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-06.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Giant Tracker Leader Krenaht:<br>
|
||||
You did it! How was it? Not that bad, right?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34237-07.html">"It was okay."</Button>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-07.html
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10875_ForReputation/34237-07.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Giant Tracker Leader Krenaht:<br>
|
||||
You've proven me right. I knew you could do it.<br>
|
||||
Go see Hierarch Kekropus in Giran Town now.
|
||||
</body></html>
|
@@ -0,0 +1,169 @@
|
||||
/*
|
||||
* 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.Q10875_ForReputation;
|
||||
|
||||
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.Q10873_ExaltedReachingAnotherLevel.Q10873_ExaltedReachingAnotherLevel;
|
||||
|
||||
/**
|
||||
* For Reputation (10875)
|
||||
* @URL https://l2wiki.com/For_Reputation https://www.youtube.com/watch?v=7i-M4U4qxaA
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10875_ForReputation extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int KRENAHT = 34237;
|
||||
private static final int KEKROPUS = 34222;
|
||||
// Items
|
||||
private static final int BLACKBIRD_CLAN_CERTIFICATION = 47840;
|
||||
private static final int GIANT_TRACKERS_CERTIFICATION = 47841;
|
||||
// Rewards
|
||||
private static final int KEKROPUS_CERTIFICATE = 47831;
|
||||
private static final int SPELLBOOK_VITALITY_OF_THE_EXALTED = 47831;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 103;
|
||||
|
||||
public Q10875_ForReputation()
|
||||
{
|
||||
super(10875);
|
||||
addStartNpc(KRENAHT);
|
||||
addTalkId(KRENAHT, KEKROPUS);
|
||||
addCondMinLevel(MIN_LEVEL, "34237-00.html");
|
||||
addCondStartedQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName(), "34237-00.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "34237-02.htm":
|
||||
case "34237-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34237-04.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34237-07.html":
|
||||
{
|
||||
qs.setCond(2);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34222-02.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
if (!hasQuestItems(player, BLACKBIRD_CLAN_CERTIFICATION, GIANT_TRACKERS_CERTIFICATION))
|
||||
{
|
||||
htmltext = "34222-00.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = event;
|
||||
giveItems(player, KEKROPUS_CERTIFICATE, 1);
|
||||
giveItems(player, SPELLBOOK_VITALITY_OF_THE_EXALTED, 1);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
}
|
||||
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:
|
||||
{
|
||||
htmltext = "34237-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case KRENAHT:
|
||||
{
|
||||
if (qs.isCond(1) && !hasQuestItems(player, BLACKBIRD_CLAN_CERTIFICATION, GIANT_TRACKERS_CERTIFICATION))
|
||||
{
|
||||
htmltext = "34237-05.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "34237-07.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34237-06.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KEKROPUS:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "34222-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34222-00.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Santiago:<br>
|
||||
<html><body>Fishing Guild Leader Santiago:<br>
|
||||
You are not ready to be called by me. Come back when you are ready.<br>
|
||||
(The Exalted, Reaching Another Level quest is is progress and level 103+ and Lionel Hunter Mission List - 4 should be in the inventory.)
|
||||
</body></html>
|
@@ -1,5 +1,4 @@
|
||||
<html><body>Santiago:<br>
|
||||
Santiago, the Head of the Fisheries Guild, said he needed special qualities to get an Honorary Status.<br>
|
||||
character traits and even perform work that does not fit the noble face.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10876_LeadersGrace 34138-02.htm">"Yes, I'm ready."</Button>
|
||||
<html><body>Fishing Guild Leader Santiago:<br>
|
||||
You must be the one Lionel Hunter talked about. Ah, no need to raise your guard. I'm a fisher. I have no interest in fighting. I mean, I'm not in the position to give such missions.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10876_LeadersGrace 34138-02.htm">"Go on."</Button>
|
||||
</body></html>
|
@@ -1,5 +1,4 @@
|
||||
<html><body>Santiago:<br>
|
||||
so how? you are ready? You can, I believe you! become a true foodie!.<br>
|
||||
you need to try very hard if you want to earn my trust and respect for you.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10876_LeadersGrace 34138-03.htm">"Yes."</Button>
|
||||
<html><body>Fishing Guild Leader Santiago:<br>
|
||||
Lionel Hunter said that you would lead the world. A leader must have dignity. I ask you to prove it.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10876_LeadersGrace 34138-03.htm">"Ask what to prove."</Button>
|
||||
</body></html>
|
@@ -1,4 +1,5 @@
|
||||
<html><body>Santiago:<br>
|
||||
Fishing Guild Leader Santiago says the one who seeks out new power should have the grace that matches the power.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10876_LeadersGrace 34138-04.html">"I'm ready."</Button>
|
||||
<html><body>Fishing Guild Leader Santiago:<br>
|
||||
The strong and the privileged usually don't understand the poor. But a good leader must care for the poor. If one wins, another loses. If you ignore this rule, you're no better than those monsters out there.<br>
|
||||
My point is that your mission is to help the poor.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10876_LeadersGrace 34138-04.html">"Alright."</Button>
|
||||
</body></html>
|
@@ -1,4 +1,5 @@
|
||||
<html><body>Santiago:<br>
|
||||
I charge you to obtain <font color="LEVEL">Special Fish Stew</font> (50 pcs.) <font color="LEVEL">And R-Grade Gems</font> (80)<br>
|
||||
as soon as you complete the task, come to me.
|
||||
<html><body>Fishing Guild Leader Santiago:<br>
|
||||
There are some poor people in this area. Gather <font color="LEVEL">50 Special Fish Stews</font> to feed them.<br>
|
||||
To make 1 Special Fish Stew, you need <font color="LEVEL">1 Powerful Fish</font> and <font color="LEVEL">1 Magic Spice</font>. Once you get them, ask me and I'll exchange them immediately. You can gather the igredients yourself or buy them.<br>
|
||||
I'd also like to teach them how to fish, but I don't have enough materials for fishing rods. Please gather <font color="LEVEL">80 Gemstones (R-Grade)</font> for me. That's your mission.
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Santiago:<br>
|
||||
I charge you to obtain <font color="LEVEL">Special Fish Stew</font> (50 pcs.) <font color="LEVEL">And R-Grade Gems</font> (80)<br>
|
||||
<html><body>Fishing Guild Leader Santiago:<br>
|
||||
I charge you to obtain <font color="LEVEL">50 Special Fish Stews</font> and <font color="LEVEL">80 Gemstones (R-Grade)</font><br>
|
||||
as soon as you complete the task, come to me.
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Santiago:<br>
|
||||
<html><body>Fishing Guild Leader Santiago:<br>
|
||||
You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
|
||||
here is your reward.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10876_LeadersGrace 34138-07.html">"Yes, here."</Button>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Santiago:<br>
|
||||
<html><body>Fishing Guild Leader Santiago:<br>
|
||||
The power given to us by the gods... But you've proven that we are now able to overcome any limits without the protection of the gods.<br>
|
||||
Now that you have violated the restrictions set by the gods, we will call you a master and give you this.
|
||||
</body></html>
|
@@ -40,7 +40,7 @@ public class Q10876_LeadersGrace extends Quest
|
||||
private static final int R_GRADE_GEMSTONE = 19440;
|
||||
private static final ItemHolder LIONEL_HUNTERS_LIST_PART_4 = new ItemHolder(47829, 1);
|
||||
// Rewards
|
||||
private static final int SANTIAGO_SERTIFICATE = 47832;
|
||||
private static final int SANTIAGO_CERTIFICATE = 47832;
|
||||
private static final int ELCYUM_CRYSTAL = 36514;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 103;
|
||||
@@ -88,7 +88,7 @@ public class Q10876_LeadersGrace extends Quest
|
||||
takeItems(player, SPECIAL_FISH_STEW, -50);
|
||||
takeItems(player, R_GRADE_GEMSTONE, -80);
|
||||
giveItems(player, ELCYUM_CRYSTAL, 1);
|
||||
giveItems(player, SANTIAGO_SERTIFICATE, 1);
|
||||
giveItems(player, SANTIAGO_CERTIFICATE, 1);
|
||||
qs.exitQuest(false, true);
|
||||
|
||||
final Quest mainQ = QuestManager.getInstance().getQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName());
|
||||
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild Leader Arcturus:<br>
|
||||
You are not ready to be called by me. Come back when you are ready.<br>
|
||||
(The Exalted, Reaching Another Level quest is in progress and level 103+ and Lionel Hunter Mission List - 4 should be in the inventory.)
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild Leader Arcturus:<br>
|
||||
I hunted countless beasts and monsters, but this world still swarms with them. Many say that the world is in this crisis. If they are right, I will wade through the crisis in my own way.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10877_BreakThroughCrisis 34267-02.htm">"Go on."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild Leader Arcturus:<br>
|
||||
To complete the Hunter Guild's Guide is to save the world from threats and restore peace.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10877_BreakThroughCrisis 34267-03.htm">"Ask why"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Hunters Guild Leader Arcturus:<br>
|
||||
First, if we hunt monsters, the world will be safer. Second, if we know more about the monsters, we will share the information with others so that it will be used to make the world safer.<br>
|
||||
If you dream of rising to a respected position, I advise you to join this mission.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10877_BreakThroughCrisis 34267-04.html">"Alright."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Hunters Guild Leader Arcturus:<br>
|
||||
<font color="LEVEL">Fill 10</font> Hunter Guild's Bestiaries. You can fill them by defeating 10 of the monsters illustrated in the Bestiary. You can select even those you have defetead before.<br>
|
||||
Note that it is useless to kill monsters of other factions.<br>
|
||||
<font color="LEVEL">Click Menu > Bestiary, and the Bestiary page will open. Select the Hunter Guild as your faction and defeat 10 of the listed monsters to complete the mission.</font>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Hunters Guild Leader Arcturus:<br>
|
||||
<font color="LEVEL">Fill 10</font> Hunter Guild's Bestiaries.<br>
|
||||
As soon as you complete the task, come to me.<br>
|
||||
<font color="LEVEL">Click Menu > Bestiary, and the Bestiary page will open. Select the Hunter Guild as your faction and defeat 10 of the listed monsters to complete the mission.</font>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild Leader Arcturus:<br>
|
||||
Have you <font color="LEVEL">filled 10</font> Hunter Guild's Bestiaries?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10877_BreakThroughCrisis 34267-07.html">"Yes, here."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Hunters Guild Leader Arcturus:<br>
|
||||
You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
|
||||
Here is your reward.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10877_BreakThroughCrisis 34267-08.html">"Great."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild Leader Arcturus:<br>
|
||||
The power given to us by the gods... But you've proven that we are now able to overcome any limits without the protection of the gods.<br>
|
||||
Now that you have violated the restrictions set by the gods, we will call you a master and give you this.
|
||||
</body></html>
|
@@ -0,0 +1,178 @@
|
||||
/*
|
||||
* 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.Q10877_BreakThroughCrisis;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.data.xml.impl.MonsterBookData;
|
||||
import org.l2jmobius.gameserver.enums.Faction;
|
||||
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.MonsterBookCardHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
import quests.Q10873_ExaltedReachingAnotherLevel.Q10873_ExaltedReachingAnotherLevel;
|
||||
|
||||
/**
|
||||
* Break Through Crisis (10877)
|
||||
* @URL https://l2wiki.com/Break_Through_Crisis
|
||||
* @author CostyKiller
|
||||
*/
|
||||
public class Q10877_BreakThroughCrisis extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int ARCTURUS = 34267;
|
||||
// Items
|
||||
private static final ItemHolder LIONEL_HUNTERS_LIST_PART_4 = new ItemHolder(47829, 1);
|
||||
// Rewards
|
||||
private static final int ARCTURUS_CERTIFICATE = 47833;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 103;
|
||||
private static final int BESTIARY_PAGES_NEEDED = 10;
|
||||
|
||||
public Q10877_BreakThroughCrisis()
|
||||
{
|
||||
super(10877);
|
||||
addStartNpc(ARCTURUS);
|
||||
addTalkId(ARCTURUS);
|
||||
addCondMinLevel(MIN_LEVEL, "34267-00.html");
|
||||
addCondStartedQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName(), "34267-00.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
switch (event)
|
||||
{
|
||||
case "34267-02.htm":
|
||||
case "34267-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34267-04.html":
|
||||
{
|
||||
if (hasItem(player, LIONEL_HUNTERS_LIST_PART_4))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "34267-07.html":
|
||||
{
|
||||
qs.setCond(2);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34267-08.html":
|
||||
{
|
||||
// 64 to 103 card ids of hunters guild mobs
|
||||
final List<Integer> killedMobs = new ArrayList<>();
|
||||
for (MonsterBookCardHolder card : MonsterBookData.getInstance().getMonsterBookCards())
|
||||
{
|
||||
if ((card.getFaction() == Faction.HUNTERS_GUILD) && (player.getMonsterBookKillCount(card.getId()) > 0))
|
||||
{
|
||||
killedMobs.add(card.getId());
|
||||
}
|
||||
}
|
||||
if (killedMobs.size() >= BESTIARY_PAGES_NEEDED)
|
||||
{
|
||||
addExpAndSp(player, 34471245000L, 634471244);
|
||||
giveItems(player, ARCTURUS_CERTIFICATE, 1);
|
||||
qs.exitQuest(false, true);
|
||||
|
||||
final Quest mainQ = QuestManager.getInstance().getQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName());
|
||||
if (mainQ != null)
|
||||
{
|
||||
mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
|
||||
}
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34267-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (hasItem(player, LIONEL_HUNTERS_LIST_PART_4))
|
||||
{
|
||||
htmltext = "34267-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34267-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
// 64 to 103 card ids of hunters guild mobs
|
||||
final List<Integer> killedMobs = new ArrayList<>();
|
||||
for (MonsterBookCardHolder card : MonsterBookData.getInstance().getMonsterBookCards())
|
||||
{
|
||||
if ((card.getFaction() == Faction.HUNTERS_GUILD) && (player.getMonsterBookKillCount(card.getId()) > 0))
|
||||
{
|
||||
killedMobs.add(card.getId());
|
||||
}
|
||||
}
|
||||
if (killedMobs.size() >= BESTIARY_PAGES_NEEDED)
|
||||
{
|
||||
htmltext = "34267-06.html";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34267-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
<html><body>Ferin:<br>
|
||||
Are you done?<br>
|
||||
You've done great.<br>
|
||||
choose one of the awards.<br>
|
||||
Choose one of the awards.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34054-07.html">"FP 4500 pcs. with Mother Tree Guardians."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34054-07a.html">"FP 4500 pcs. with Unworldly Visitors."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34054-07b.html">"FP 4500 pcs. with Kingdom's Royal Guard."</Button>
|
||||
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Verdure Elder Elikia:<br>
|
||||
<html><body>Ferin:<br>
|
||||
Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
|
||||
</body></html>
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Verdure Elder Elikia:<br>
|
||||
<html><body>Ferin:<br>
|
||||
Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
|
||||
</body></html>
|
@@ -1,6 +1,5 @@
|
||||
<html><body>Master Cyphona:<br>
|
||||
Fate doesn't just happen, nor can it be cut off just because one wants to.<br>
|
||||
Meeting Lionel and taking part in giving out this test is all fate.<br>
|
||||
And you must have come here because you will be passing it.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10880_TheLastOneStanding 34055-02.htm">"What's the test about?"</Button>
|
||||
A while ago Lionel Hunter sent a messenger to Ferin. His message was about how to test and qualify the <font color="LEVEL">Guide of Power</font> who is supposed to save the world from darkness.<br>
|
||||
I won't bore you with a long story. In short, he asked Ferin to test the adventurers he sends and give certificates to only those who pass.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10880_TheLastOneStanding 34055-02.htm">"Go on."</Button>
|
||||
</body></html>
|
@@ -1,6 +1,5 @@
|
||||
<html><body>Master Cyphona:<br>
|
||||
The battle with the monsters!<br>
|
||||
to gain new strength, you need to hunt for monsters.<br>
|
||||
and then you will receive my certificate.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34055-03.htm">"Properly?"</Button>
|
||||
I was surprised that Ferin accepted the offer so readily. He's not a person who takes on troublesome work. I was wondering what he had in mind... Now I'm doing his job.<br>
|
||||
I thought is better for you to know what happened so far.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34055-03.htm">"Go on."</Button>
|
||||
</body></html>
|
@@ -1,6 +1,5 @@
|
||||
<html><body>Master Cyphona:<br>
|
||||
What do you think of the monsters of the Material Realm? Those monsters are the subject to our blades, due to our long history in battle.<br>
|
||||
I know of some creatures who were turned into monsters as a result of experiments. And there are those who've lost their precious ones to those monsters. I know their sadness and anger. But we don't always remember them when we defeat those monsters.<br>
|
||||
I believe we must always remember the sadness and anger that they hold within. Don't you agree?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34055-04.htm">"Sounds right."</Button>
|
||||
I thought that <font color="LEVEL">hunting</font> would be the simplest way of proving oneself capable of guiding the power, and you are certainly qualified to take the test.<br>
|
||||
However, it doesn't mean that you can finish it successfully. Think carefully before undertaking the mission.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34055-04.htm">"Alright."</Button>
|
||||
</body></html>
|
@@ -1,5 +1,6 @@
|
||||
<html><body>Master Cyphona:<br>
|
||||
I'm about to give you a very long test. In that process, I want you to remember the sadness and anger of many.<br>
|
||||
Go defeat the monsters in <font color="LEVEL">Enchanted Valley, Atelia Fortress, Shadow of the Mother Tree</font> and <font color="LEVEL">Garden of Spirits</font> and bring back the <font color="LEVEL">Proof of Strength - 10000</font>.<br>
|
||||
In that long process, never forget the sadness that derives from long battles against the monsters.
|
||||
You're determined. I'll explain the mission then.<br>
|
||||
Hunt monsters at the <font color="LEVEL">Enchanted Valley, Garden of Spirits, Atelia Fortress and Shadow of the Mother Tree</font> and bring <font color="LEVEL">Proof of Strength</font>. Hmm... Let's see... Ferin said you need to bring about <font color="LEVEL">10.000</font><br>
|
||||
You'll need to go talk to Ferin once the mission is complete so I can't lower the quantity, sorry.<br>
|
||||
Good luck.
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Master Cyphona:<br>
|
||||
It won't be easy bringing back proof of the monsters that you've defeated. But once you can do that, I'll acknowledge your strength.<br>
|
||||
Go defeat the monsters in <font color="LEVEL">Enchanted Valley, Atelia Fortress, Shadow of the Mother Tree</font> and <font color="LEVEL">Garden of Spirits</font> and bring back the <font color="LEVEL">Proof of Strength - 10000</font>.<br>
|
||||
Hunt monsters at the <font color="LEVEL">Enchanted Valley, Garden of Spirits, Atelia Fortress and Shadow of the Mother Tree</font> and bring <font color="LEVEL">10.000 Proof of Strength</font>.<br>
|
||||
Once the mission is complete go talk to Ferin.<br>
|
||||
</body></html>
|
@@ -41,7 +41,7 @@ public class Q10880_TheLastOneStanding extends Quest
|
||||
private static final int CYPHONA = 34055;
|
||||
private static final int FERIN = 34054;
|
||||
// Items
|
||||
private static final int MASTER_CYPHONA_CERTIFICATE = 47835;
|
||||
private static final int FERIN_CERTIFICATE = 47835;
|
||||
private static final int PROOF_OF_STRENGTH = 47843;
|
||||
private static final ItemHolder LIONEL_HUNTERS_LIST_PART_5 = new ItemHolder(47834, 1);
|
||||
// Monsters
|
||||
@@ -57,6 +57,7 @@ public class Q10880_TheLastOneStanding extends Quest
|
||||
23572, // Nymph Cosmos
|
||||
23573, // Nymph Cosmos
|
||||
23578, // Nymph Guardian
|
||||
|
||||
// Garden of Spirits
|
||||
23541, // Kerberos Lager
|
||||
23550, // Kerberos Lager (night)
|
||||
@@ -74,6 +75,7 @@ public class Q10880_TheLastOneStanding extends Quest
|
||||
23557, // Fury Kerberos Leger (night)
|
||||
23549, // Fury Kerberos Nero
|
||||
23558, // Fury Kerberos Nero (night)
|
||||
|
||||
// Atelia Fortress
|
||||
23505, // Fortress Raider 101
|
||||
23506, // Fortress Guardian Captain 101
|
||||
@@ -89,6 +91,7 @@ public class Q10880_TheLastOneStanding extends Quest
|
||||
23510, // Atelia Flame Master 102
|
||||
23511, // Fortress Archon 102
|
||||
23512, // Atelia High Priest 102
|
||||
|
||||
// Shadow of the Mother Tree
|
||||
24117, // Crystal Reep
|
||||
24118, // Crystal Reep
|
||||
@@ -108,6 +111,8 @@ public class Q10880_TheLastOneStanding extends Quest
|
||||
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 104;
|
||||
private static final int FP = 4500; // Faction Points
|
||||
private static final int PROOF_OF_STRENGTH_NEEDED = 10000;
|
||||
|
||||
public Q10880_TheLastOneStanding()
|
||||
{
|
||||
@@ -155,8 +160,8 @@ public class Q10880_TheLastOneStanding extends Quest
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
takeItems(player, PROOF_OF_STRENGTH, -1);
|
||||
giveItems(player, MASTER_CYPHONA_CERTIFICATE, 1);
|
||||
addFactionPoints(player, Faction.MOTHER_TREE_GUARDIANS, 4500);
|
||||
giveItems(player, FERIN_CERTIFICATE, 1);
|
||||
addFactionPoints(player, Faction.MOTHER_TREE_GUARDIANS, FP);
|
||||
qs.exitQuest(false, true);
|
||||
|
||||
final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
|
||||
@@ -180,8 +185,8 @@ public class Q10880_TheLastOneStanding extends Quest
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
takeItems(player, PROOF_OF_STRENGTH, -1);
|
||||
giveItems(player, MASTER_CYPHONA_CERTIFICATE, 1);
|
||||
addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 4500);
|
||||
giveItems(player, FERIN_CERTIFICATE, 1);
|
||||
addFactionPoints(player, Faction.UNWORLDLY_VISITORS, FP);
|
||||
qs.exitQuest(false, true);
|
||||
|
||||
final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
|
||||
@@ -200,13 +205,13 @@ public class Q10880_TheLastOneStanding extends Quest
|
||||
}
|
||||
case "34054-07b.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_STRENGTH) >= PROOF_OF_STRENGTH_NEEDED))
|
||||
{
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
takeItems(player, PROOF_OF_STRENGTH, -1);
|
||||
giveItems(player, MASTER_CYPHONA_CERTIFICATE, 1);
|
||||
addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, 4500);
|
||||
takeItems(player, PROOF_OF_STRENGTH, PROOF_OF_STRENGTH_NEEDED);
|
||||
giveItems(player, FERIN_CERTIFICATE, 1);
|
||||
addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, FP);
|
||||
qs.exitQuest(false, true);
|
||||
|
||||
final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
|
||||
@@ -260,7 +265,7 @@ public class Q10880_TheLastOneStanding extends Quest
|
||||
}
|
||||
case FERIN:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_STRENGTH) >= PROOF_OF_STRENGTH_NEEDED))
|
||||
{
|
||||
htmltext = "34054-06.html";
|
||||
}
|
||||
@@ -294,7 +299,7 @@ public class Q10880_TheLastOneStanding extends Quest
|
||||
giveItems(player, PROOF_OF_STRENGTH, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
|
||||
if (getQuestItemsCount(player, PROOF_OF_STRENGTH) >= 10000)
|
||||
if (getQuestItemsCount(player, PROOF_OF_STRENGTH) >= PROOF_OF_STRENGTH_NEEDED)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Verdure Elder Elikia:<br>
|
||||
<html><body>Master Cyphona:<br>
|
||||
I don't know how you found your way here, but I can't do anything for you if you haven't talked to Lionel Hunter.<br>
|
||||
(You don't meet the requirements for proceed with this quest. You need Lionel Hunter's Mission List - Part 5 in your inventory.)
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34235-06.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34235-06.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Royal Guard Captain Logart Van Dyke:<br>
|
||||
May I help you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10881_ForThePride 34235-07.html">"State your business."</Button>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34235-07.html
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34235-07.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Royal Guard Captain Logart Van Dyke:<br>
|
||||
I don't see the certificates. You can receive the <font color="LEVEL">Mother Tree Guardians Certificate</font> from <font color="LEVEL">Guardian Irene</font> and <font color="LEVEL">Unworldly Visitors Certificate</font> from <font color="LEVEL">Ferin</font>.<br>
|
||||
To get them, you must earn their trust.
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34235-08.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34235-08.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Royal Guard Captain Logart Van Dyke:<br>
|
||||
Have you got the certificates?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10881_ForThePride 34235-09.html">"Yes, I have."</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34235-09.html
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34235-09.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Royal Guard Captain Logart Van Dyke:<br>
|
||||
Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-00.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-00.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Quartermaster Dinford:<br>
|
||||
I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
|
||||
(Only characters above Lv. 104 and The Exalted, Guide to Power quest should be in progress..)
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-01.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-01.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Quartermaster Dinford:<br>
|
||||
Hello! I assign missions on behalf of the Kingdom's Royal Guard and Royal Guard Captain Logart Van Dyke. Would you let me explain it?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10881_ForThePride 34236-02.htm">"Go on."</Button>
|
||||
</body></html>
|
6
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-02.htm
vendored
Normal file
6
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-02.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Quartermaster Dinford:<br>
|
||||
Do you know what pride means? Pride is confidence that you gain when you believe in yourself.<br>
|
||||
Then, how you can judge you own ability? How can you prove that your judgment is right? You can earn true pride only when those who are qualified for such judgment are convinced in your abilities.<br>
|
||||
I suggest this mission in the hope of developing your confidence.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10881_ForThePride 34236-03.htm">"Ask about the mission."</Button>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-03.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-03.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Quartermaster Dinford:<br>
|
||||
As far as I know, you've built relationships with some factions. If you undertake missions of other factions, you will be able to understand the meaning of true pride. Will you accept their missions?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10881_ForThePride 34236-04.htm">"Alright."</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-04.htm
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-04.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Quartermaster Dinford:<br>
|
||||
Great. Take on missions of the <font color="LEVEL">Mother Tree Guardians</font>, the <font color="LEVEL">Unworldly Visitors</font>, and the <font color="LEVEL">Kingdom's Royal Guard</font>, and increase your Faction Level with <font color="LEVEL">two or more of these factions</font>, to at least <font color="LEVEL">6</font>. Then, receive certificates to prove your Faction Level 6 or higher from the following people: the <font color="LEVEL">Mother Tree Guardians Certificate</font> from <font color="LEVEL">Guardian Irene</font>, the <font color="LEVEL">Unworldly Visitors Certificate</font> from <font color="LEVEL">Ferin</font>, and the <font color="LEVEL">Kingdom's Royal Guard Certificate</font> from <font color="LEVEL">Royal Guard Captain Logart Van Dyke</font>.
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-05.html
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/34236-05.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Quartermaster Dinford:<br>
|
||||
Great, you have the certificates. Now go talk to <font color="LEVEL">Royal Guard Captain Logart Van Dyke</font>.
|
||||
</body></html>
|
181
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/Q10881_ForThePride.java
vendored
Normal file
181
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/Q10881_ForThePride.java
vendored
Normal file
@@ -0,0 +1,181 @@
|
||||
/*
|
||||
* 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.Q10881_ForThePride;
|
||||
|
||||
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
import quests.Q10879_ExaltedGuideToPower.Q10879_ExaltedGuideToPower;
|
||||
|
||||
/**
|
||||
* For the Pride (10881)
|
||||
* @URL https://l2wiki.com/For_the_Pride
|
||||
* @author CostyKiller
|
||||
*/
|
||||
public class Q10881_ForThePride extends Quest
|
||||
{
|
||||
private static final int DINFORD = 34236;
|
||||
private static final int LOGART_VAN_DYKE = 34235;
|
||||
|
||||
public Q10881_ForThePride()
|
||||
{
|
||||
super(10881);
|
||||
addStartNpc(DINFORD);
|
||||
addTalkId(DINFORD, LOGART_VAN_DYKE);
|
||||
addCondMinLevel(MIN_LEVEL, "34236-00.htm");
|
||||
addCondStartedQuest(Q10879_ExaltedGuideToPower.class.getSimpleName(), "34236-00.htm");
|
||||
}
|
||||
|
||||
// Items
|
||||
private static final int LOGART_VAN_DYKE_CERTIFICATE = 47836;
|
||||
private static final int MOTHER_TREE_GUARDIAN_CERTIFICATION = 47844;
|
||||
private static final int UNWORLDLY_VISITORS_CERTIFICATION = 47845;
|
||||
private static final int KINGDOM_ROYAL_GUARD_CERTIFICATION = 47846;
|
||||
private static final ItemHolder LIONEL_HUNTERS_LIST_PART_5 = new ItemHolder(47834, 1);
|
||||
private static final int SPELLBOOK_VITALITY_OF_THE_EXALTED = 47855;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 104;
|
||||
|
||||
@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 "34326-02.htm":
|
||||
case "34326-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34326-04.htm":
|
||||
{
|
||||
if (hasItem(player, LIONEL_HUNTERS_LIST_PART_5))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "34325-07.html":
|
||||
{
|
||||
if (qs.isCond(1) && (!(hasQuestItems(player, MOTHER_TREE_GUARDIAN_CERTIFICATION, UNWORLDLY_VISITORS_CERTIFICATION)) || !(hasQuestItems(player, MOTHER_TREE_GUARDIAN_CERTIFICATION, KINGDOM_ROYAL_GUARD_CERTIFICATION)) || !(hasQuestItems(player, UNWORLDLY_VISITORS_CERTIFICATION, KINGDOM_ROYAL_GUARD_CERTIFICATION))))
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setCond(2);
|
||||
htmltext = "34325-08.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "34325-09.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
giveItems(player, LOGART_VAN_DYKE_CERTIFICATE, 1);
|
||||
giveItems(player, SPELLBOOK_VITALITY_OF_THE_EXALTED, 1);
|
||||
qs.exitQuest(false, true);
|
||||
|
||||
final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
|
||||
if (mainQ != null)
|
||||
{
|
||||
mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
|
||||
}
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
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() == DINFORD) && (hasItem(player, LIONEL_HUNTERS_LIST_PART_5)))
|
||||
{
|
||||
htmltext = "34326-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "noItem.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case DINFORD:
|
||||
{
|
||||
if (qs.isCond(1) && ((hasQuestItems(player, MOTHER_TREE_GUARDIAN_CERTIFICATION, UNWORLDLY_VISITORS_CERTIFICATION)) || (hasQuestItems(player, MOTHER_TREE_GUARDIAN_CERTIFICATION, KINGDOM_ROYAL_GUARD_CERTIFICATION)) || (hasQuestItems(player, UNWORLDLY_VISITORS_CERTIFICATION, KINGDOM_ROYAL_GUARD_CERTIFICATION))))
|
||||
{
|
||||
htmltext = "34326-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LOGART_VAN_DYKE:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "34325-06.htm";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "34325-08.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/noItem.html
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10881_ForThePride/noItem.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Quartermaster Dinford:<br>
|
||||
I don't know how you found your way here, but I can't do anything for you if you haven't talked to Lionel Hunter.<br>
|
||||
(You don't meet the requirements for proceed with this quest. You need Lionel Hunter's Mission List - Part 5 in your inventory.)
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Owner Settlen:<br>
|
||||
I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
|
||||
(Only characters above Lv. 104 and The Exalted, Guide to Power quest should be in progress..)
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Owner Settlen:<br>
|
||||
I'm going to give you a mission. I believe that those in high positions have to listen to the voices of their people. Fortunately, I know many stories to tell you. You don't need to wander around to hear them.
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10882_VictoryCollection 34180-02.htm">"Ask what to do."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Owner Settlen:<br>
|
||||
Listen to all stories you can hear in this tavern.<br>
|
||||
After completing this mission, make books about the stories and bring them to me.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10882_VictoryCollection 34180-03.htm">"Alright."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Owner Settlen:<br>
|
||||
You cannot make a storybook simply by listening to a story, but you're more likely to get it if you listen to more stories, more often. Understand?<br>
|
||||
I expect you to bring me a <font color="LEVEL">Storybook - Tauti</font>, <font color="LEVEL">Storybook - Kelbim</font>, <font color="LEVEL">Storybook - Freya</font>, and <font color="LEVEL">Storybook - Kain van Halter</font>.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Owner Settlen:<br>
|
||||
I expect you to bring me a <font color="LEVEL">Storybook - Tauti</font>, <font color="LEVEL">Storybook - Kelbim</font>, <font color="LEVEL">Storybook - Freya</font>, and <font color="LEVEL">Storybook - Kain van Halter</font>.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Owner Settlen:<br>
|
||||
Have you got all the story books?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10882_VictoryCollection 34180-06.html">"Yes, I have."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Owner Settlen:<br>
|
||||
Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
|
||||
</body></html>
|
@@ -0,0 +1,198 @@
|
||||
/*
|
||||
* 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.Q10882_VictoryCollection;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.util.CommonUtil;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
import quests.Q10879_ExaltedGuideToPower.Q10879_ExaltedGuideToPower;
|
||||
|
||||
/**
|
||||
* Victory Collection (10882)
|
||||
* @URL https://l2wiki.com/Victory_Collection
|
||||
* @author CostyKiller
|
||||
*/
|
||||
public class Q10882_VictoryCollection extends Quest
|
||||
{
|
||||
// Npcs
|
||||
private static final int SETTLEN = 34180;
|
||||
// Monsters
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
// TODO: Add Kelbim and Kain Instance Monsters
|
||||
// TODO: Add Story books drop to RBs
|
||||
// Tauti Instance Monsters
|
||||
23680, // Flame Golem
|
||||
23709, // Flame Scarab
|
||||
23683, // Seal Archangel
|
||||
23685, // Seal Angel
|
||||
|
||||
// Freya Instance Monsters
|
||||
23686, // Frost Golem
|
||||
23687, // Glacier Frostbringer
|
||||
23703, // Ice Knight
|
||||
23689 // Freya
|
||||
|
||||
};
|
||||
// Items
|
||||
private static final int SETTLEN_CERTIFICATE = 47837;
|
||||
private static final ItemHolder LIONEL_HUNTERS_LIST_PART_5 = new ItemHolder(47834, 1);
|
||||
private static final int STORY_BOOK_OF_TAUTI = 47847;
|
||||
private static final int STORY_BOOK_OF_KELBIM = 47848;
|
||||
private static final int STORY_BOOK_OF_FREYA = 47849;
|
||||
private static final int STORY_BOOK_OF_KAIN_VAN_HALTER = 47850;
|
||||
private static final int COVERED_PAGE = 48930;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 104;
|
||||
|
||||
public Q10882_VictoryCollection()
|
||||
{
|
||||
super(10882);
|
||||
addStartNpc(SETTLEN);
|
||||
addTalkId(SETTLEN);
|
||||
addKillId(MONSTERS);
|
||||
addCondMinLevel(MIN_LEVEL, "34180-00.htm");
|
||||
addCondStartedQuest(Q10879_ExaltedGuideToPower.class.getSimpleName(), "34180-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 "34180-02.htm":
|
||||
case "34180-04.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34180-03.html":
|
||||
{
|
||||
if (hasItem(player, LIONEL_HUNTERS_LIST_PART_5))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "34180-06.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
giveItems(player, SETTLEN_CERTIFICATE, 1);
|
||||
addExpAndSp(player, 69661122560L, 709661122);
|
||||
qs.exitQuest(false, true);
|
||||
|
||||
final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
|
||||
if (mainQ != null)
|
||||
{
|
||||
mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
|
||||
}
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
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() == SETTLEN) && (hasItem(player, LIONEL_HUNTERS_LIST_PART_5)))
|
||||
{
|
||||
htmltext = "34180-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "noItem.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if ((npc.getId() == SETTLEN) && qs.isCond(2) && (hasQuestItems(player, STORY_BOOK_OF_TAUTI, STORY_BOOK_OF_KELBIM, STORY_BOOK_OF_FREYA, STORY_BOOK_OF_KAIN_VAN_HALTER)))
|
||||
{
|
||||
htmltext = "34180-05.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34180-04.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
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) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE) && CommonUtil.contains(MONSTERS, npc.getId()))
|
||||
{
|
||||
giveItems(player, COVERED_PAGE, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
|
||||
if (getQuestItemsCount(player, COVERED_PAGE) >= 24)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10882_VictoryCollection/noItem.html
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10882_VictoryCollection/noItem.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Owner Settlen:<br>
|
||||
I don't know how you found your way here, but I can't do anything for you if you haven't talked to Lionel Hunter.<br>
|
||||
(You don't meet the requirements for proceed with this quest. You need Lionel Hunter's Mission List - Part 5 in your inventory.)
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-00.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-00.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Admiral Keucereus:<br>
|
||||
I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
|
||||
(Only characters above Lv. 104 and The Exalted, Guide to Power quest should be in progress..)
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-01.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-01.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Admiral Keucereus:<br>
|
||||
Did Lionel Hunter send you? I should appreciate his choice. You seem to be the right person for my mission.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10883_ImmortalHonor 32548-02.htm">"Go on."</Button>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-02.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-02.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Admiral Keucereus:<br>
|
||||
Battles frequently take place here. I'm sure that you know what it means to be summoned.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10883_ImmortalHonor 32548-03.htm">"Yes."</Button>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-03.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-03.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Admiral Keucereus:<br>
|
||||
This battle will determine the fate of the world. Do you want to gain fame? Or honor? Either would be meaningless if there is no world. Do you understand? Then, your duty is to save the world.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10883_ImmortalHonor 32548-04.html">"Alright."</Button>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-04.html
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-04.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Admiral Keucereus:<br>
|
||||
I order you to defeat <font color="LEVEL">Camille</font> and <font color="LEVEL">Kain van Halter</font>.
|
||||
Save the world and earn eternal fame.<br>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-05.html
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-05.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Admiral Keucereus:<br>
|
||||
I ordered you to defeat <font color="LEVEL">Camille</font> and <font color="LEVEL">Kain van Halter</font>.
|
||||
Come back when you killed them.<br>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-06.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-06.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Admiral Keucereus:<br>
|
||||
Have you defeated <font color="LEVEL">Camille</font> and <font color="LEVEL">Kain van Halter</font>?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10883_ImmortalHonor 32548-07.html">"Yes, I have."</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-07.html
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-07.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Admiral Keucereus:<br>
|
||||
Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
|
||||
</body></html>
|
@@ -0,0 +1,175 @@
|
||||
/*
|
||||
* 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.Q10883_ImmortalHonor;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
import quests.Q10879_ExaltedGuideToPower.Q10879_ExaltedGuideToPower;
|
||||
|
||||
/**
|
||||
* Immortal Honor (10883)
|
||||
* @URL https://l2wiki.com/Immortal_Honor
|
||||
* @author CostyKiller
|
||||
*/
|
||||
public class Q10883_ImmortalHonor extends Quest
|
||||
{
|
||||
// Npcs
|
||||
private static final int KEUCEREUS_ADMIRAL = 32548;
|
||||
// Raids
|
||||
private static final int CAMILLE = 26236;
|
||||
private static final int KAIN_VAN_HALTER = 26235;
|
||||
// Items
|
||||
private static final int KEUCEREUS_CERTIFICATE = 47837;
|
||||
private static final ItemHolder LIONEL_HUNTERS_LIST_PART_5 = new ItemHolder(47834, 1);
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 104;
|
||||
|
||||
public Q10883_ImmortalHonor()
|
||||
{
|
||||
super(10883);
|
||||
addStartNpc(KEUCEREUS_ADMIRAL);
|
||||
addTalkId(KEUCEREUS_ADMIRAL);
|
||||
addKillId(CAMILLE, KAIN_VAN_HALTER);
|
||||
addCondMinLevel(MIN_LEVEL, "32548-00.htm");
|
||||
addCondStartedQuest(Q10879_ExaltedGuideToPower.class.getSimpleName(), "32548-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 "32548-02.htm":
|
||||
case "32548-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32548-04.html":
|
||||
{
|
||||
if (hasItem(player, LIONEL_HUNTERS_LIST_PART_5))
|
||||
{
|
||||
qs.startQuest();
|
||||
qs.set(Integer.toString(CAMILLE), "false");
|
||||
qs.set(Integer.toString(KAIN_VAN_HALTER), "false");
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32548-07.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
giveItems(player, KEUCEREUS_CERTIFICATE, 1);
|
||||
addExpAndSp(player, 104491683840L, 1064491683);
|
||||
qs.exitQuest(false, true);
|
||||
|
||||
final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
|
||||
if (mainQ != null)
|
||||
{
|
||||
mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
|
||||
}
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
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() == KEUCEREUS_ADMIRAL) && (hasItem(player, LIONEL_HUNTERS_LIST_PART_5)))
|
||||
{
|
||||
htmltext = "32548-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "noItem.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if ((npc.getId() == KEUCEREUS_ADMIRAL) && qs.get(Integer.toString(CAMILLE)).equals("true") && qs.get(Integer.toString(KAIN_VAN_HALTER)).equals("true"))
|
||||
{
|
||||
htmltext = "32548-06.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32548-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
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.isStarted() && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
qs.set(Integer.toString(npc.getId()), "true");
|
||||
notifyKill(npc, player, isSummon);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user