Addition of quests 674, 675, 816, 10597, 10844 and 10852.
Contributed by Dmitri.
This commit is contained in:
parent
30bed44610
commit
53cf0ea614
@ -18,7 +18,6 @@
|
||||
781 Utilize the Darkness - Seed of Annihilation
|
||||
782 Utilize the Darkness - Seed of Hellfire
|
||||
789 Waiting for Pa'agrio
|
||||
816 Plans to Repair the Stronghold
|
||||
824 Attack the Command Post
|
||||
834 Against Dragonclaw
|
||||
10352 Legacy of Cruma Tower
|
||||
@ -50,6 +49,5 @@
|
||||
10748 Mysterious Suggestion - 1
|
||||
10749 Mysterious Suggestion - 2
|
||||
10809 The Hero's Journey: Blazing Swamp
|
||||
10844 Bloody Battle - Seizing Supplies
|
||||
10845 Bloody Battle - Rescue the Smiths
|
||||
10846 Bloody Battle - Meeting the Commander
|
@ -0,0 +1,5 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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.)
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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 Q00816_PlansToRepairTheStronghold 34058-02.htm">"Please tell me again."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold select_mission">"I know what I should do."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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 Q00816_PlansToRepairTheStronghold 34058-03.htm">"What is it you need to do?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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 Q00816_PlansToRepairTheStronghold select_mission">"Yes, sure."</Button>
|
||||
</body></html>
|
@ -0,0 +1,11 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">200</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">400</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">600</font> Mutated Spirit's Souls.<br1>
|
||||
Very Advanced Mission - Collect <font color="LEVEL">800</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05.html"><font color="A62F31">"I'll take the intermediate mission."</font></Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05a.html"><font color="A62F31">"I'll take the advanced mission."</font></Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05b.html"><font color="A62F31">"I'll take the Very advanced mission."</font></Button>
|
||||
</body></html>
|
@ -0,0 +1,11 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">200</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">400</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">600</font> Mutated Spirit's Souls.<br1>
|
||||
Very Advanced Mission - Collect <font color="LEVEL">800</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06a.html">"I'll take the intermediate mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05a.html"><font color="A62F31">"I'll take the advanced mission."</font></Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05b.html"><font color="A62F31">"I'll take the Very advanced mission."</font></Button>
|
||||
</body></html>
|
@ -0,0 +1,11 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">200</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">400</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">600</font> Mutated Spirit's Souls.<br1>
|
||||
Very Advanced Mission - Collect <font color="LEVEL">800</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06a.html">"I'll take the intermediate mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06b.html">"I'll take the advanced mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05b.html"><font color="A62F31">"I'll take the Very advanced mission."</font></Button>
|
||||
</body></html>
|
@ -0,0 +1,11 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">200</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">400</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">600</font> Mutated Spirit's Souls.<br1>
|
||||
Very Advanced Mission - Collect <font color="LEVEL">800</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06a.html">"I'll take the intermediate mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06b.html">"I'll take the advanced mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06d.html">"I'll take the Very advanced mission."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Your Unworldly Visitors Faction Level Must be 1 or above may undertake this mission.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Your Unworldly Visitors Faction Level Must be 3 or above may undertake this mission.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Your Unworldly Visitors Faction Level Must be 6 or above may undertake this mission.
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
You have chosen the basic mission to collect 200 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 Q00816_PlansToRepairTheStronghold 34058-07.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00816_PlansToRepairTheStronghold return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
You have chosen the intermediate mission to collect 400 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 Q00816_PlansToRepairTheStronghold 34058-07a.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Q00816_PlansToRepairTheStronghold return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
You have chosen the advanced mission to collect 600 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 Q00816_PlansToRepairTheStronghold 34058-07b.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00816_PlansToRepairTheStronghold return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
You have chosen the Very advanced mission to collect 800 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 Q00816_PlansToRepairTheStronghold 34058-07d.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00816_PlansToRepairTheStronghold return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">200 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">400 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">600 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>y></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">800 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>y></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">200 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">400 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">600 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">800 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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 Q00816_PlansToRepairTheStronghold 34058-10.html">"I did my best to earn your trust."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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,363 @@
|
||||
/*
|
||||
* 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.Q00816_PlansToRepairTheStronghold;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
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;
|
||||
|
||||
/**
|
||||
* Plans to Repair the Stronghold (816)
|
||||
* @URL https://l2wiki.com/Plans_to_Repair_the_Stronghold
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q00816_PlansToRepairTheStronghold extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int ADOLPH = 34058;
|
||||
// Monsters
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
23505, // Fortress Raider 101
|
||||
23506, // Fortress Guardian Captain 101
|
||||
23507, // Atelia Passionate Soldier 101
|
||||
23508, // Atelia Elite Captain 101
|
||||
23509, // Fortress Dark Wizard 102
|
||||
23510, // Atelia Flame Master 102
|
||||
23511, // Fortress Archon 102
|
||||
23512 // Atelia High Priest 102
|
||||
};
|
||||
// Items
|
||||
private static final int MATERIAL_QUEST = 46142; // Stronghold Flag Repair Supplies
|
||||
private static final int BASIC_SUPPLY_BOX = 47175;
|
||||
private static final int INTERMEDIATE_SUPPLY_BOX = 47176;
|
||||
private static final int ADVANCED_SUPPLY_BOX = 47177;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 101;
|
||||
|
||||
public Q00816_PlansToRepairTheStronghold()
|
||||
{
|
||||
super(816);
|
||||
addStartNpc(ADOLPH);
|
||||
addTalkId(ADOLPH);
|
||||
addKillId(MONSTERS);
|
||||
registerQuestItems(MATERIAL_QUEST);
|
||||
addCondMinLevel(MIN_LEVEL, "34058-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 "34058-02.htm":
|
||||
case "34058-03.htm":
|
||||
case "34058-04.htm":
|
||||
case "34058-04a.htm":
|
||||
case "34058-04b.htm":
|
||||
case "34058-04d.htm":
|
||||
case "34058-06.html":
|
||||
case "34058-06a.html":
|
||||
case "34058-06b.html":
|
||||
case "34058-06d.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "select_mission":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = "34058-04.htm";
|
||||
break;
|
||||
}
|
||||
case "return":
|
||||
{
|
||||
htmltext = "34058-04.htm";
|
||||
break;
|
||||
}
|
||||
case "34058-07.html":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34058-07a.html":
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34058-07b.html":
|
||||
{
|
||||
qs.setCond(4, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34058-07d.html":
|
||||
{
|
||||
qs.setCond(5, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34058-10.html":
|
||||
{
|
||||
final int chance = getRandom(100);
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 6:
|
||||
{
|
||||
if ((getQuestItemsCount(player, MATERIAL_QUEST) == 200) && (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, 18_155_754_360L, 18_155_700);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
if ((getQuestItemsCount(player, MATERIAL_QUEST) == 400) && (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, 36_311_508_720L, 36_311_400);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
{
|
||||
if ((getQuestItemsCount(player, MATERIAL_QUEST) == 600) && (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, 54_467_263_080L, 54_467_100);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 9:
|
||||
{
|
||||
if ((getQuestItemsCount(player, MATERIAL_QUEST) == 800) && (player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
if (chance < 50)
|
||||
{
|
||||
giveItems(player, BASIC_SUPPLY_BOX, 2);
|
||||
}
|
||||
else if (chance < 50)
|
||||
{
|
||||
giveItems(player, INTERMEDIATE_SUPPLY_BOX, 2);
|
||||
}
|
||||
else if (chance < 50)
|
||||
{
|
||||
giveItems(player, ADVANCED_SUPPLY_BOX, 2);
|
||||
}
|
||||
addExpAndSp(player, 72_623_017_440L, 72_622_800);
|
||||
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 = "34058-01.htm";
|
||||
// fallthrough
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "34058-04.htm";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "34058-08.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "34058-08a.html";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
htmltext = "34058-08b.html";
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
htmltext = "34058-08d.html";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
{
|
||||
htmltext = "34058-09.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setState(State.CREATED);
|
||||
htmltext = "34058-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, MATERIAL_QUEST, 1, 200, 1, true))
|
||||
{
|
||||
qs.setCond(6, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
if (giveItemRandomly(player, npc, MATERIAL_QUEST, 1, 400, 1, true))
|
||||
{
|
||||
qs.setCond(7, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
if (giveItemRandomly(player, npc, MATERIAL_QUEST, 1, 600, 1, true))
|
||||
{
|
||||
qs.setCond(8, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
if (giveItemRandomly(player, npc, MATERIAL_QUEST, 1, 800, 1, true))
|
||||
{
|
||||
qs.setCond(9, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<html><body>Verdure Elder Elikia:<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 2 or higher.)
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<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 Q10844_BloodyBattleSeizingSupplies 34057-02.htm">"What's the problem?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Verdure Elder Elikia:<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 Q10844_BloodyBattleSeizingSupplies 34057-03.htm">"What happened?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<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 Q10844_BloodyBattleSeizingSupplies 34057-04.htm">"How is that possible?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<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 Q10844_BloodyBattleSeizingSupplies 34057-05.htm">"Sure, I'll help."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Verdure Elder Elikia:<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>Verdure Elder Elikia:<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>Blackbird Clan Member Glenkinchie:<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 Q10844_BloodyBattleSeizingSupplies 34063-02.html">"Did you find out anything?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,7 @@
|
||||
<html><body>Blackbird Clan Member Glenkinchie:<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 Q10844_BloodyBattleSeizingSupplies 34063-03.html">"How can I help?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Blackbird Clan Member Glenkinchie:<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,4 @@
|
||||
<html><body>Blackbird Clan Member Glenkinchie:<br>
|
||||
I need more supplies.<br>
|
||||
This won't be enough. Please get me some more supplies.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Blackbird Clan Member Glenkinchie:<br>
|
||||
Did you collect all the supplies? Oh, this is great! Things will get interesting now. Thanks.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10844_BloodyBattleSeizingSupplies 34063-06.html">"Did that help?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Blackbird Clan Member Glenkinchie:<br>
|
||||
Of course. It's not perfect yet, but our strategy is to create an uproar, so that was helpful.<br>
|
||||
In order for Devianne's plan to work, we need to continue creating uproars, so I'm sure <font color="LEVEL">Hurak</font> on the <font color="LEVEL">2nd floor</font> is also making similar plans at the <font color="LEVEL">stronghold</font> there.
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Embryo supplies:<br>
|
||||
This is the additional <font color="LEVEL">delegation member</font> sent to the Town of Gludio.<br>
|
||||
Unfortunately, death seemed to have reigned for a while on this body.<br>
|
||||
The face is strangely peaceful.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10844_BloodyBattleSeizingSupplies mega_menu">That's suspicious. Let's see if the body holds any clue</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Embryo Supply Box:<br>
|
||||
(A supply box for Embryo soldiers within the Atelia Fortress. Should watch out for the guards.)
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10844_BloodyBattleSeizingSupplies open_box">"Let's see..."</Button>
|
||||
</body></html>
|
@ -0,0 +1,194 @@
|
||||
/*
|
||||
* 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.Q10844_BloodyBattleSeizingSupplies;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
/**
|
||||
* Bloody Battle - Seizing Supplies (10844)
|
||||
* @URL https://l2wiki.com/Bloody_Battle_-_Seizing_Supplies
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q10844_BloodyBattleSeizingSupplies extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int ELIKIA = 34057;
|
||||
private static final int GLENKINCHIE = 34063;
|
||||
private static final int EMBRYO_SUPPLY_BOX = 34137;
|
||||
// Monsters
|
||||
private static final int FORTRESS_GUARDIAN_CAPTAIN = 23506;
|
||||
private static final int FORTRESS_RAIDER = 23505;
|
||||
// Items
|
||||
private static final int EMBRYO_SUPPLIES = 46282;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 101;
|
||||
|
||||
public Q10844_BloodyBattleSeizingSupplies()
|
||||
{
|
||||
super(10844);
|
||||
addStartNpc(ELIKIA);
|
||||
addTalkId(ELIKIA, GLENKINCHIE);
|
||||
addFirstTalkId(EMBRYO_SUPPLY_BOX);
|
||||
registerQuestItems(EMBRYO_SUPPLIES);
|
||||
addCondMinLevel(MIN_LEVEL, "34057-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 "34057-04.htm":
|
||||
case "34057-03.htm":
|
||||
case "34057-02.htm":
|
||||
case "34063-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34057-05.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34063-03.html":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "open_box":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
npc.deleteMe();
|
||||
if (getRandom(10) < 5)
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(qs.getPlayer(), EMBRYO_SUPPLIES) < 19))
|
||||
{
|
||||
giveItems(player, EMBRYO_SUPPLIES, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
else
|
||||
{
|
||||
giveItems(player, EMBRYO_SUPPLIES, 1);
|
||||
qs.setCond(3, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
final Npc captain = addSpawn(FORTRESS_GUARDIAN_CAPTAIN, npc, true, 120000, false);
|
||||
captain.setTitleString(NpcStringId.SUPPLY_GUARDS);
|
||||
addAttackPlayerDesire(captain, player);
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
final Npc raider = addSpawn(FORTRESS_RAIDER, npc, true, 120000, false);
|
||||
raider.setTitleString(NpcStringId.SUPPLY_GUARDS);
|
||||
addAttackPlayerDesire(raider, player);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "34063-06.html":
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
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() == ELIKIA)
|
||||
{
|
||||
htmltext = "34057-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case ELIKIA:
|
||||
{
|
||||
if (qs.getCond() > 1)
|
||||
{
|
||||
htmltext = "34057-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GLENKINCHIE:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "34063-01.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "34063-04.html";
|
||||
}
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "34063-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
return "34137.html";
|
||||
}
|
||||
}
|
@ -214,6 +214,7 @@ import quests.Q00785_ASuspiciousIngredient.Q00785_ASuspiciousIngredient;
|
||||
import quests.Q00786_AwaitingTheVoiceOfTheGods.Q00786_AwaitingTheVoiceOfTheGods;
|
||||
import quests.Q00787_TheRoleOfAWatcher.Q00787_TheRoleOfAWatcher;
|
||||
import quests.Q00790_ObtainingFerinsTrust.Q00790_ObtainingFerinsTrust;
|
||||
import quests.Q00816_PlansToRepairTheStronghold.Q00816_PlansToRepairTheStronghold;
|
||||
import quests.Q00817_BlackAteliaResearch.Q00817_BlackAteliaResearch;
|
||||
import quests.Q00823_DisappearedRaceNewFairy.Q00823_DisappearedRaceNewFairy;
|
||||
import quests.Q00826_InSearchOfTheSecretWeapon.Q00826_InSearchOfTheSecretWeapon;
|
||||
@ -492,6 +493,7 @@ import quests.Q10839_BlackbirdsNameValue.Q10839_BlackbirdsNameValue;
|
||||
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.not_done.Q00480_AnotherLegacyOfCrumaTower;
|
||||
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
|
||||
import quests.not_done.Q00655_AGrandPlanForTamingWildBeasts;
|
||||
@ -506,7 +508,6 @@ import quests.not_done.Q00780_UtilizeTheDarknessSeedOfInfinity;
|
||||
import quests.not_done.Q00781_UtilizeTheDarknessSeedOfAnnihilation;
|
||||
import quests.not_done.Q00782_UtilizeTheDarknessSeedOfHellfire;
|
||||
import quests.not_done.Q00789_WaitingForPaagrio;
|
||||
import quests.not_done.Q00816_PlansToRepairTheStronghold;
|
||||
import quests.not_done.Q00824_AttackTheCommandPost;
|
||||
import quests.not_done.Q10352_LegacyOfCrumaTower;
|
||||
import quests.not_done.Q10357_AltarOfBloodThatAwakensDestruction;
|
||||
@ -531,7 +532,6 @@ import quests.not_done.Q10747_TheHerosJourneyPaganTemple;
|
||||
import quests.not_done.Q10748_MysteriousSuggestion1;
|
||||
import quests.not_done.Q10749_MysteriousSuggestion2;
|
||||
import quests.not_done.Q10809_TheHerosJourneyBlazingSwamp;
|
||||
import quests.not_done.Q10844_BloodyBattleSeizingSupplies;
|
||||
import quests.not_done.Q10845_BloodyBattleRescueTheSmiths;
|
||||
import quests.not_done.Q10846_BloodyBattleMeetingTheCommander;
|
||||
|
||||
@ -753,7 +753,7 @@ public class QuestMasterHandler
|
||||
Q00787_TheRoleOfAWatcher.class,
|
||||
Q00789_WaitingForPaagrio.class, // TODO: Not done.
|
||||
Q00790_ObtainingFerinsTrust.class,
|
||||
Q00816_PlansToRepairTheStronghold.class, // TODO: Not done.
|
||||
Q00816_PlansToRepairTheStronghold.class,
|
||||
Q00817_BlackAteliaResearch.class,
|
||||
Q00823_DisappearedRaceNewFairy.class,
|
||||
Q00824_AttackTheCommandPost.class, // TODO: Not done.
|
||||
@ -1056,7 +1056,7 @@ public class QuestMasterHandler
|
||||
Q10840_TimeToRecover.class,
|
||||
Q10841_DeepInsideAteliaFortress.class,
|
||||
Q10843_AnomalyInTheEnchantedValley.class,
|
||||
Q10844_BloodyBattleSeizingSupplies.class, // TODO: Not done.
|
||||
Q10844_BloodyBattleSeizingSupplies.class,
|
||||
Q10845_BloodyBattleRescueTheSmiths.class, // TODO: Not done.
|
||||
Q10846_BloodyBattleMeetingTheCommander.class, // TODO: Not done.
|
||||
};
|
||||
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q00816_PlansToRepairTheStronghold extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34058;
|
||||
|
||||
public Q00816_PlansToRepairTheStronghold()
|
||||
{
|
||||
super(816);
|
||||
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 Q10844_BloodyBattleSeizingSupplies extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34057;
|
||||
|
||||
public Q10844_BloodyBattleSeizingSupplies()
|
||||
{
|
||||
super(10844);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -26,7 +26,6 @@
|
||||
809 Hunter Guild Request - The Immortal Plateau
|
||||
810 Hunter Guild Request - Isle of Souls
|
||||
811 Hunter Guild Request - Cemetery
|
||||
816 Plans to Repair the Stronghold
|
||||
824 Attack the Command Post
|
||||
825 Hunter Guild Request - Valley of Saints
|
||||
832 Hunter Guild Request - Southern Region, Isle of Prayer
|
||||
@ -68,11 +67,9 @@
|
||||
10731 The Minstrel's Song, Part 6
|
||||
10748 Mysterious Suggestion - 1
|
||||
10749 Mysterious Suggestion - 2
|
||||
10844 Bloody Battle - Seizing Supplies
|
||||
10845 Bloody Battle - Rescue the Smiths
|
||||
10846 Bloody Battle - Meeting the Commander
|
||||
10848 Trials before the Battle
|
||||
10852 The Mother Tree Revival Project
|
||||
10853 To Weaken the Giants
|
||||
10854 To Seize the Fortress
|
||||
10858 Queen Ramona, Controller of the Vessel
|
||||
|
@ -0,0 +1,5 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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.)
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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 Q00816_PlansToRepairTheStronghold 34058-02.htm">"Please tell me again."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold select_mission">"I know what I should do."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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 Q00816_PlansToRepairTheStronghold 34058-03.htm">"What is it you need to do?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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 Q00816_PlansToRepairTheStronghold select_mission">"Yes, sure."</Button>
|
||||
</body></html>
|
@ -0,0 +1,11 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">200</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">400</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">600</font> Mutated Spirit's Souls.<br1>
|
||||
Very Advanced Mission - Collect <font color="LEVEL">800</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05.html"><font color="A62F31">"I'll take the intermediate mission."</font></Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05a.html"><font color="A62F31">"I'll take the advanced mission."</font></Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05b.html"><font color="A62F31">"I'll take the Very advanced mission."</font></Button>
|
||||
</body></html>
|
@ -0,0 +1,11 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">200</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">400</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">600</font> Mutated Spirit's Souls.<br1>
|
||||
Very Advanced Mission - Collect <font color="LEVEL">800</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06a.html">"I'll take the intermediate mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05a.html"><font color="A62F31">"I'll take the advanced mission."</font></Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05b.html"><font color="A62F31">"I'll take the Very advanced mission."</font></Button>
|
||||
</body></html>
|
@ -0,0 +1,11 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">200</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">400</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">600</font> Mutated Spirit's Souls.<br1>
|
||||
Very Advanced Mission - Collect <font color="LEVEL">800</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06a.html">"I'll take the intermediate mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06b.html">"I'll take the advanced mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-05b.html"><font color="A62F31">"I'll take the Very advanced mission."</font></Button>
|
||||
</body></html>
|
@ -0,0 +1,11 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">200</font> Mutated Spirit's Souls.<br1>
|
||||
Intermediate Mission - Collect <font color="LEVEL">400</font> Mutated Spirit's Souls.<br1>
|
||||
Advanced Mission - Collect <font color="LEVEL">600</font> Mutated Spirit's Souls.<br1>
|
||||
Very Advanced Mission - Collect <font color="LEVEL">800</font> Mutated Spirit's Souls.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06.html">"I'll take the basic mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06a.html">"I'll take the intermediate mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06b.html">"I'll take the advanced mission."</Button>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00816_PlansToRepairTheStronghold 34058-06d.html">"I'll take the Very advanced mission."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Your Unworldly Visitors Faction Level Must be 1 or above may undertake this mission.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Your Unworldly Visitors Faction Level Must be 3 or above may undertake this mission.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Your Unworldly Visitors Faction Level Must be 6 or above may undertake this mission.
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
You have chosen the basic mission to collect 200 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 Q00816_PlansToRepairTheStronghold 34058-07.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00816_PlansToRepairTheStronghold return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
You have chosen the intermediate mission to collect 400 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 Q00816_PlansToRepairTheStronghold 34058-07a.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Q00816_PlansToRepairTheStronghold return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
You have chosen the advanced mission to collect 600 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 Q00816_PlansToRepairTheStronghold 34058-07b.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00816_PlansToRepairTheStronghold return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
You have chosen the Very advanced mission to collect 800 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 Q00816_PlansToRepairTheStronghold 34058-07d.html">"Yes, I've made my decision."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00816_PlansToRepairTheStronghold return">"Let me reconsider."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">200 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">400 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">600 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>y></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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">800 Mutated Spirit's Souls</font>. It should be manageable.
|
||||
</body></html>y></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">200 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">400 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">600 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<br>
|
||||
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">800 Mutated Spirit's Souls</font>.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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 Q00816_PlansToRepairTheStronghold 34058-10.html">"I did my best to earn your trust."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Aden Vanguard Captain Adolph:<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,413 @@
|
||||
/*
|
||||
* 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.Q00816_PlansToRepairTheStronghold;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* Plans to Repair the Stronghold (816)
|
||||
* @URL https://l2wiki.com/Plans_to_Repair_the_Stronghold
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q00816_PlansToRepairTheStronghold extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int ADOLPH = 34058;
|
||||
// Monsters
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
23505, // Fortress Raider 101
|
||||
23506, // Fortress Guardian Captain 101
|
||||
23507, // Atelia Passionate Soldier 101
|
||||
23508, // Atelia Elite Captain 101
|
||||
23509, // Fortress Dark Wizard 102
|
||||
23510, // Atelia Flame Master 102
|
||||
23511, // Fortress Archon 102
|
||||
23512 // Atelia High Priest 102
|
||||
};
|
||||
// Items
|
||||
private static final int MATERIAL_QUEST = 46142; // Stronghold Flag Repair Supplies
|
||||
private static final int BASIC_SUPPLY_BOX = 47175;
|
||||
private static final int INTERMEDIATE_SUPPLY_BOX = 47176;
|
||||
private static final int ADVANCED_SUPPLY_BOX = 47177;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 101;
|
||||
|
||||
public Q00816_PlansToRepairTheStronghold()
|
||||
{
|
||||
super(816);
|
||||
addStartNpc(ADOLPH);
|
||||
addTalkId(ADOLPH);
|
||||
addKillId(MONSTERS);
|
||||
registerQuestItems(MATERIAL_QUEST);
|
||||
addCondMinLevel(MIN_LEVEL, "34058-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 "34058-02.htm":
|
||||
case "34058-03.htm":
|
||||
case "34058-04.htm":
|
||||
case "34058-04a.htm":
|
||||
case "34058-04b.htm":
|
||||
case "34058-04d.htm":
|
||||
case "34058-06.html":
|
||||
case "34058-06a.html":
|
||||
case "34058-06b.html":
|
||||
case "34058-06d.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "select_mission":
|
||||
{
|
||||
qs.startQuest();
|
||||
if ((player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 1) && (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) < 3))
|
||||
{
|
||||
htmltext = "34058-04a.htm";
|
||||
break;
|
||||
}
|
||||
else if ((player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 3) && (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) < 6))
|
||||
{
|
||||
htmltext = "34058-04b.htm";
|
||||
break;
|
||||
}
|
||||
else if (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 6)
|
||||
{
|
||||
htmltext = "34058-04d.htm";
|
||||
break;
|
||||
}
|
||||
htmltext = "34058-04.htm";
|
||||
break;
|
||||
}
|
||||
case "return":
|
||||
{
|
||||
if ((player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 1) && (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) < 3))
|
||||
{
|
||||
htmltext = "34058-04a.htm";
|
||||
break;
|
||||
}
|
||||
else if ((player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 3) && (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) < 6))
|
||||
{
|
||||
htmltext = "34058-04b.htm";
|
||||
break;
|
||||
}
|
||||
else if (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 6)
|
||||
{
|
||||
htmltext = "34058-04d.htm";
|
||||
break;
|
||||
}
|
||||
htmltext = "34058-04.htm";
|
||||
break;
|
||||
}
|
||||
case "34058-07.html":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34058-07a.html":
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34058-07b.html":
|
||||
{
|
||||
qs.setCond(4, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34058-07d.html":
|
||||
{
|
||||
qs.setCond(5, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34058-10.html":
|
||||
{
|
||||
final int chance = getRandom(100);
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 6:
|
||||
{
|
||||
if ((getQuestItemsCount(player, MATERIAL_QUEST) == 200) && (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, 18_155_754_360L, 18_155_700);
|
||||
addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, 100);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
if ((getQuestItemsCount(player, MATERIAL_QUEST) == 400) && (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, 36_311_508_720L, 36_311_400);
|
||||
addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, 200);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
{
|
||||
if ((getQuestItemsCount(player, MATERIAL_QUEST) == 600) && (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, 54_467_263_080L, 54_467_100);
|
||||
addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, 300);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 9:
|
||||
{
|
||||
if ((getQuestItemsCount(player, MATERIAL_QUEST) == 800) && (player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
if (chance < 50)
|
||||
{
|
||||
giveItems(player, BASIC_SUPPLY_BOX, 2);
|
||||
}
|
||||
else if (chance < 50)
|
||||
{
|
||||
giveItems(player, INTERMEDIATE_SUPPLY_BOX, 2);
|
||||
}
|
||||
else if (chance < 50)
|
||||
{
|
||||
giveItems(player, ADVANCED_SUPPLY_BOX, 2);
|
||||
}
|
||||
addExpAndSp(player, 72_623_017_440L, 72_622_800);
|
||||
addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, 400);
|
||||
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 = "34058-01.htm";
|
||||
// fallthrough
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
if ((player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 1) && (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) < 3))
|
||||
{
|
||||
htmltext = "34058-04a.htm";
|
||||
break;
|
||||
}
|
||||
else if ((player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 3) && (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) < 6))
|
||||
{
|
||||
htmltext = "34058-04b.htm";
|
||||
break;
|
||||
}
|
||||
else if (player.getFactionLevel(Faction.KINGDOM_ROYAL_GUARDS) >= 6)
|
||||
{
|
||||
htmltext = "34058-04d.htm";
|
||||
break;
|
||||
}
|
||||
htmltext = "34058-04.htm";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "34058-08.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "34058-08a.html";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
htmltext = "34058-08b.html";
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
htmltext = "34058-08d.html";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
{
|
||||
htmltext = "34058-09.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setState(State.CREATED);
|
||||
htmltext = "34058-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, MATERIAL_QUEST, 1, 200, 1, true))
|
||||
{
|
||||
qs.setCond(6, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
if (giveItemRandomly(player, npc, MATERIAL_QUEST, 1, 400, 1, true))
|
||||
{
|
||||
qs.setCond(7, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
if (giveItemRandomly(player, npc, MATERIAL_QUEST, 1, 600, 1, true))
|
||||
{
|
||||
qs.setCond(8, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
if (giveItemRandomly(player, npc, MATERIAL_QUEST, 1, 800, 1, true))
|
||||
{
|
||||
qs.setCond(9, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<html><body>Verdure Elder Elikia:<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 2 or higher.)
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<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 Q10844_BloodyBattleSeizingSupplies 34057-02.htm">"What's the problem?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Verdure Elder Elikia:<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 Q10844_BloodyBattleSeizingSupplies 34057-03.htm">"What happened?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<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 Q10844_BloodyBattleSeizingSupplies 34057-04.htm">"How is that possible?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<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 Q10844_BloodyBattleSeizingSupplies 34057-05.htm">"Sure, I'll help."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Verdure Elder Elikia:<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>Verdure Elder Elikia:<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>Blackbird Clan Member Glenkinchie:<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 Q10844_BloodyBattleSeizingSupplies 34063-02.html">"Did you find out anything?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,7 @@
|
||||
<html><body>Blackbird Clan Member Glenkinchie:<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 Q10844_BloodyBattleSeizingSupplies 34063-03.html">"How can I help?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Blackbird Clan Member Glenkinchie:<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,4 @@
|
||||
<html><body>Blackbird Clan Member Glenkinchie:<br>
|
||||
I need more supplies.<br>
|
||||
This won't be enough. Please get me some more supplies.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Blackbird Clan Member Glenkinchie:<br>
|
||||
Did you collect all the supplies? Oh, this is great! Things will get interesting now. Thanks.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10844_BloodyBattleSeizingSupplies 34063-06.html">"Did that help?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Blackbird Clan Member Glenkinchie:<br>
|
||||
Of course. It's not perfect yet, but our strategy is to create an uproar, so that was helpful.<br>
|
||||
In order for Devianne's plan to work, we need to continue creating uproars, so I'm sure <font color="LEVEL">Hurak</font> on the <font color="LEVEL">2nd floor</font> is also making similar plans at the <font color="LEVEL">stronghold</font> there.
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Embryo supplies:<br>
|
||||
This is the additional <font color="LEVEL">delegation member</font> sent to the Town of Gludio.<br>
|
||||
Unfortunately, death seemed to have reigned for a while on this body.<br>
|
||||
The face is strangely peaceful.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10844_BloodyBattleSeizingSupplies mega_menu">That's suspicious. Let's see if the body holds any clue</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Embryo Supply Box:<br>
|
||||
(A supply box for Embryo soldiers within the Atelia Fortress. Should watch out for the guards.)
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10844_BloodyBattleSeizingSupplies open_box">"Let's see..."</Button>
|
||||
</body></html>
|
@ -0,0 +1,196 @@
|
||||
/*
|
||||
* 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.Q10844_BloodyBattleSeizingSupplies;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.Faction;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
/**
|
||||
* Bloody Battle - Seizing Supplies (10844)
|
||||
* @URL https://l2wiki.com/Bloody_Battle_-_Seizing_Supplies
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q10844_BloodyBattleSeizingSupplies extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int ELIKIA = 34057;
|
||||
private static final int GLENKINCHIE = 34063;
|
||||
private static final int EMBRYO_SUPPLY_BOX = 34137;
|
||||
// Monsters
|
||||
private static final int FORTRESS_GUARDIAN_CAPTAIN = 23506;
|
||||
private static final int FORTRESS_RAIDER = 23505;
|
||||
// Items
|
||||
private static final int EMBRYO_SUPPLIES = 46282;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 101;
|
||||
|
||||
public Q10844_BloodyBattleSeizingSupplies()
|
||||
{
|
||||
super(10844);
|
||||
addStartNpc(ELIKIA);
|
||||
addTalkId(ELIKIA, GLENKINCHIE);
|
||||
addFirstTalkId(EMBRYO_SUPPLY_BOX);
|
||||
registerQuestItems(EMBRYO_SUPPLIES);
|
||||
addCondMinLevel(MIN_LEVEL, "34057-00.htm");
|
||||
addFactionLevel(Faction.KINGDOM_ROYAL_GUARDS, 2, "34057-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 "34057-04.htm":
|
||||
case "34057-03.htm":
|
||||
case "34057-02.htm":
|
||||
case "34063-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34057-05.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34063-03.html":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "open_box":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
npc.deleteMe();
|
||||
if (getRandom(10) < 5)
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(qs.getPlayer(), EMBRYO_SUPPLIES) < 19))
|
||||
{
|
||||
giveItems(player, EMBRYO_SUPPLIES, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
else
|
||||
{
|
||||
giveItems(player, EMBRYO_SUPPLIES, 1);
|
||||
qs.setCond(3, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
final Npc captain = addSpawn(FORTRESS_GUARDIAN_CAPTAIN, npc, true, 120000, false);
|
||||
captain.setTitleString(NpcStringId.SUPPLY_GUARDS);
|
||||
addAttackPlayerDesire(captain, player);
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
final Npc raider = addSpawn(FORTRESS_RAIDER, npc, true, 120000, false);
|
||||
raider.setTitleString(NpcStringId.SUPPLY_GUARDS);
|
||||
addAttackPlayerDesire(raider, player);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "34063-06.html":
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
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() == ELIKIA)
|
||||
{
|
||||
htmltext = "34057-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case ELIKIA:
|
||||
{
|
||||
if (qs.getCond() > 1)
|
||||
{
|
||||
htmltext = "34057-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GLENKINCHIE:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "34063-01.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "34063-04.html";
|
||||
}
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "34063-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
return "34137.html";
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<html><body>Verdure Elder Elikia:<br>
|
||||
Did Lionel send you? I've been waiting for you.<br>
|
||||
I'm sure it wasn't easy to come all the way here. Well, I'm sure Lionel trusted you to make it here.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<br>
|
||||
Did Lionel send you? I've been waiting for you.<br>
|
||||
I'm sure it wasn't easy to come all the way here. Well, I'm sure Lionel trusted you to make it here.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10852_TheMotherTreeRevivalProject 34233-02.htm">"It wasn't easy."</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<br>
|
||||
Did Lionel send you? I've been waiting for you.<br>
|
||||
I'm sure it wasn't easy to come all the way here. Well, I'm sure Lionel trusted you to make it here.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10852_TheMotherTreeRevivalProject 34233-03.htm">"It wasn't easy."</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<br>
|
||||
Did Lionel send you? I've been waiting for you.<br>
|
||||
I'm sure it wasn't easy to come all the way here. Well, I'm sure Lionel trusted you to make it here.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10852_TheMotherTreeRevivalProject 34233-04.htm">"It wasn't easy."</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<br>
|
||||
Did Lionel send you? I've been waiting for you.<br>
|
||||
I'm sure it wasn't easy to come all the way here. Well, I'm sure Lionel trusted you to make it here.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10852_TheMotherTreeRevivalProject 34233-05.htm">"It wasn't easy."</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Verdure Elder Elikia:<br>
|
||||
You are quick to understand.<br>
|
||||
You have to participate in a <font color="LEVEL">siege</font> or a <font color="LEVEL">dimensional siege</font>. When you reach the <font color="LEVEL">Flag of Protection</font> inside, you'll be able to obtain a <font color="LEVEL">Mark of Valor</font>. Your mission is to obtain <font color="LEVEL">10</font> of these.<br>
|
||||
You'll be able to get more marks when you participate in a dimensional siege or in the Aden or Rune Castle Sieges.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Reclous the Hermit:<br>
|
||||
We can get their orders, if you kill Ketra Orc Scouts and Ketra Orc Priests.<br>
|
||||
If we study these orders, we will learn their aim. Find Ketra Orders, quick.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Reclous the Hermit:<br>
|
||||
I hope that Ketra Orcs will stop trying to gather a large troop. Good job!<br>
|
||||
It's just there is one thing that keeps nagging me. Ketra Orcs couldn't possibly show up here without any reason. They had to have something on their mind, right?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10852_TheMotherTreeRevivalProject 34233-08.html">Nod</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Reclous the Hermit:<br>
|
||||
These Orcs are much better organized than Turek tribe. They are thinking of some gruesome deeds, I bet.<br>
|
||||
We have to know what they're planning.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10852_TheMotherTreeRevivalProject 34233-09.html">Ask what should be done</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Reclous the Hermit:<br>
|
||||
We can get their orders, if you kill Ketra Orc Scouts and Ketra Orc Priests.<br>
|
||||
If we study these orders, we will learn their aim. Find Ketra Orders, quick.
|
||||
</body></html>
|
@ -0,0 +1,253 @@
|
||||
/*
|
||||
* 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.Q10852_TheMotherTreeRevivalProject;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.commons.util.CommonUtil;
|
||||
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;
|
||||
|
||||
/**
|
||||
* The Mother Tree Revival Project (10852)
|
||||
* @URL https://l2wiki.com/The_Mother_Tree_Revival_Project
|
||||
* @author Dmitri
|
||||
*/
|
||||
public class Q10852_TheMotherTreeRevivalProject extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int IRENE = 34233;
|
||||
// Monsters
|
||||
private static final int NYMPH_SENTINEL = 23578;
|
||||
private static final int[] ROSE =
|
||||
{
|
||||
23566, // Nymph Rose
|
||||
23567, // Nymph Rose
|
||||
};
|
||||
private static final int[] LILY =
|
||||
{
|
||||
23568, // Nymph Lily
|
||||
23569, // Nymph Lily
|
||||
};
|
||||
private static final int[] TULIP =
|
||||
{
|
||||
23570, // Nymph Tulip
|
||||
23571, // Nymph Tulip
|
||||
};
|
||||
private static final int[] COSMOS =
|
||||
{
|
||||
23572, // Nymph Cosmos
|
||||
23573, // Nymph Cosmos
|
||||
};
|
||||
// Items
|
||||
private static final int RUNE_STONE = 39738;
|
||||
private static final int SPELLBOOK_PEGASUS = 47150;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 102;
|
||||
|
||||
public Q10852_TheMotherTreeRevivalProject()
|
||||
{
|
||||
super(10852);
|
||||
addStartNpc(IRENE);
|
||||
addTalkId(IRENE);
|
||||
addKillId(COSMOS);
|
||||
addKillId(TULIP);
|
||||
addKillId(LILY);
|
||||
addKillId(ROSE);
|
||||
addKillId(NYMPH_SENTINEL);
|
||||
addCondMinLevel(MIN_LEVEL, "34233-00.htm");
|
||||
addFactionLevel(Faction.MOTHER_TREE_GUARDIANS, 6, "34233-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 "34233-02.htm":
|
||||
case "34233-03.htm":
|
||||
case "34233-04.htm":
|
||||
case "34233-08.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34233-05.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "34233-09.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
giveItems(player, RUNE_STONE, 1);
|
||||
giveItems(player, SPELLBOOK_PEGASUS, 1);
|
||||
addExpAndSp(player, 444428559000L, 444427200);
|
||||
qs.exitQuest(QuestType.ONE_TIME, true);
|
||||
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 (npc.getId() == IRENE)
|
||||
{
|
||||
htmltext = "34233-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case IRENE:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "34233-06.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "34233-07.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
{
|
||||
int killedTulip = qs.getInt("killed_" + TULIP[0]);
|
||||
int killedCosmos = qs.getInt("killed_" + COSMOS[0]);
|
||||
int killedLily = qs.getInt("killed_" + LILY[0]);
|
||||
int killedRose = qs.getInt("killed_" + ROSE[0]);
|
||||
int killedSentinel = qs.getInt("killed_" + NYMPH_SENTINEL);
|
||||
|
||||
if (CommonUtil.contains(TULIP, npc.getId()))
|
||||
{
|
||||
if (killedTulip < 300)
|
||||
{
|
||||
killedTulip++;
|
||||
qs.set("killed_" + TULIP[0], killedTulip);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
else if (CommonUtil.contains(COSMOS, npc.getId()))
|
||||
{
|
||||
if (killedCosmos < 300)
|
||||
{
|
||||
killedCosmos++;
|
||||
qs.set("killed_" + COSMOS[0], killedCosmos);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
else if (CommonUtil.contains(LILY, npc.getId()))
|
||||
{
|
||||
if (killedLily < 300)
|
||||
{
|
||||
killedLily++;
|
||||
qs.set("killed_" + LILY[0], killedLily);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
else if (CommonUtil.contains(ROSE, npc.getId()))
|
||||
{
|
||||
if (killedRose < 300)
|
||||
{
|
||||
killedRose++;
|
||||
qs.set("killed_" + ROSE[0], killedRose);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
else if (killedSentinel < 100)
|
||||
{
|
||||
qs.set("killed_" + NYMPH_SENTINEL, ++killedSentinel);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
|
||||
if ((killedTulip == 300) && (killedCosmos == 300) && (killedLily == 300) && (killedRose == 300) && (killedSentinel >= 100))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isStarted() && qs.isCond(1))
|
||||
{
|
||||
final Set<NpcLogListHolder> npcLogList = new HashSet<>(5);
|
||||
npcLogList.add(new NpcLogListHolder(TULIP[0], false, qs.getInt("killed_" + TULIP[0])));
|
||||
npcLogList.add(new NpcLogListHolder(COSMOS[0], false, qs.getInt("killed_" + COSMOS[0])));
|
||||
npcLogList.add(new NpcLogListHolder(LILY[0], false, qs.getInt("killed_" + LILY[0])));
|
||||
npcLogList.add(new NpcLogListHolder(ROSE[0], false, qs.getInt("killed_" + ROSE[0])));
|
||||
npcLogList.add(new NpcLogListHolder(NYMPH_SENTINEL, false, qs.getInt("killed_" + NYMPH_SENTINEL)));
|
||||
return npcLogList;
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user