Addition of quests 665, 666, 668, 10454 and 10846.
Contributed by Dmitri.
This commit is contained in:
parent
1437711898
commit
02b8b1403f
@ -49,5 +49,4 @@
|
||||
10748 Mysterious Suggestion - 1
|
||||
10749 Mysterious Suggestion - 2
|
||||
10809 The Hero's Journey: Blazing Swamp
|
||||
10845 Bloody Battle - Rescue the Smiths
|
||||
10846 Bloody Battle - Meeting the Commander
|
||||
10845 Bloody Battle - Rescue the Smiths
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hurak:<br>
|
||||
I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
|
||||
(This quest can only be undertaken by characters with Lv. 101 or higher whose faction level with the Kingdom's Royal Guard is 4 or higher and Complete quest: Bloody Battle - Rescue the Smiths.)
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Hurak:<br>
|
||||
It's been a while since we've found the Atelia Fortress.<br>
|
||||
In that time though, the fortress has become more structured, which worries me.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-02.htm">"What's the problem?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hurak:<br>
|
||||
We have to make sure no issues arise here until Leona comes back from Hellbound. We aren't doing so well, though.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-03.htm">"What happened?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Hurak:<br>
|
||||
The Atelia Fortress is more structured now.<br>
|
||||
Until recently, they didn't have the means to get supplies or train soldiers when they isolated themselves, but now they can do all that within.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-04.htm">"How is that possible?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Hurak:<br>
|
||||
According to the information we got from the clan members inside the fortress, they are building different facilities on each floor.<br>
|
||||
I've asked Leona for reinforcements, but they are not doing so great either. We need people who can help us. Do you think you can do it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-05.htm">"Sure, I'll help."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hurak:<br>
|
||||
Glad to hear you'll be helping us. Devianne has already infiltrated the fortress and is in contact with our clan members.<br>
|
||||
First, go find <font color="LEVEL">Glenkinchie</font> in the first stronghold. Anyone inside the fortress should be able to help you more than me.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hurak:<br>
|
||||
Devianne has already infiltrated the fortress, but you'll need to find out where she is from the people who are inside.<br>
|
||||
First, go find <font color="LEVEL">Glenkinchie</font> in the first stronghold. Anyone inside the fortress should be able to help you more than me.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Devianne:<br>
|
||||
Elikia said someone would come find me. I guess that was you? The fortress is becoming more systemized by the way, which worries me.<br>
|
||||
We are not ready yet, and the Embryo are already expanding their forces.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34323-02.html">"Did you find out anything?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,7 @@
|
||||
<html><body>Devianne:<br>
|
||||
I found just a while ago that the fortress is becoming more systemized.<br>
|
||||
They've built a supply base, and I saw that they are distributing supplies to the soldiers within the fortress. I would love to go and destroy their supply base...<br>
|
||||
Recently, I met Devianne, and she told me about the commander of the fortress.<br>
|
||||
She said to create uproars around the fortress to stop the flow of their work inside... Do you think you can help me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34323-03.html">"How can I help?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Devianne:<br>
|
||||
It's not that difficult. You must have seen the <font color="LEVEL">supply boxes</font> laying around. They started getting supplies regularly, but they are still not organized.<br>
|
||||
Please open those <font color="LEVEL">supply boxes</font> and get me the <font color="LEVEL">supplies</font>. Don't just open any box though. There are some <font color="LEVEL">traps</font> that could make it very dangerous.<br>
|
||||
Oh, and one more thing! If you <font color="LEVEL">defeat</font> the <font color="LEVEL">Quartermasters</font>, the <font color="LEVEL">soldiers will be affected</font>, making it easier to steal their supplies.
|
||||
</body></html>
|
@ -0,0 +1,159 @@
|
||||
/*
|
||||
* 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.Q10846_BloodyBattleMeetingTheCommander;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* Bloody Battle - Meeting the Commander (10846)
|
||||
* @URL https://l2wiki.com/Bloody_Battle_-_Meeting_the_Commander
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q10846_BloodyBattleMeetingTheCommander extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int HURAK = 34064;
|
||||
private static final int DEVIANNE = 34323;
|
||||
// MiniBoss
|
||||
private static final int BURNSTEIN = 26136; // Burnstein
|
||||
// Item
|
||||
private static final int RUNE_STONE = 39738;
|
||||
private static final int SCROLL_OF_ESCAPE_BLACKBIRD_CAMPSITE = 46158;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 101;
|
||||
|
||||
public Q10846_BloodyBattleMeetingTheCommander()
|
||||
{
|
||||
super(10846);
|
||||
addStartNpc(HURAK);
|
||||
addTalkId(HURAK, DEVIANNE);
|
||||
addKillId(BURNSTEIN);
|
||||
addCondMinLevel(MIN_LEVEL, "34064-00.htm");
|
||||
// addCondCompletedQuest(Q10845_BloodyBattleRescueTheSmiths.class.getSimpleName(), "34064-00.htm");
|
||||
}
|
||||
|
||||
@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 "34064-04.htm":
|
||||
case "34064-03.htm":
|
||||
case "34064-02.htm":
|
||||
case "34323-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34064-05.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34323-03.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
giveItems(player, RUNE_STONE, 1);
|
||||
giveItems(player, SCROLL_OF_ESCAPE_BLACKBIRD_CAMPSITE, 1);
|
||||
addExpAndSp(player, 7262301690L, 17429400);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (npc.getId() == HURAK)
|
||||
{
|
||||
htmltext = "34064-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case HURAK:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "34064-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DEVIANNE:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "34323-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
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.isCond(1))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
@ -494,6 +494,7 @@ import quests.Q10840_TimeToRecover.Q10840_TimeToRecover;
|
||||
import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
|
||||
import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley;
|
||||
import quests.Q10844_BloodyBattleSeizingSupplies.Q10844_BloodyBattleSeizingSupplies;
|
||||
import quests.Q10846_BloodyBattleMeetingTheCommander.Q10846_BloodyBattleMeetingTheCommander;
|
||||
import quests.not_done.Q00480_AnotherLegacyOfCrumaTower;
|
||||
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
|
||||
import quests.not_done.Q00655_AGrandPlanForTamingWildBeasts;
|
||||
@ -533,7 +534,6 @@ import quests.not_done.Q10748_MysteriousSuggestion1;
|
||||
import quests.not_done.Q10749_MysteriousSuggestion2;
|
||||
import quests.not_done.Q10809_TheHerosJourneyBlazingSwamp;
|
||||
import quests.not_done.Q10845_BloodyBattleRescueTheSmiths;
|
||||
import quests.not_done.Q10846_BloodyBattleMeetingTheCommander;
|
||||
|
||||
/**
|
||||
* @author NosBit
|
||||
@ -1058,7 +1058,7 @@ public class QuestMasterHandler
|
||||
Q10843_AnomalyInTheEnchantedValley.class,
|
||||
Q10844_BloodyBattleSeizingSupplies.class,
|
||||
Q10845_BloodyBattleRescueTheSmiths.class, // TODO: Not done.
|
||||
Q10846_BloodyBattleMeetingTheCommander.class, // TODO: Not done.
|
||||
Q10846_BloodyBattleMeetingTheCommander.class,
|
||||
};
|
||||
|
||||
public static void main(String[] args)
|
||||
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10846_BloodyBattleMeetingTheCommander extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34064;
|
||||
|
||||
public Q10846_BloodyBattleMeetingTheCommander()
|
||||
{
|
||||
super(10846);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -66,7 +66,6 @@
|
||||
10748 Mysterious Suggestion - 1
|
||||
10749 Mysterious Suggestion - 2
|
||||
10845 Bloody Battle - Rescue the Smiths
|
||||
10846 Bloody Battle - Meeting the Commander
|
||||
10848 Trials before the Battle
|
||||
10853 To Weaken the Giants
|
||||
10854 To Seize the Fortress
|
||||
|
@ -0,0 +1,5 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
The Enchanted Valley has changed, so it's very dangerous.<br>
|
||||
I don't think you are supposed to be here yet. Come back when you get stronger.<br>
|
||||
(Only characters above Lv. 101, quest Complete Bloody Battle - Seizing Supplies and fraction KingdomΞ<6D>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>’Β²Ξ<C2B2>οΏ½Ξ’Β²Ξ<C2B2>Β²Ξ²β€<CEB2>¬οΞ<CE8F>Β½Ξ<C2BD>’Β¬Ξ<C2AC>οΏ½Ξ’Β²Ξ<C2B2>Β²Ξ²β€<CEB2>¬οΞ<CE8F>Β½Ξ<C2BD>�†s Royal Guard amity level 2 or above.)
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Ah, adventurer! There you are again. How about helping us some more? if you do, you can deepen the mutual trust with us and Ferin.<br>
|
||||
What do you say? if you don't remember what to do, I can tell you again.
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-02.htm">"Please tell me again."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies select_mission">"I know what I should do."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
We've begun an investigation in the Garden of Spirits starting from here. However, we are being threatened by the spirits there, so something must be done.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-03.htm">"What is it you need to do?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
We know of a way to defeat those spirits, at least temporarily. This way, we'll be able to put the spirits at rest, even if it's just for a little while.<br>
|
||||
Of course, we will give you a reward for your help. And there is one more thing. While you are helping us, you'll build trust with us. The more we trust you, the more rewards we will give you, and there are some secret missions that we only give to those we trust.<br>
|
||||
That's about it.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies select_mission">"Yes, sure."</Button>
|
||||
</body></html>
|
@ -0,0 +1,9 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Good. Let me tell you what to do. Just choose the mission that you are capable of doing.<br>
|
||||
Basic Mission - Collect <font color="LEVEL">40</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">80</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">120</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-05.html"><font color="A62F31">"I'll take the intermediate mission."</font></Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-05a.html"><font color="A62F31">"I'll take the advanced mission."</font></Button>
|
||||
</body></html>
|
@ -0,0 +1,9 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Good. Let me tell you what to do. Just choose the mission that you are capable of doing.<br>
|
||||
Basic Mission - Collect <font color="LEVEL">40</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">80</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">120</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-06a.html">"I'll take the intermediate mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-05a.html"><font color="A62F31">"I'll take the advanced mission."</font></Button>
|
||||
</body></html>
|
@ -0,0 +1,9 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Good. Let me tell you what to do. Just choose the mission that you are capable of doing.<br>
|
||||
Basic Mission - Collect <font color="LEVEL">40</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">80</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">120</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-06a.html">"I'll take the intermediate mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-06b.html">"I'll take the advanced mission."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Your Unworldly Visitors Faction Level Must be 5 or above may undertake this mission.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Your Unworldly Visitors Faction Level Must be 8 or above may undertake this mission.
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
You have chosen the basic mission to collect 40 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.<br>
|
||||
Are you sure you want to proceed with this mission?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-07.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
You have chosen the intermediate mission to collect 80 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.<br>
|
||||
Are you sure you want to proceed with this mission?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Q00845_SabotageTheEmbryoSupplies 34235-07a.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Q00845_SabotageTheEmbryoSupplies return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
You have chosen the advanced mission to collect 120 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.<br>
|
||||
Are you sure you want to proceed with this mission?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-07b.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Fairy Mimyu:<br>
|
||||
Good. Left me explain the details. Go to the <font color="LEVEL">Garden of Spirits</font>, defeat the <font color="LEVEL">Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero</font>, and put them to rest.<br>
|
||||
As evidence, please bring back <font color="LEVEL">40 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Good. Left me explain the details. Go to the <font color="LEVEL">Garden of Spirits</font>, defeat the <font color="LEVEL">Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero</font>, and put them to rest.<br>
|
||||
As evidence, please bring back <font color="LEVEL">80 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Good. Left me explain the details. Go to the <font color="LEVEL">Garden of Spirits</font>, defeat the <font color="LEVEL">Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero</font>, and put them to rest.<br>
|
||||
As evidence, please bring back <font color="LEVEL">120 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>y></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">40 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">80 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">120 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Toy have collected all of the Mutated Spirit's Souls. You have completed the mission successfully.<br>
|
||||
I would like to congratulate you on completing the mission. Here's your reward. If you have a Faction Amity Token, I can give You more rewards.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00845_SabotageTheEmbryoSupplies 34235-10.html">"I did my best to earn your trust."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
Here is your reward. This will also help to improve the trust between you and us at the Unworldly Visitors.<br>
|
||||
As long as you don't forget us, that is. We thank you for your hard work.
|
||||
</body></html>
|
@ -0,0 +1,356 @@
|
||||
/*
|
||||
* 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.Q00845_SabotageTheEmbryoSupplies;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.enums.Faction;
|
||||
import org.l2jmobius.gameserver.enums.QuestType;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
import quests.Q10844_BloodyBattleSeizingSupplies.Q10844_BloodyBattleSeizingSupplies;
|
||||
|
||||
/**
|
||||
* Sabotage the Embryo Supplies (845)
|
||||
* @URL https://l2wiki.com/Sabotage_the_Embryo_Supplies
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q00845_SabotageTheEmbryoSupplies extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int LOGART_VAN_DYKE = 34235;
|
||||
// Monsters
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
23589, //
|
||||
23507, //
|
||||
23506, //
|
||||
23505, //
|
||||
23508, //
|
||||
23537, //
|
||||
23538, //
|
||||
23509, //
|
||||
23512, //
|
||||
23511 //
|
||||
};
|
||||
// Items
|
||||
private static final int EMBRYO_SUPPLIES = 47197;
|
||||
// Rewards
|
||||
private static final int BASIC_SUPPLY_BOX = 47175; // Kingdom's Royal Guard Basic Supply Box Atelia Fortress
|
||||
private static final int INTERMEDIATE_SUPPLY_BOX = 47176; // Kingdom's Royal Guard Intermediate Supply Box Atelia Fortress
|
||||
private static final int ADVANCED_SUPPLY_BOX = 47177; // Kingdom's Royal Guard Advanced Supply Box Atelia Fortress
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 101;
|
||||
|
||||
public Q00845_SabotageTheEmbryoSupplies()
|
||||
{
|
||||
super(845);
|
||||
addStartNpc(LOGART_VAN_DYKE);
|
||||
addTalkId(LOGART_VAN_DYKE);
|
||||
addKillId(MONSTERS);
|
||||
registerQuestItems(EMBRYO_SUPPLIES);
|
||||
addCondMinLevel(MIN_LEVEL, "34235-00.htm");
|
||||
addCondCompletedQuest(Q10844_BloodyBattleSeizingSupplies.class.getSimpleName(), "34235-00.htm");
|
||||
addFactionLevel(Faction.KINGDOM_ROYAL_GUARDS, 2, "34235-00.htm");
|
||||
}
|
||||
|
||||
@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 "34235-02.htm":
|
||||
case "34235-03.htm":
|
||||
case "34235-04.htm":
|
||||
case "34235-04a.htm":
|
||||
case "34235-04b.htm":
|
||||
case "34235-06.html":
|
||||
case "34235-06a.html":
|
||||
case "34235-06b.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "select_mission":
|
||||
{
|
||||
qs.startQuest();
|
||||
if ((player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 5) && (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) < 8))
|
||||
{
|
||||
htmltext = "34235-04a.htm";
|
||||
break;
|
||||
}
|
||||
else if (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 8)
|
||||
{
|
||||
htmltext = "34235-04b.htm";
|
||||
break;
|
||||
}
|
||||
htmltext = "34235-04.htm";
|
||||
break;
|
||||
}
|
||||
case "return":
|
||||
{
|
||||
if ((player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 5) && (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) < 8))
|
||||
{
|
||||
htmltext = "34235-04a.htm";
|
||||
break;
|
||||
}
|
||||
else if (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 8)
|
||||
{
|
||||
htmltext = "34235-04b.htm";
|
||||
break;
|
||||
}
|
||||
htmltext = "34235-04.htm";
|
||||
break;
|
||||
}
|
||||
case "34235-07.html":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34235-07a.html":
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34235-07b.html":
|
||||
{
|
||||
qs.setCond(4, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34235-10.html":
|
||||
{
|
||||
final int chance = getRandom(100);
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 5:
|
||||
{
|
||||
if ((getQuestItemsCount(player, EMBRYO_SUPPLIES) == 40) && (player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
if (chance < 2)
|
||||
{
|
||||
giveItems(player, ADVANCED_SUPPLY_BOX, 1);
|
||||
}
|
||||
else if (chance < 20)
|
||||
{
|
||||
giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
|
||||
}
|
||||
else if (chance < 100)
|
||||
{
|
||||
giveItems(player, BASIC_SUPPLY_BOX, 1);
|
||||
}
|
||||
addExpAndSp(player, 18155754360L, 18155700);
|
||||
addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, 100);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
if ((getQuestItemsCount(player, EMBRYO_SUPPLIES) == 80) && (player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
if (chance < 2)
|
||||
{
|
||||
giveItems(player, ADVANCED_SUPPLY_BOX, 1);
|
||||
}
|
||||
else if (chance < 20)
|
||||
{
|
||||
giveItems(player, BASIC_SUPPLY_BOX, 1);
|
||||
}
|
||||
else if (chance < 100)
|
||||
{
|
||||
giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
|
||||
}
|
||||
addExpAndSp(player, 36311508720L, 36311400);
|
||||
addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, 200);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
if ((getQuestItemsCount(player, EMBRYO_SUPPLIES) == 120) && (player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
if (chance < 2)
|
||||
{
|
||||
giveItems(player, BASIC_SUPPLY_BOX, 1);
|
||||
}
|
||||
else if (chance < 20)
|
||||
{
|
||||
giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
|
||||
}
|
||||
else if (chance < 100)
|
||||
{
|
||||
giveItems(player, ADVANCED_SUPPLY_BOX, 1);
|
||||
}
|
||||
addExpAndSp(player, 54467263080L, 54467100);
|
||||
addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, 300);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
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 = "34235-01.htm";
|
||||
// fallthrough?
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
if ((player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 5) && (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) < 8))
|
||||
{
|
||||
htmltext = "34235-04a.htm";
|
||||
break;
|
||||
}
|
||||
else if (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 8)
|
||||
{
|
||||
htmltext = "34235-04b.htm";
|
||||
break;
|
||||
}
|
||||
htmltext = "34235-04.htm";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "34235-08.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "34235-08a.html";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
htmltext = "34235-08b.html";
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
{
|
||||
htmltext = "34235-09.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setState(State.CREATED);
|
||||
htmltext = "34235-01.htm";
|
||||
}
|
||||
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.getCond() > 1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
if (giveItemRandomly(player, npc, EMBRYO_SUPPLIES, 1, 40, 0.5, true))
|
||||
{
|
||||
qs.setCond(5, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
if (giveItemRandomly(player, npc, EMBRYO_SUPPLIES, 1, 80, 0.5, true))
|
||||
{
|
||||
qs.setCond(6, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
if (giveItemRandomly(player, npc, EMBRYO_SUPPLIES, 1, 120, 0.5, true))
|
||||
{
|
||||
qs.setCond(7, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hurak:<br>
|
||||
I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
|
||||
(This quest can only be undertaken by characters with Lv. 101 or higher whose faction level with the Kingdom's Royal Guard is 4 or higher and Complete quest: Bloody Battle - Rescue the Smiths.)
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Hurak:<br>
|
||||
It's been a while since we've found the Atelia Fortress.<br>
|
||||
In that time though, the fortress has become more structured, which worries me.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-02.htm">"What's the problem?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hurak:<br>
|
||||
We have to make sure no issues arise here until Leona comes back from Hellbound. We aren't doing so well, though.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-03.htm">"What happened?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Hurak:<br>
|
||||
The Atelia Fortress is more structured now.<br>
|
||||
Until recently, they didn't have the means to get supplies or train soldiers when they isolated themselves, but now they can do all that within.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-04.htm">"How is that possible?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Hurak:<br>
|
||||
According to the information we got from the clan members inside the fortress, they are building different facilities on each floor.<br>
|
||||
I've asked Leona for reinforcements, but they are not doing so great either. We need people who can help us. Do you think you can do it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-05.htm">"Sure, I'll help."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hurak:<br>
|
||||
Glad to hear you'll be helping us. Devianne has already infiltrated the fortress and is in contact with our clan members.<br>
|
||||
First, go find <font color="LEVEL">Glenkinchie</font> in the first stronghold. Anyone inside the fortress should be able to help you more than me.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hurak:<br>
|
||||
Devianne has already infiltrated the fortress, but you'll need to find out where she is from the people who are inside.<br>
|
||||
First, go find <font color="LEVEL">Glenkinchie</font> in the first stronghold. Anyone inside the fortress should be able to help you more than me.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Devianne:<br>
|
||||
Elikia said someone would come find me. I guess that was you? The fortress is becoming more systemized by the way, which worries me.<br>
|
||||
We are not ready yet, and the Embryo are already expanding their forces.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34323-02.html">"Did you find out anything?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,7 @@
|
||||
<html><body>Devianne:<br>
|
||||
I found just a while ago that the fortress is becoming more systemized.<br>
|
||||
They've built a supply base, and I saw that they are distributing supplies to the soldiers within the fortress. I would love to go and destroy their supply base...<br>
|
||||
Recently, I met Devianne, and she told me about the commander of the fortress.<br>
|
||||
She said to create uproars around the fortress to stop the flow of their work inside... Do you think you can help me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34323-03.html">"How can I help?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Devianne:<br>
|
||||
It's not that difficult. You must have seen the <font color="LEVEL">supply boxes</font> laying around. They started getting supplies regularly, but they are still not organized.<br>
|
||||
Please open those <font color="LEVEL">supply boxes</font> and get me the <font color="LEVEL">supplies</font>. Don't just open any box though. There are some <font color="LEVEL">traps</font> that could make it very dangerous.<br>
|
||||
Oh, and one more thing! If you <font color="LEVEL">defeat</font> the <font color="LEVEL">Quartermasters</font>, the <font color="LEVEL">soldiers will be affected</font>, making it easier to steal their supplies.
|
||||
</body></html>
|
@ -0,0 +1,161 @@
|
||||
/*
|
||||
* 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.Q10846_BloodyBattleMeetingTheCommander;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.Faction;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Bloody Battle - Meeting the Commander (10846)
|
||||
* @URL https://l2wiki.com/Bloody_Battle_-_Meeting_the_Commander
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q10846_BloodyBattleMeetingTheCommander extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int HURAK = 34064;
|
||||
private static final int DEVIANNE = 34323;
|
||||
// MiniBoss
|
||||
private static final int BURNSTEIN = 26136; // Burnstein
|
||||
// Item
|
||||
private static final int RUNE_STONE = 39738;
|
||||
private static final int SCROLL_OF_ESCAPE_BLACKBIRD_CAMPSITE = 46158;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 101;
|
||||
|
||||
public Q10846_BloodyBattleMeetingTheCommander()
|
||||
{
|
||||
super(10846);
|
||||
addStartNpc(HURAK);
|
||||
addTalkId(HURAK, DEVIANNE);
|
||||
addKillId(BURNSTEIN);
|
||||
addCondMinLevel(MIN_LEVEL, "34064-00.htm");
|
||||
// addCondCompletedQuest(Q10845_BloodyBattleRescueTheSmiths.class.getSimpleName(), "34064-00.htm");
|
||||
addFactionLevel(Faction.KINGDOM_ROYAL_GUARDS, 4, "34064-00.htm");
|
||||
}
|
||||
|
||||
@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 "34064-04.htm":
|
||||
case "34064-03.htm":
|
||||
case "34064-02.htm":
|
||||
case "34323-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34064-05.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34323-03.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
giveItems(player, RUNE_STONE, 1);
|
||||
giveItems(player, SCROLL_OF_ESCAPE_BLACKBIRD_CAMPSITE, 1);
|
||||
addExpAndSp(player, 7262301690L, 17429400);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (npc.getId() == HURAK)
|
||||
{
|
||||
htmltext = "34064-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case HURAK:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "34064-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DEVIANNE:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "34323-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
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.isCond(1))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
@ -199,6 +199,7 @@ import quests.Q00833_DevilsTreasureTauti.Q00833_DevilsTreasureTauti;
|
||||
import quests.Q00835_PitiableMelisa.Q00835_PitiableMelisa;
|
||||
import quests.Q00842_CaptiveDemons.Q00842_CaptiveDemons;
|
||||
import quests.Q00844_GiantsTreasure.Q00844_GiantsTreasure;
|
||||
import quests.Q00845_SabotageTheEmbryoSupplies.Q00845_SabotageTheEmbryoSupplies;
|
||||
import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
|
||||
import quests.Q00902_ReclaimOurEra.Q00902_ReclaimOurEra;
|
||||
import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
|
||||
@ -474,6 +475,7 @@ import quests.Q10840_TimeToRecover.Q10840_TimeToRecover;
|
||||
import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
|
||||
import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley;
|
||||
import quests.Q10844_BloodyBattleSeizingSupplies.Q10844_BloodyBattleSeizingSupplies;
|
||||
import quests.Q10846_BloodyBattleMeetingTheCommander.Q10846_BloodyBattleMeetingTheCommander;
|
||||
import quests.Q10849_TrialsForAdaptation.Q10849_TrialsForAdaptation;
|
||||
import quests.Q10851_ElvenBotany.Q10851_ElvenBotany;
|
||||
import quests.Q10852_TheMotherTreeRevivalProject.Q10852_TheMotherTreeRevivalProject;
|
||||
@ -503,7 +505,6 @@ import quests.not_done.Q00839_RequestFromTheUnworldlyVisitors;
|
||||
import quests.not_done.Q00840_RequestFromTheKingdomsRoyalGuard;
|
||||
import quests.not_done.Q00841_ContaminationContainment;
|
||||
import quests.not_done.Q00843_GiantEvolutionControl;
|
||||
import quests.not_done.Q00845_SabotageTheEmbryoSupplies;
|
||||
import quests.not_done.Q00846_BuildingUpStrength;
|
||||
import quests.not_done.Q00910_RedLibraRequestLv1;
|
||||
import quests.not_done.Q00911_RedLibraRequestLv2;
|
||||
@ -523,7 +524,6 @@ import quests.not_done.Q10506_DianasRequest;
|
||||
import quests.not_done.Q10748_MysteriousSuggestion1;
|
||||
import quests.not_done.Q10749_MysteriousSuggestion2;
|
||||
import quests.not_done.Q10845_BloodyBattleRescueTheSmiths;
|
||||
import quests.not_done.Q10846_BloodyBattleMeetingTheCommander;
|
||||
import quests.not_done.Q10848_TrialsBeforeTheBattle;
|
||||
import quests.not_done.Q10853_ToWeakenTheGiants;
|
||||
import quests.not_done.Q10854_ToSeizeTheFortress;
|
||||
@ -743,7 +743,7 @@ public class QuestMasterHandler
|
||||
Q00842_CaptiveDemons.class,
|
||||
Q00843_GiantEvolutionControl.class, // TODO: Not done.
|
||||
Q00844_GiantsTreasure.class,
|
||||
Q00845_SabotageTheEmbryoSupplies.class, // TODO: Not done.
|
||||
Q00845_SabotageTheEmbryoSupplies.class,
|
||||
Q00846_BuildingUpStrength.class, // TODO: Not done.
|
||||
Q00901_HowLavasaurusesAreMade.class,
|
||||
Q00902_ReclaimOurEra.class,
|
||||
@ -1038,7 +1038,7 @@ public class QuestMasterHandler
|
||||
Q10843_AnomalyInTheEnchantedValley.class,
|
||||
Q10844_BloodyBattleSeizingSupplies.class,
|
||||
Q10845_BloodyBattleRescueTheSmiths.class, // TODO: Not done.
|
||||
Q10846_BloodyBattleMeetingTheCommander.class, // TODO: Not done.
|
||||
Q10846_BloodyBattleMeetingTheCommander.class,
|
||||
Q10848_TrialsBeforeTheBattle.class, // TODO: Not done.
|
||||
Q10849_TrialsForAdaptation.class,
|
||||
Q10851_ElvenBotany.class,
|
||||
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q00845_SabotageTheEmbryoSupplies extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34235;
|
||||
|
||||
public Q00845_SabotageTheEmbryoSupplies()
|
||||
{
|
||||
super(845);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10846_BloodyBattleMeetingTheCommander extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34064;
|
||||
|
||||
public Q10846_BloodyBattleMeetingTheCommander()
|
||||
{
|
||||
super(10846);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -1,9 +1,6 @@
|
||||
504 Competition for the Bandit Stronghold
|
||||
655 A Grand Plan for Taming Wild Beasts
|
||||
665 Basic Training for Hunter Guild Member
|
||||
666 Knowledgeable Hunter Guild Member
|
||||
667 How to Cover Shilen's Eyes
|
||||
668 Fight with Giants
|
||||
669 Intense Fight against Dragon
|
||||
671 Path to Finding the Past
|
||||
672 Embryo the Archenemy
|
||||
@ -91,7 +88,6 @@
|
||||
840 Request from the Kingdom's Royal Guard
|
||||
841 Contamination Containment
|
||||
843 Giant Evolution Control
|
||||
845 Sabotage the Embryo Supplies
|
||||
846 Building up Strength
|
||||
861 Kain's Choice
|
||||
910 Red Libra Request - Isle of Souls
|
||||
@ -122,7 +118,6 @@
|
||||
10396 Witch of Spores
|
||||
10418 The Immortal Pirate King
|
||||
10423 Embryo Stronghold Ambush
|
||||
10454 Final Embryo Apostle
|
||||
10457 Kefensis' Illusion
|
||||
10506 Diana's Request
|
||||
10535 Blacksmith's Soul-awakening Weapon - 3
|
||||
@ -135,7 +130,6 @@
|
||||
10748 Mysterious Suggestion - 1
|
||||
10749 Mysterious Suggestion - 2
|
||||
10845 Bloody Battle - Rescue the Smiths
|
||||
10846 Bloody Battle - Meeting the Commander
|
||||
10848 Trials before the Battle
|
||||
10853 To Weaken the Giants
|
||||
10854 To Seize the Fortress
|
||||
|
@ -0,0 +1,5 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
The Enchanted Valley has changed, so it's very dangerous.<br>
|
||||
I don't think you are supposed to be here yet. Come back when you get stronger.<br>
|
||||
(Only characters above Lv. 85 and above.)
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
Ah, adventurer! There you are again. How about helping us some more? if you do, you can deepen the mutual trust with us and Ferin.<br>
|
||||
What do you say? if you don't remember what to do, I can tell you again.
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember 34267-02.htm">"Please tell me again."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember select_mission">"I know what I should do."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
We've begun an investigation in the Garden of Spirits starting from here. However, we are being threatened by the spirits there, so something must be done.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember 34267-03.htm">"What is it you need to do?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
We know of a way to defeat those spirits, at least temporarily. This way, we'll be able to put the spirits at rest, even if it's just for a little while.<br>
|
||||
Of course, we will give you a reward for your help. And there is one more thing. While you are helping us, you'll build trust with us. The more we trust you, the more rewards we will give you, and there are some secret missions that we only give to those we trust.<br>
|
||||
That's about it.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember select_mission">"Yes, sure."</Button>
|
||||
</body></html>
|
@ -0,0 +1,7 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
Good. Let me tell you what to do. Just choose the mission that you are capable of doing.<br>
|
||||
Basic Mission - Collect <font color="LEVEL">1</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">2</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember 34267-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember 34267-05.html"><font color="A62F31">"I'll take the intermediate mission."</font></Button>
|
||||
</body></html>
|
@ -0,0 +1,7 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
Good. Let me tell you what to do. Just choose the mission that you are capable of doing.<br>
|
||||
Basic Mission - Collect <font color="LEVEL">1</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">2</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember 34267-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember 34267-06a.html">"I'll take the intermediate mission."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
Your Unworldly Visitors Faction Level Must be 4 or above may undertake this mission.
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
You have chosen the basic mission to collect 1 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.<br>
|
||||
Are you sure you want to proceed with this mission?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember 34267-07.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
You have chosen the intermediate mission to collect 2 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.<br>
|
||||
Are you sure you want to proceed with this mission?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Q00665_BasicTrainingForHunterGuildMember 34267-07a.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Q00665_BasicTrainingForHunterGuildMember return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
Good. Left me explain the details. Go to the <font color="LEVEL">Garden of Spirits</font>, defeat the <font color="LEVEL">Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero</font>, and put them to rest.<br>
|
||||
As evidence, please bring back <font color="LEVEL">1 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
Good. Left me explain the details. Go to the <font color="LEVEL">Garden of Spirits</font>, defeat the <font color="LEVEL">Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero</font>, and put them to rest.<br>
|
||||
As evidence, please bring back <font color="LEVEL">2 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">1 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">2 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
Toy have collected all of the Mutated Spirit's Souls. You have completed the mission successfully.<br>
|
||||
I would like to congratulate you on completing the mission. Here's your reward. If you have a Faction Amity Token, I can give You more rewards.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00665_BasicTrainingForHunterGuildMember 34267-10.html">"I did my best to earn your trust."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Truth Seeker Devianne:<br>
|
||||
Here is your reward. This will also help to improve the trust between you and us at the Unworldly Visitors.<br>
|
||||
As long as you don't forget us, that is. We thank you for your hard work.
|
||||
</body></html>
|
@ -0,0 +1,271 @@
|
||||
/*
|
||||
* 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.Q00665_BasicTrainingForHunterGuildMember;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.Faction;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.enums.QuestType;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
/**
|
||||
* Basic Training for Hunter Guild Member (665)
|
||||
* @URL https://l2wiki.com/Basic_Training_for_Hunter_Guild_Member
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q00665_BasicTrainingForHunterGuildMember extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int ARCTURUS = 34267;
|
||||
// BOSS
|
||||
private static final int[] BOSS =
|
||||
{
|
||||
19253, // Zellaka
|
||||
19254, // Pelline
|
||||
19255, // Kalios
|
||||
26102, // Dark Rider
|
||||
26136, // Burnstein
|
||||
25876, // Maliss
|
||||
25877 // Isadora
|
||||
};
|
||||
// Misc
|
||||
private static final boolean PARTY_QUEST = true;
|
||||
private static final int MIN_LEVEL = 85;
|
||||
|
||||
public Q00665_BasicTrainingForHunterGuildMember()
|
||||
{
|
||||
super(665);
|
||||
addStartNpc(ARCTURUS);
|
||||
addTalkId(ARCTURUS);
|
||||
addKillId(BOSS);
|
||||
addCondMinLevel(MIN_LEVEL, "34267-00.htm");
|
||||
}
|
||||
|
||||
@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":
|
||||
case "34267-04.htm":
|
||||
case "34267-04a.htm":
|
||||
case "34267-06.html":
|
||||
case "34267-06a.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "select_mission":
|
||||
{
|
||||
qs.startQuest();
|
||||
if (player.getFactionLevel(Faction.HUNTERS_GUILD) < 4)
|
||||
{
|
||||
htmltext = "34267-04a.htm";
|
||||
break;
|
||||
}
|
||||
htmltext = "34267-04.htm";
|
||||
break;
|
||||
}
|
||||
case "return":
|
||||
{
|
||||
if (player.getFactionLevel(Faction.HUNTERS_GUILD) < 4)
|
||||
{
|
||||
htmltext = "34267-04a.htm";
|
||||
break;
|
||||
}
|
||||
htmltext = "34267-04.htm";
|
||||
break;
|
||||
}
|
||||
case "34267-07.html":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34267-07a.html":
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34267-10.html":
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 4:
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
addFactionPoints(player, Faction.HUNTERS_GUILD, 100);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
addFactionPoints(player, Faction.HUNTERS_GUILD, 150);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
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 = "34267-01.htm";
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
if (player.getFactionLevel(Faction.HUNTERS_GUILD) < 4)
|
||||
{
|
||||
htmltext = "34267-04a.htm";
|
||||
break;
|
||||
}
|
||||
htmltext = "34267-04.htm";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "34267-08.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "34267-08a.html";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
case 5:
|
||||
{
|
||||
htmltext = "34267-09.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setState(State.CREATED);
|
||||
htmltext = "34267-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
|
||||
if ((qs != null) && (qs.getCond() > 1))
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
final int killedGhosts = qs.getInt("AncientGhosts") + 1;
|
||||
qs.set("AncientGhosts", killedGhosts);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
|
||||
if (killedGhosts >= 1)
|
||||
{
|
||||
qs.setCond(4, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
final int killedGhosts = qs.getInt("AncientGhosts") + 1;
|
||||
qs.set("AncientGhosts", killedGhosts);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
|
||||
if (killedGhosts >= 2)
|
||||
{
|
||||
qs.setCond(5, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && (qs.getCond() > 1))
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.COMPLETE_BASIC_TRAINING.getId(), true, qs.getInt("AncientGhosts")));
|
||||
return holder;
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
What is it? Do you want to check new missions of the Hunter Guild?<br>
|
||||
Come on. We are always in high demand.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00666_HunterGuildMembersKnowledge 30703-02.htm">Ask about the mission</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
You know that there are areas called Seeds in Gracia, don't you?<br>
|
||||
There are four Seeds, Destruction, Infinity, Annihilation, and Hellfire. Each Seed is guarded by a Seed Lord.<br>
|
||||
The Seed Lords are not ordinary people... Shilen herself appointed them. In fact, their roles are similar to those of Anakim and Lilith. All of them work to strengthen Shilen's power.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00666_HunterGuildMembersKnowledge 30703-03.htm">"Really?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
Are you belittling the Hunter Guild's intelligence? It's all true!<br>
|
||||
What matters is that the activities of these Seed Lords affect Shilen in some way. So, we have agreed to eliminate the Seed Lords.<br>
|
||||
With whom? With both Aden and Gracia, of course.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00666_HunterGuildMembersKnowledge 30703-04.htm">Ask about the agreement</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
The Hunter Guild has kept close ties with the Aden Court. According to the mutual defense agreement between Aden and Gracia, we have been assigned to defeat <font color="LEVEL">Tiat, Tauti, Istina, and Ekimus</font>. Some of them are already in the Extreme state. We have to eliminate them. Can you handle it?
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
You haven't left yet. The Gracia Continent is far from the Aden Continent, but it's not impossible to get there. Go to Gracia and defeat Tiat, Tauti, Istina, and Ekimus. Make sure to defeat Tauti and Istina, which are in the Extreme state.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
Did you give a good lesson to the Lord of Seeds?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00666_HunterGuildMembersKnowledge 30703-07.html">"I complete it all"</Button>
|
||||
</body></htm>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
Good job. It will help the Hunter Guild take a lead in the Gracia Continent.
|
||||
</body></htm>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild Member<br>
|
||||
I don't know where you heard it, but the guild has decided to assign it to a more reliable guild member. Let's talk later when we trust each other more.<br>
|
||||
(Only characters with Lv. 85 or above and Faction level 1 or above with the Hunters Guild may undertake this quest.)
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
What's your business? I'm busy with dealing with the Seed Lords that control the seeds in Gracia. Come back later. Ah, no, wait. If you have time, could you help me?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00666_HunterGuildMembersKnowledge 34267-02.htm">Continue to listen</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
There are areas called Ξ<>��Ξ<C2BD>�†Ξ<C2A0>οΏ½Ξ’Β²Ξ<C2B2>Β²Ξ²β€<CEB2>¬οΞ<CE8F>Β½Ξ<C2BD>’Β¬Ξ<C2AC>�•Ξ<E280A0>Β²Ξ²β€<CEB2>¬οΞ<CE8F>Β½SeedsΞ<73>��Ξ<C2BD>�†Ξ<C2A0>οΏ½Ξ’Β²Ξ<C2B2>Β²Ξ²β€<CEB2>¬οΞ<CE8F>Β½Ξ<C2BD>’Β¬Ξ<C2AC>�’Ξ<CE86>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½Ξ’Β½ in Gracia. They include the Seed of Destruction, the Seed of Hellfire, the Seed of Annihilation, and the Seed of Infinity. Goddess Shilen has appointed four lords to rule them. Did you know this?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00666_HunterGuildMembersKnowledge 34267-03.htm">No</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
Well, only a few do. What matters is that the more active these lords become, the more easily Shilen can use her power. So, we're focusing on nullifying the Seed Lords.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00666_HunterGuildMembersKnowledge 34267-04.htm">Ask if your mission is to defeat the Seed Lords</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
Yes. Our goal is to eliminate the Seed Lords and weaken their forces. It's useless to provoke weak ones. Your targets are the Seed Lords in the Extreme state. Defeat <font color="LEVEL">Tiat, Tauti, Istina, and Ekimus</font> and return to me.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
You haven't left yet? I told you which Seed Lords you have to deal with.<br>
|
||||
They are Tiat, Tauti, Istina, and Ekimus. Make sure to eliminate them in the Extreme state.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
Did you give a good lesson to the Lord of Seeds?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00666_HunterGuildMembersKnowledge 34267-07.html">"I complete it all"</Button>
|
||||
</body></htm>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
Good job. It will help the Hunter Guild take a lead in the Gracia Continent.
|
||||
</body></htm>
|
@ -0,0 +1,210 @@
|
||||
/*
|
||||
* 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.Q00666_HunterGuildMembersKnowledge;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.enums.Faction;
|
||||
import org.l2jmobius.gameserver.enums.QuestType;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Knowledgeable Hunter Guild Member (666)
|
||||
* @URL https://l2wiki.com/Knowledgeable_Hunter_Guild_Member
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q00666_HunterGuildMembersKnowledge extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int ARCTURUS = 34267;
|
||||
private static final int COLIN = 30703;
|
||||
// BOSS
|
||||
private static final int[] BOSES =
|
||||
{
|
||||
3477, // Reinforced Super Kat the Cat
|
||||
3479, // Darkened Super Feline Queen
|
||||
25933, // Garden Patrol Captain
|
||||
3481, // Control-crazed Mew the Cat
|
||||
25937, // Spicula Negative
|
||||
3473, // Omega Golem
|
||||
29163, // Tiat (attack type)
|
||||
25886, // Houpon the Warden Overseer
|
||||
25902, // Gigantic Golem (96 lvl)
|
||||
25887, // Crook the Mad
|
||||
26348, // Summoned Garp
|
||||
26347, // Summoned Harpas
|
||||
26349, // Summoned Moricks
|
||||
26431, // Avenger Alusion
|
||||
26432, // Avenger Graff
|
||||
26312, // Lithra
|
||||
26436, // Watcher Setheth
|
||||
26435, // Watcher Tristan
|
||||
25946, // Antharas' Herald Komabor
|
||||
25949, // Lindvior's Herald Numa
|
||||
26442, // Mad Cullan
|
||||
25922, // Nerva Chief Turakan
|
||||
26005, // Nerva Orc Nergatt
|
||||
26001, // Amden Orc Turation
|
||||
25929, // Tegaffe
|
||||
25931, // Theor
|
||||
25948, // Valakas' Herald Potigia
|
||||
25983, // Varkaron
|
||||
25982, // Varmonia
|
||||
25957, // Vengeful Agarez
|
||||
25961, // Vengeful Agonia
|
||||
25960, // Vengeful Edaire
|
||||
25956, // Vengeful Eligos
|
||||
25958, // Vengeful Lerazia
|
||||
25959, // Vengeful Oretross
|
||||
26441, // Witch Moira
|
||||
26440, // Arrogant Lebruum
|
||||
26439, // Ferocious Valac
|
||||
26438, // Berserker Tabris
|
||||
26437, // Berserker Zetahl
|
||||
29374, // Cyrax
|
||||
26433, // Demon Venoma
|
||||
26434, // Fiend Sarboth
|
||||
26443, // Akrikhin Charon
|
||||
26444, // Scorpion King Votan
|
||||
25876, //
|
||||
25877 //
|
||||
};
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 85;
|
||||
|
||||
public Q00666_HunterGuildMembersKnowledge()
|
||||
{
|
||||
super(666);
|
||||
addStartNpc(ARCTURUS, COLIN);
|
||||
addTalkId(ARCTURUS, COLIN);
|
||||
addKillId(BOSES);
|
||||
addCondMinLevel(MIN_LEVEL, "34267-00.htm");
|
||||
addFactionLevel(Faction.HUNTERS_GUILD, 1, "34267-00.htm");
|
||||
}
|
||||
|
||||
@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 "30703-02.htm":
|
||||
case "30703-03.htm":
|
||||
case "34267-02.htm":
|
||||
case "34267-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30703-04.htm":
|
||||
case "34267-04.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30703-07.html":
|
||||
case "34267-07.html":
|
||||
{
|
||||
addFactionPoints(player, Faction.HUNTERS_GUILD, 150);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case COLIN:
|
||||
{
|
||||
htmltext = "30703-01.htm";
|
||||
break;
|
||||
}
|
||||
case ARCTURUS:
|
||||
{
|
||||
htmltext = "34267-01.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case COLIN:
|
||||
{
|
||||
htmltext = (qs.isCond(1)) ? "30703-05.html" : "30703-06.html";
|
||||
break;
|
||||
}
|
||||
case ARCTURUS:
|
||||
{
|
||||
htmltext = (qs.isCond(1)) ? "34267-05.html" : "34267-06.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
|
||||
break;
|
||||
}
|
||||
qs.setState(State.CREATED);
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(player, npc, isSummon, true, false);
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
What is it? Do you want to check new missions of the Hunter Guild?<br>
|
||||
Come on. We are always in high demand.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00668_ABattleWithTheGiants 30703-02.htm">Ask about the mission</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
You know that there are areas called Seeds in Gracia, don't you?<br>
|
||||
There are four Seeds, Destruction, Infinity, Annihilation, and Hellfire. Each Seed is guarded by a Seed Lord.<br>
|
||||
The Seed Lords are not ordinary people... Shilen herself appointed them. In fact, their roles are similar to those of Anakim and Lilith. All of them work to strengthen Shilen's power.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00668_ABattleWithTheGiants 30703-03.htm">"Really?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
Are you belittling the Hunter Guild's intelligence? It's all true!<br>
|
||||
What matters is that the activities of these Seed Lords affect Shilen in some way. So, we have agreed to eliminate the Seed Lords.<br>
|
||||
With whom? With both Aden and Gracia, of course.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00668_ABattleWithTheGiants 30703-04.htm">Ask about the agreement</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
The Hunter Guild has kept close ties with the Aden Court. According to the mutual defense agreement between Aden and Gracia, we have been assigned to defeat <font color="LEVEL">Tiat, Tauti, Istina, and Ekimus</font>. Some of them are already in the Extreme state. We have to eliminate them. Can you handle it?
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
You haven't left yet. The Gracia Continent is far from the Aden Continent, but it's not impossible to get there. Go to Gracia and defeat Tiat, Tauti, Istina, and Ekimus. Make sure to defeat Tauti and Istina, which are in the Extreme state.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
Did you give a good lesson to the Lord of Seeds?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00668_ABattleWithTheGiants 30703-07.html">"I complete it all"</Button>
|
||||
</body></htm>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Hunters Guild Member Colin:<br>
|
||||
Good job. It will help the Hunter Guild take a lead in the Gracia Continent.
|
||||
</body></htm>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild Member<br>
|
||||
I don't know where you heard it, but the guild has decided to assign it to a more reliable guild member. Let's talk later when we trust each other more.<br>
|
||||
(Only characters with Lv. 85 or above and Faction level 1 or above with the Hunters Guild may undertake this quest.)
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
What's your business? I'm busy with dealing with the Seed Lords that control the seeds in Gracia. Come back later. Ah, no, wait. If you have time, could you help me?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00668_ABattleWithTheGiants 34267-02.htm">Continue to listen</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
There are areas called Ξ<>��Ξ<C2BD>�†Ξ<C2A0>οΏ½Ξ’Β²Ξ<C2B2>Β²Ξ²β€<CEB2>¬οΞ<CE8F>Β½Ξ<C2BD>’Β¬Ξ<C2AC>�•Ξ<E280A0>Β²Ξ²β€<CEB2>¬οΞ<CE8F>Β½SeedsΞ<73>��Ξ<C2BD>�†Ξ<C2A0>οΏ½Ξ’Β²Ξ<C2B2>Β²Ξ²β€<CEB2>¬οΞ<CE8F>Β½Ξ<C2BD>’Β¬Ξ<C2AC>�’Ξ<CE86>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½Ξ’Β½ in Gracia. They include the Seed of Destruction, the Seed of Hellfire, the Seed of Annihilation, and the Seed of Infinity. Goddess Shilen has appointed four lords to rule them. Did you know this?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00668_ABattleWithTheGiants 34267-03.htm">No</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
Well, only a few do. What matters is that the more active these lords become, the more easily Shilen can use her power. So, we're focusing on nullifying the Seed Lords.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00668_ABattleWithTheGiants 34267-04.htm">Ask if your mission is to defeat the Seed Lords</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
Yes. Our goal is to eliminate the Seed Lords and weaken their forces. It's useless to provoke weak ones. Your targets are the Seed Lords in the Extreme state. Defeat <font color="LEVEL">Tiat, Tauti, Istina, and Ekimus</font> and return to me.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
You haven't left yet? I told you which Seed Lords you have to deal with.<br>
|
||||
They are Tiat, Tauti, Istina, and Ekimus. Make sure to eliminate them in the Extreme state.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
Did you give a good lesson to the Lord of Seeds?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00668_ABattleWithTheGiants 34267-07.html">"I complete it all"</Button>
|
||||
</body></htm>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Hunters Guild President Arcturus:<br>
|
||||
Good job. It will help the Hunter Guild take a lead in the Gracia Continent.
|
||||
</body></htm>
|
@ -0,0 +1,168 @@
|
||||
/*
|
||||
* 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.Q00668_ABattleWithTheGiants;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.enums.Faction;
|
||||
import org.l2jmobius.gameserver.enums.QuestType;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Fight with the Giants (668)
|
||||
* @URL https://l2wiki.com/Fight_with_the_Giants
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q00668_ABattleWithTheGiants extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int ARCTURUS = 34267;
|
||||
private static final int COLIN = 30703;
|
||||
// BOSS
|
||||
private static final int[] BOSES =
|
||||
{
|
||||
29305, // Helios
|
||||
26143, // Ramona
|
||||
26148, // Enhanced Mimir
|
||||
26157, // Enhanced Harnak's Wraith
|
||||
26152 // Enhanced Core
|
||||
};
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 85;
|
||||
|
||||
public Q00668_ABattleWithTheGiants()
|
||||
{
|
||||
super(668);
|
||||
addStartNpc(ARCTURUS, COLIN);
|
||||
addTalkId(ARCTURUS, COLIN);
|
||||
addKillId(BOSES);
|
||||
addCondMinLevel(MIN_LEVEL, "34267-00.htm");
|
||||
addFactionLevel(Faction.HUNTERS_GUILD, 1, "34267-00.htm");
|
||||
}
|
||||
|
||||
@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 "30703-02.htm":
|
||||
case "30703-03.htm":
|
||||
case "34267-02.htm":
|
||||
case "34267-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30703-04.htm":
|
||||
case "34267-04.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30703-07.html":
|
||||
case "34267-07.html":
|
||||
{
|
||||
addFactionPoints(player, Faction.HUNTERS_GUILD, 150);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case COLIN:
|
||||
{
|
||||
htmltext = "30703-01.htm";
|
||||
break;
|
||||
}
|
||||
case ARCTURUS:
|
||||
{
|
||||
htmltext = "34267-01.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case COLIN:
|
||||
{
|
||||
htmltext = (qs.isCond(1)) ? "30703-05.html" : "30703-06.html";
|
||||
break;
|
||||
}
|
||||
case ARCTURUS:
|
||||
{
|
||||
htmltext = (qs.isCond(1)) ? "34267-05.html" : "34267-06.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
|
||||
break;
|
||||
}
|
||||
qs.setState(State.CREATED);
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(player, npc, isSummon, true, false);
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
<html><body>Logart van Dyke:<br>
|
||||
The Enchanted Valley has changed, so it's very dangerous.<br>
|
||||
I don't think you are supposed to be here yet. Come back when you get stronger.<br>
|
||||
(Only characters above Lv. 101, quest Complete Bloody Battle - Seizing Supplies and fraction KingdomΞ<6D>οΏ½Ξ’Β²Ξ<C2B2>²β€�Β¬Ξ<C2AC>²β€�Ξ<C2BD>β€ s Royal Guard amity level 2 or above.)
|
||||
</body></html>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user