Addition of various quests.

Contributed by Dmitri.
This commit is contained in:
MobiusDevelopment 2019-12-23 22:06:18 +00:00
parent 35a7ce8a6c
commit 576298f274
725 changed files with 12581 additions and 1567 deletions

View File

@ -38,7 +38,6 @@
840 Request from the Kingdom's Royal Guard
841 Contamination Containment
843 Giant Evolution Control
844 Giant's Treasure
845 Sabotage the Embryo Supplies
846 Building up Strength
910 Red Libra Request - Lv. 1
@ -61,9 +60,6 @@
10506 Diana's Request
10531 Odd Happenings at Dragon Valley Strange Things Afoot in the Valley
10532 Uncovering the Conspiracy Eliminate the Undead and Dragons
10537 Kamael Disarray To Retbach
10538 Giant's Evolution Cause of failed evolution
10539 Energy Supply Cutoff Plan Defeat Halisha's Henchman
10712 The Minstrel's Song, Part 1
10717 The Minstrel's Song, Part 2
10720 The Minstrel's Song, Part 3
@ -79,6 +75,5 @@
10852 The Mother Tree Revival Project
10853 To Weaken the Giants
10854 To Seize the Fortress
10857 Secret Teleport
10858 Queen Ramona, Controller of the Vessel
10859 Own the Earth and the Heavens

View File

@ -0,0 +1,5 @@
<html><body>Master Cyphona:<br>
I don't think you'll be able to complete this. You seem passionate, but you don't have enough experience.<br>
Please come back when you've become stronger.<br>
(Only characters above Lv. 100.)
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<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 Q00844_GiantsTreasure 34237-02.htm">"Please tell me again."</Button>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure select_mission">"I know what I should do."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<br>
Ah, adventurer! There you are again. How about helping us some more? <br>
What do you say? If you don't remember what the mission was, I can tell you again.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-01.htm">"Please tell me about the mission again."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-05.htm">"I know what I've got to do."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<br>
Adventurer! Good to see you. Since you've helped us so much already, how about helping us some more? <br>
What do you say? If you don't remember what the mission was, I can tell you again.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-01.htm">"Please tell me about the mission again."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-05.htm">"I know what I've got to do."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Master Cyphona:<br>
I've been waiting for you, adventurer. Well since you are here now, will you listen to me? I know I can trust you, but if you complete this mission, we'll become better allies and your pockets will get heavier. What do you say? Or do you need me to explain the mission again?<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-01.htm">"Please tell me about the mission again."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-05.htm">"I know what I've got to do."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Master Cyphona:<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 Q00844_GiantsTreasure 34237-03.htm">"What is it you need to do?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<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 Q00844_GiantsTreasure select_mission">"Yes, sure."</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Master Cyphona:<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">10</font> Mutated Spirit's Souls.<br1>
Intermediate Mission - Collect <font color="LEVEL">20</font> Mutated Spirit's Souls.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-06.html">"I'll take the basic mission."</Button>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-05.html"><font color="A62F31">"I'll take the intermediate mission."</font></Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<br>
This isn't the first time we've met? You've completed a mission before? I see... Well, I don't really have a good memory.<br>
If you have completed a mission before, then that means you must have a Mark of Trust. What? You don't have one?<br>
Then you are either a liar, or you haven't been here in a long time. My trust is something you must continously try to maintain. Will you listen to me?<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-01.htm">"Yes, tell me about the mission."</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Master Cyphona:<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">10</font> Mutated Spirit's Souls.<br1>
Intermediate Mission - Collect <font color="LEVEL">20</font> Mutated Spirit's Souls.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-06.html">"I'll take the basic mission."</Button>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-06a.html">"I'll take the intermediate mission."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
Alright. Here's the mission. Hunt the <font color="LEVEL">Kerberos Leger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and the Fury Kerberos Nero</font>, and collect their <font color="LEVEL">Mutated Spirit's Souls</font> as proof.<br>You can get rewards only if you bring at least 200. Of course, you'll get more rewards if you bring more.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
Your Unworldly Visitors Faction Level Must be 4 or above may undertake this mission.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<br>
You have chosen the basic mission to collect 10 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 Q00844_GiantsTreasure 34237-07.html">"Yes, I've made my decision."</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00844_GiantsTreasure return">"Let me reconsider."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<br>
You have chosen the intermediate mission to collect 20 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 Q00844_GiantsTreasure 34237-07a.html">"Yes, I've made my decision."</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Q00844_GiantsTreasure return">"Let me reconsider."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Master Cyphona:<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">10 Mutated Spirit's Souls</font>. It should be manageable.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Master Cyphona:<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">20 Mutated Spirit's Souls</font>. It should be manageable.
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Master Cyphona:<br>
You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-08.html">"I'll keep hunting, then."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-09c.html">"Yes, I'm sure."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">10 Mutated Spirit's Souls</font>.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
Go to the <font color="LEVEL">Garden of Spirits</font> and defeat all type monsters until you collect <font color="LEVEL">20 Mutated Spirit's Souls</font>.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<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 Q00844_GiantsTreasure 34237-10.html">"I did my best to earn your trust."</Button>
<!-- <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-12.html">"Here is the Faction Amity Token."</Button> -->
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Master Cyphona:<br>
You completed the mission! <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-10a.html">"I did my best."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Master Cyphona:<br>
You completed the mission! <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-10c.html">"I did my best."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Master Cyphona:<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>

View File

@ -0,0 +1,3 @@
<html><head><body>Master Cyphona:<br>
Here's your reward. We'll be able to maintain our trust. As long as you don't forget about us, that is.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
Here's your reward, I'll remember how you've helped us all those times. Here's a higher level Mark of Trust. Thank you for all of your help.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
Here's your reward for helping us. Although you didn't get all the Marks, I still remember how you helped us. I have no doubt the trust between us has deepened even more.
</body></html>

View File

@ -0,0 +1,283 @@
/*
* 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.Q00844_GiantsTreasure;
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;
/**
* Giant's Treasure (844)
* @URL https://l2wiki.com/Giant%27s_Treasure
* @author Dmitri
*/
public class Q00844_GiantsTreasure extends Quest
{
// NPCs
private static final int KRENAHT = 34237;
// Monsters
private static final int[] MONSTERS =
{
23730, // Om Bathus
23731, // Om Carcass
23732, // Om Kshana
23751 // Om Lucas
};
// Misc
private static final int MIN_LEVEL = 100;
// Items
private static final int OLD_BOX = 47212; // Quest item: Old Box
// Reward
private static final int GIANT_TRACKERS_BASIC_SUPPLY_BOX = 47359;
private static final int GIANT_TRACKERS_INTERMEDIATE_SUPPLY_BOX = 47360;
private static final int GIANT_TRACKERS_ADVANCED_SUPPLY_BOX = 47361;
public Q00844_GiantsTreasure()
{
super(844);
addStartNpc(KRENAHT);
addTalkId(KRENAHT);
addKillId(MONSTERS);
registerQuestItems(OLD_BOX);
addCondMinLevel(MIN_LEVEL, "34237-00.htm");
addFactionLevel(Faction.GIANT_TRACKERS, 2, "34237-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 "34237-02.htm":
case "34237-03.htm":
case "34237-04.htm":
case "34237-04a.htm":
case "34237-06.html":
case "34237-06a.html":
{
htmltext = event;
break;
}
case "select_mission":
{
qs.startQuest();
if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 4)
{
htmltext = "34237-04a.htm";
break;
}
htmltext = "34237-04.htm";
break;
}
case "return":
{
if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 4)
{
htmltext = "34237-04a.htm";
break;
}
htmltext = "34237-04.htm";
break;
}
case "34237-07.html":
{
qs.setCond(2, true);
htmltext = event;
break;
}
case "34237-07a.html":
{
qs.setCond(3, true);
htmltext = event;
break;
}
case "34237-10.html":
{
final int chance = getRandom(100);
switch (qs.getCond())
{
case 4:
{
if ((getQuestItemsCount(player, OLD_BOX) == 10) && (player.getLevel() >= MIN_LEVEL))
{
if (chance < 2)
{
giveItems(player, GIANT_TRACKERS_ADVANCED_SUPPLY_BOX, 1);
}
else if (chance < 20)
{
giveItems(player, GIANT_TRACKERS_INTERMEDIATE_SUPPLY_BOX, 1);
}
else if (chance < 100)
{
giveItems(player, GIANT_TRACKERS_BASIC_SUPPLY_BOX, 1);
}
addExpAndSp(player, 5_932_440_000L, 14_237_820);
addFactionPoints(player, Faction.GIANT_TRACKERS, 100);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
break;
}
case 5:
{
if ((getQuestItemsCount(player, OLD_BOX) == 20) && (player.getLevel() >= MIN_LEVEL))
{
if (chance < 2)
{
giveItems(player, GIANT_TRACKERS_ADVANCED_SUPPLY_BOX, 1);
}
else if (chance < 20)
{
giveItems(player, GIANT_TRACKERS_BASIC_SUPPLY_BOX, 1);
}
else if (chance < 100)
{
giveItems(player, GIANT_TRACKERS_INTERMEDIATE_SUPPLY_BOX, 1);
}
addExpAndSp(player, 11_864_880_000L, 28_475_640);
addFactionPoints(player, Faction.GIANT_TRACKERS, 200);
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 = "34237-01.htm";
// fallthrou
}
case State.STARTED:
{
switch (qs.getCond())
{
case 1:
{
if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 4)
{
htmltext = "34237-04a.htm";
break;
}
htmltext = "34237-04.htm";
break;
}
case 2:
{
htmltext = "34237-08.html";
break;
}
case 3:
{
htmltext = "34237-08a.html";
break;
}
case 4:
case 5:
{
htmltext = "34237-09.html";
break;
}
}
break;
}
case State.COMPLETED:
{
if (!qs.isNowAvailable())
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
else
{
qs.setState(State.CREATED);
htmltext = "34237-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, OLD_BOX, 1, 10, 1, true))
{
qs.setCond(4, true);
}
break;
}
case 3:
{
if (giveItemRandomly(player, npc, OLD_BOX, 1, 20, 1, true))
{
qs.setCond(5, true);
}
break;
}
}
}
}
}

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34218-02.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34218-03.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34218-04.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34218-06.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray spawn">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
(Only characters Lv. 100.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-02.htm">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-03.htm">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-04.htm">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
(Only characters Lv. 100.)
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-07.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-08.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-10.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,361 @@
/*
* 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.Q10537_KamaelDisarray;
import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance;
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.model.skills.Skill;
import org.l2jmobius.gameserver.network.NpcStringId;
import quests.Q10538_GiantsEvolution.Q10538_GiantsEvolution;
/**
* Kamael Disarray (10537)
* @URL https://l2wiki.com/Kamael_Disarray
* @author Gigi
* @date 2018-02-04 - [12:06:33]
*/
public class Q10537_KamaelDisarray extends Quest
{
// NPCs
private static final int KRENAHT = 34237;
private static final int RETBACH = 34218;
private static final int STHOR = 34224;
private static final int VETLE = 34225;
// Monsters
private static final int LESSER_GIANT_SOLDIER = 23748;
private static final int ESSENCE_LASSER_GIANTS = 23754;
private static final int ROOT_LASSER_GIANTS = 23749;
// Items
private static final int MINIONS_SHINE_STONE = 46748;
private static final int MINIONS_REPOT = 46756;
// Reward
private static final int ELEXIR_OF_LIFE = 37097;
private static final int ELEXIR_OF_MIND = 37098;
private static final int ELEXIR_OF_CP = 37099;
// skill
private static final int INJECT_SHINE_ENERGY = 18583;
// Misc
private static final int KILLING_NPCSTRING_ID = NpcStringId.HELPING_THE_EVOLUTION_OF_THE_LESSER_GIANT.getId();
private static final boolean PARTY_QUEST = false;
private static final int MIN_LEVEL = 100;
public Q10537_KamaelDisarray()
{
super(10537);
addStartNpc(KRENAHT);
addTalkId(KRENAHT, RETBACH);
addKillId(LESSER_GIANT_SOLDIER);
addSkillSeeId(ESSENCE_LASSER_GIANTS, ROOT_LASSER_GIANTS);
registerQuestItems(MINIONS_REPOT);
addSeeCreatureId(RETBACH, STHOR, VETLE);
addFactionLevel(Faction.GIANT_TRACKERS, 2, "34237-00.htm");
addCondMinLevel(MIN_LEVEL, "34237-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 null;
}
switch (event)
{
case "34237-02.htm":
case "34237-03.htm":
case "34218-02.html":
case "34218-03.html":
case "34237-08.html":
{
htmltext = event;
break;
}
case "34237-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34218-04.html":
{
giveItems(player, MINIONS_SHINE_STONE, 1);
qs.setCond(2, true);
htmltext = event;
break;
}
case "34218-06.html":
{
takeItems(player, MINIONS_SHINE_STONE, -1);
giveItems(player, MINIONS_REPOT, 1);
qs.setCond(4, true);
htmltext = event;
break;
}
case "34237-07.html":
{
takeItems(player, MINIONS_REPOT, -1);
qs.setCond(5, true);
htmltext = event;
break;
}
case "spawn":
{
addSpawn(STHOR, 183825, 47249, -4360, 13558, false, 15000);
Npc vatle = addSpawn(VETLE, 183872, 47271, -4360, 28150, false, 15000);
startQuestTimer("attack", 8000, vatle, player);
qs.setCond(6, true);
break;
}
case "attack":
{
World.getInstance().forEachVisibleObjectInRange(npc, FriendlyNpcInstance.class, 500, cha ->
{
if (cha.getId() == RETBACH)
{
npc.setTarget(cha);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, cha);
ThreadPool.schedule(() -> cha.reduceCurrentHp(1000000, npc, null), 6000);
}
});
break;
}
case "34237-10.html":
{
if (qs.isCond(6))
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 7382592000L, 17718120);
giveItems(player, ELEXIR_OF_LIFE, 8);
giveItems(player, ELEXIR_OF_MIND, 8);
giveItems(player, ELEXIR_OF_CP, 4);
qs.exitQuest(false, 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);
if (npc.getId() == KRENAHT)
{
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "34237-01.htm";
break;
}
case State.STARTED:
{
if ((qs.getCond() > 0) && (qs.getCond() < 4))
{
htmltext = "34237-05.html";
}
else if (qs.isCond(4))
{
htmltext = "34237-06.html";
}
else if (qs.isCond(6))
{
htmltext = "34237-09.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
}
if (npc.getId() == RETBACH)
{
final QuestState qs10538 = player.getQuestState(Q10538_GiantsEvolution.class.getSimpleName());
switch (qs.getState())
{
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "34218-01.html";
}
else if (qs.isCond(2))
{
htmltext = "34218-04.html";
}
else if (qs.isCond(3) && (qs10538 != null) && qs10538.isCompleted())
{
htmltext = "34218-05.html";
}
else if (qs.isCond(3))
{
htmltext = "34218-07.html";
}
else if (qs.isCond(4))
{
htmltext = "34218-06.html";
}
else if (qs.isCond(5))
{
htmltext = "34218-08.html";
}
else if (qs.isCond(6))
{
htmltext = "34218-09.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
}
return htmltext;
}
// @Override
// public String onSeeCreature(Npc npc, Creature creature, boolean isSummon)
// {
// switch (npc.getId())
// {
// case STHOR:
// {
// if ((creature != null) && (creature.getId() == RETBACH))
// {
// sendMessage(npc, 553810, 1500); // Henchman of the Giants! Surrender your head for our independence!
// }
// break;
// }
// case RETBACH:
// {
// if ((creature != null) && (creature.getId() == STHOR))
// {
// sendMessage(npc, 553811, 4000); // You ungrateful fiend! I shall report this to Hermuncus!
// }
// break;
// }
// case VETLE:
// {
// if ((creature != null) && (creature.getId() == RETBACH))
// {
// sendMessage(npc, 553810, 8000); // Henchman of the Giants! Surrender your head for our independence!
// }
// break;
// }
// }
// return super.onSeeCreature(npc, creature, isSummon);
// }
@Override
public String onSkillSee(Npc npc, PlayerInstance caster, Skill skill, WorldObject[] targets, boolean isSummon)
{
final QuestState qs = getQuestState(caster, false);
if ((qs != null) && qs.isCond(2) && (skill.getId() == INJECT_SHINE_ENERGY))
{
switch (npc.getId())
{
case ROOT_LASSER_GIANTS:
case ESSENCE_LASSER_GIANTS:
{
if ((getRandom(100) < 30) && npc.isAffectedBySkill(INJECT_SHINE_ENERGY))
{
final Npc mob = addSpawn(LESSER_GIANT_SOLDIER, npc, false, 60000L, false);
addAttackPlayerDesire(mob, caster);
npc.deleteMe();
}
break;
}
}
}
return super.onSkillSee(npc, caster, skill, targets, isSummon);
}
@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.isCond(2))
{
final int killedGhosts = qs.getInt("AncientGhosts") + 1;
qs.set("AncientGhosts", killedGhosts);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
if (killedGhosts >= 30)
{
qs.setCond(3, true);
}
sendNpcLogList(killer);
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(2))
{
final Set<NpcLogListHolder> holder = new HashSet<>();
holder.add(new NpcLogListHolder(KILLING_NPCSTRING_ID, true, qs.getInt("AncientGhosts")));
return holder;
}
return super.getNpcLogList(player);
}
// private void sendMessage(Npc npc, int msgId, int delay)
// {
// ThreadPool.schedule(() ->
// {
// if (npc != null)
// {
// npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), msgId));
// }
// }, delay);
// }
}

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
(Only characters Lv. 100.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10538_GiantsEvolution 34218-02.htm">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10538_GiantsEvolution 34218-03.htm">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10538_GiantsEvolution 34218-04.htm">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
(Only characters Lv. 100.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10538_GiantsEvolution 34218-06.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,183 @@
/*
* 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.Q10538_GiantsEvolution;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.WorldObject;
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.model.skills.Skill;
/**
* GiantΞ<EFBFBD>οΏ½ΞΏΞ<EFBFBD>Β½Ξ<EFBFBD>βΞΒ²Ξ<EFBFBD>οΏ½ΞΒ²Ξ<EFBFBD>Β²Ξ²β<EFBFBD>¬οΞ<EFBFBD>Β½Ξ<EFBFBD>βΞΒ¬Ξ<EFBFBD>οΏ½ΞΒ²Ξ<EFBFBD>Β²Ξ²β<EFBFBD>¬οΞ<EFBFBD>Β½Ξ<EFBFBD>οΏ½Ξ²β¬Β s Evolution (10538)
* @URL https://l2wiki.com/Giant%E2%80%99s_Evolution
* @author Dmitri
*/
public class Q10538_GiantsEvolution extends Quest
{
// NPCs
private static final int RETBACH = 34218;
// Monsters
private static final int LESSER_GIANT_SOLDIER = 23748;
private static final int ESSENCE_LASSER_GIANTS = 23754;
private static final int ROOT_LASSER_GIANTS = 23749;
// Items
private static final int DEMON_TRACE = 46755; // Demon's Trace
// Reward
private static final int GINATS_ENERGY = 35563; // item: Giant's Energy
// skill
private static final int INJECT_SHINE_ENERGY = 18583;
// Misc
private static final int MIN_LEVEL = 100;
public Q10538_GiantsEvolution()
{
super(10538);
addStartNpc(RETBACH);
addTalkId(RETBACH);
addKillId(ESSENCE_LASSER_GIANTS, ROOT_LASSER_GIANTS);
addSkillSeeId(ESSENCE_LASSER_GIANTS, ROOT_LASSER_GIANTS);
registerQuestItems(DEMON_TRACE);
addFactionLevel(Faction.GIANT_TRACKERS, 2, "34218-00.htm");
addCondMinLevel(MIN_LEVEL, "34218-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 null;
}
switch (event)
{
case "34218-02.htm":
case "34218-03.htm":
{
htmltext = event;
break;
}
case "34218-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34218-06.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 16610832000L, 39865770);
giveItems(player, GINATS_ENERGY, 1);
qs.exitQuest(false, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (npc.getId() == RETBACH)
{
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "34218-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "34218-04.htm";
}
else
{
htmltext = "34218-05.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
}
return htmltext;
}
@Override
public String onSkillSee(Npc npc, PlayerInstance caster, Skill skill, WorldObject[] targets, boolean isSummon)
{
final QuestState qs = getQuestState(caster, false);
if ((qs != null) && qs.isCond(1) && (skill.getId() == INJECT_SHINE_ENERGY))
{
switch (npc.getId())
{
case ROOT_LASSER_GIANTS:
case ESSENCE_LASSER_GIANTS:
{
if ((getRandom(100) < 30) && npc.isAffectedBySkill(INJECT_SHINE_ENERGY))
{
npc.setScriptValue(1);
final Npc mob = addSpawn(LESSER_GIANT_SOLDIER, npc, false, 60000L, false);
addAttackPlayerDesire(mob, caster);
npc.deleteMe();
}
else
{
npc.isScriptValue(0);
}
break;
}
}
}
return super.onSkillSee(npc, caster, skill, targets, isSummon);
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && npc.isScriptValue(0) && giveItemRandomly(killer, DEMON_TRACE, 1, 100, 1, true))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
(Only characters Lv. 100.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-02.htm">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-03.htm">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-04.htm">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Hellbound is too dangerous for you. Please leave.<br>
(Only characters Lv. 100.)
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-07.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-08.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,4 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation<br>
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10537_KamaelDisarray 34237-10.html">"Give me a reward"</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><head>Flame Patrol Warrior Bruener:<br>
I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation.
</body></html>

View File

@ -0,0 +1,183 @@
/*
* 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.Q10539_EnergySupplyCutoffPlan;
import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.Config;
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.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.util.Util;
import quests.Q10537_KamaelDisarray.Q10537_KamaelDisarray;
/**
* Energy Supply Cutoff Plan (10539)
* @URL https://l2wiki.com/Energy_Supply_Cutoff_Plan
* @author Dmitri
*/
public class Q10539_EnergySupplyCutoffPlan extends Quest
{
// NPCs
private static final int KRENAHT = 34237;
// Monsters
private static final int MARKA = 23739;
private static final int SCHLIEN = 23740;
private static final int BERIMAH = 23741;
// Reward
private static final int RUNE_STONE = 39738;
// Misc
private static final int MIN_LEVEL = 100;
public Q10539_EnergySupplyCutoffPlan()
{
super(10539);
addStartNpc(KRENAHT);
addTalkId(KRENAHT);
addKillId(MARKA, SCHLIEN, BERIMAH);
addCondMinLevel(MIN_LEVEL, "34237-00.htm");
addCondCompletedQuest(Q10537_KamaelDisarray.class.getSimpleName(), "34237-00.htm");
addFactionLevel(Faction.GIANT_TRACKERS, 4, "34237-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 "34237-02.htm":
case "34237-03.htm":
{
htmltext = event;
break;
}
case "34237-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34237-07.html":
{
giveItems(player, RUNE_STONE, 1); // Rune Stone
addExpAndSp(player, 11073888000L, 26577180);
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:
{
htmltext = "34237-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "34237-05.html";
}
else
{
htmltext = "34237-06.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
{
int killedCount = qs.getInt(Integer.toString(npc.getId()));
final int Marka = qs.getInt(Integer.toString(MARKA));
final int Schlien = qs.getInt(Integer.toString(SCHLIEN));
final int Berimah = qs.getInt(Integer.toString(BERIMAH));
switch (qs.getCond())
{
case 1:
{
qs.set(Integer.toString(npc.getId()), ++killedCount);
if ((Marka == 1) && (Schlien == 1) && (Berimah == 1))
{
qs.setCond(2, true);
}
else
{
sendNpcLogList(player);
}
break;
}
}
}
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
executeForEachPlayer(killer, npc, isSummon, true, false);
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1))
{
final Set<NpcLogListHolder> npcLogList = new HashSet<>(3);
npcLogList.add(new NpcLogListHolder(MARKA, false, qs.getInt(Integer.toString(MARKA))));
npcLogList.add(new NpcLogListHolder(SCHLIEN, false, qs.getInt(Integer.toString(SCHLIEN))));
npcLogList.add(new NpcLogListHolder(BERIMAH, false, qs.getInt(Integer.toString(BERIMAH))));
return npcLogList;
}
return super.getNpcLogList(player);
}
}

View File

@ -0,0 +1,3 @@
<html><body>Tetrarch Kekropus:<br>
I have to ask you something. Have you seen the huge volume hovering over Giran? Do you know what it is?<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tetrarch Kekropus:<br>
I have to ask you something. Have you seen the huge volume hovering over Giran? Do you know what it is?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10857_SecretTeleport 34222-02.htm">Ask what it is about</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tetrarch Kekropus:<br>
We faced a serious problem .... I didnΞ<6E>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½Ξ²β¬β„ΆΞ<CE86>’ΞΒ²Ξ<C2B2>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>’ΞΒ²Ξ<C2B2>οΏ½ΞΒ²Ξ<C2B2>Β²Ξ²β¬οΏ½ΞΒ¬Ξ<C2AC>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½Ξ²β¬β„ΆΞ<CE86>’ΞΒ¬Ξ<C2AC>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>’ΞΒ²Ξ<C2B2>οΏ½ΞΒ²Ξ<C2B2>Β²Ξ²β¬οΏ½ΞΒ¬Ξ<C2AC>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>Β²Ξ²β€<CEB2>Β¬ΞΒ t believe the rumors about the Superion. But they turned out to be successors. You know, only two Emperor Helios and Empress Ramona can control the Superion. Superion is a very serious threat. I instruct you to go to him and scout the situation.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10857_SecretTeleport 34222-03.htm">"What is the problem"</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tetrarch Kekropus:<br>
This is Superion - a fortress soaring in the sky. It was created by the Emperor of the Giants Helios in ancient times, when the Giants were masters of this world.<br>
This is a powerful weapon, a source of tremendous power. Who would have thought that it would appear again these days ...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10857_SecretTeleport 34222-04.htm">Nod</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Tetrarch Kekropus:<br>
Good. You can always rely on Meldin.<br>
Well, it's time for you to go to the Superion. I have already sent my subordinates there to study the situation.<br>
I would like to be there myself, but I canΞ<6E>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½Ξ²β¬β„ΆΞ<CE86>’ΞΒ²Ξ<C2B2>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>’ΞΒ²Ξ<C2B2>οΏ½ΞΒ²Ξ<C2B2>Β²Ξ²β¬οΏ½ΞΒ¬Ξ<C2AC>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½Ξ²β¬β„ΆΞ<CE86>’ΞΒ¬Ξ<C2AC>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>’ΞΒ²Ξ<C2B2>οΏ½ΞΒ²Ξ<C2B2>Β²Ξ²β¬οΏ½ΞΒ¬Ξ<C2AC>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>Β²Ξ²β€<CEB2>Β¬ΞΒ t risk the mission, for the success of which many lost their lives.<br>
Head to the Superion to find the Histi<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10857_SecretTeleport 34222-05.htm">To stay</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tetrarch Kekropus:<br>
Have you finished the training? Then I will send you to the Superion. Meet there with Histie.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10857_SecretTeleport teleport"><font color="LEVEL">Move to Superion</font></Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Histy:<br>
Who you are? You came from Giran, right? Maybe you are familiar with Kekropus?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10857_SecretTeleport 34243-02.htm">Say that Kekropus sent you</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Histy:<br>
Oh! I hope Tetrarch feels well? Since Kekropus sent you here, it means that our plan is slowly moving forward. You see, they sent me here to watch the Superion. Unfortunately, I canΞ<6E>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½Ξ²β¬β„ΆΞ<CE86>’ΞΒ²Ξ<C2B2>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>’ΞΒ²Ξ<C2B2>οΏ½ΞΒ²Ξ<C2B2>Β²Ξ²β¬οΏ½ΞΒ¬Ξ<C2AC>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½Ξ²β¬β„ΆΞ<CE86>’ΞΒ¬Ξ<C2AC>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>’ΞΒ²Ξ<C2B2>οΏ½ΞΒ²Ξ<C2B2>Β²Ξ²β¬οΏ½ΞΒ¬Ξ<C2AC>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>Β²Ξ²β€<CEB2>Β¬ΞΒ t deal with everything alone. I am glad that you came to the rescue. Thanks for making such a long journey.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10857_SecretTeleport 34243-03.htm">Say that Kekropus sent you</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Histy:<br>
Oh! I hope Tetrarch feels well? Since Kekropus sent you here, it means that our plan is slowly moving forward. You see, they sent me here to watch the Superion. Unfortunately, I canΞ<6E>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½Ξ²β¬β„ΆΞ<CE86>’ΞΒ²Ξ<C2B2>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>’ΞΒ²Ξ<C2B2>οΏ½ΞΒ²Ξ<C2B2>Β²Ξ²β¬οΏ½ΞΒ¬Ξ<C2AC>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½Ξ²β¬β„ΆΞ<CE86>’ΞΒ¬Ξ<C2AC>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>’ΞΒ²Ξ<C2B2>οΏ½ΞΒ²Ξ<C2B2>Β²Ξ²β¬οΏ½ΞΒ¬Ξ<C2AC>Ξ<EFBFBD>Ξ<EFBFBD>οΏ½ΞΒ½Ξ<C2BD>οΏ½ΞΏΞ<CE8F>Β½Ξ<C2BD>Β²Ξ²β€<CEB2>Β¬ΞΒ t deal with everything alone. I am glad that you came to the rescue. Thanks for making such a long journey.
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tarti:<br>
Someone else? But it's only been... How did you manage to do it all so quickly?<br>
Tell me what happened.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10857_SecretTeleport 34243-05.html">"Kain is actually a prince".</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Someone else? But it's only been... How did you manage to do it all so quickly?<br>
Tell me what happened.
</body></html>

View File

@ -0,0 +1,193 @@
/*
* 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.Q10857_SecretTeleport;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
/**
* Secret Teleport (10857)
* @URL https://l2wiki.com/Secret_Teleport
* @author Dmitri
*/
public class Q10857_SecretTeleport extends Quest
{
// NPCs
private static final int KEKROPUS = 34222;
private static final int HISTIE = 34243;
// Monsters
private static final int[] MONSTERS =
{
23774, // Delta Bathus
23775, // Delta Carcass
23776, // Delta Kshana
23777, // Royal Templar
23778, // Royal Shooter
23779, // Royal Wizard
23780, // Royal Templar Colonel
23781, // Royal Sharpshooter
23782, // Royal Archmage
23783 // Royal Gatekeeper
};
// Misc
private static final int MIN_LEVEL = 102;
// Items
private static final int SUPERION_MAP_PIECE = 47191; // Quest item: Old Box
// Reward
private static final int GIANTS_ENERGY = 35563;
public Q10857_SecretTeleport()
{
super(10857);
addStartNpc(KEKROPUS);
addTalkId(KEKROPUS, HISTIE);
addKillId(MONSTERS);
registerQuestItems(SUPERION_MAP_PIECE);
addCondMinLevel(MIN_LEVEL, "34222-00.htm");
addFactionLevel(Faction.GIANT_TRACKERS, 3, "34222-00.htm");
addCondCompletedQuest(Q10856_SuperionAppears.class.getSimpleName(), "34222-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 "34222-03.htm":
case "34222-02.htm":
case "34222-05.htm":
case "34243-02.htm":
{
htmltext = event;
break;
}
case "34222-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34243-03.htm":
{
qs.setCond(2, true);
htmltext = event;
break;
}
case "teleport":
{
player.teleToLocation(79827, 152588, 2309);
break;
}
case "34243-05.html":
{
if (qs.isCond(3))
{
addExpAndSp(player, 17777142360L, 42664860);
giveItems(player, GIANTS_ENERGY, 1);
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() == KEKROPUS)
{
htmltext = "34222-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case KEKROPUS:
{
if (qs.getCond() == 1)
{
htmltext = "34222-04.htm";
}
break;
}
case HISTIE:
{
if (qs.getCond() == 1)
{
htmltext = "34243-01.htm";
}
else if (qs.getCond() == 2)
{
htmltext = "34243-03.htm";
}
else if (qs.getCond() == 3)
{
htmltext = "34243-04.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
htmltext = "34222-01.htm";
break;
}
qs.setState(State.CREATED);
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
if ((qs != null) && qs.isCond(2) && giveItemRandomly(killer, SUPERION_MAP_PIECE, 1, 20, 0.9, true))
{
qs.setCond(3, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -197,6 +197,7 @@ import quests.Q00831_SayhasScheme.Q00831_SayhasScheme;
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.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
import quests.Q00902_ReclaimOurEra.Q00902_ReclaimOurEra;
import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
@ -359,6 +360,9 @@ import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinat
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
import quests.Q10537_KamaelDisarray.Q10537_KamaelDisarray;
import quests.Q10538_GiantsEvolution.Q10538_GiantsEvolution;
import quests.Q10539_EnergySupplyCutoffPlan.Q10539_EnergySupplyCutoffPlan;
import quests.Q10540_ThwartingMimirsPlan.Q10540_ThwartingMimirsPlan;
import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
@ -469,6 +473,7 @@ import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedVal
import quests.Q10849_TrialsForAdaptation.Q10849_TrialsForAdaptation;
import quests.Q10851_ElvenBotany.Q10851_ElvenBotany;
import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
import quests.Q10857_SecretTeleport.Q10857_SecretTeleport;
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
import quests.not_done.Q00655_AGrandPlanForTamingWildBeasts;
import quests.not_done.Q00744_TheAlligatorHunterReturns;
@ -494,7 +499,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.Q00844_GiantsTreasure;
import quests.not_done.Q00845_SabotageTheEmbryoSupplies;
import quests.not_done.Q00846_BuildingUpStrength;
import quests.not_done.Q00910_RedLibraRequestLv1;
@ -514,9 +518,6 @@ import quests.not_done.Q10457_KefensisIllusion;
import quests.not_done.Q10506_DianasRequest;
import quests.not_done.Q10531_OddHappeningsAtDragonValley;
import quests.not_done.Q10532_UncoveringTheConspiracy;
import quests.not_done.Q10537_KamaelDisarray;
import quests.not_done.Q10538_GiantsEvolution;
import quests.not_done.Q10539_EnergySupplyCutoffPlan;
import quests.not_done.Q10748_MysteriousSuggestion1;
import quests.not_done.Q10749_MysteriousSuggestion2;
import quests.not_done.Q10844_BloodyBattleSeizingSupplies;
@ -526,7 +527,6 @@ import quests.not_done.Q10848_TrialsBeforeTheBattle;
import quests.not_done.Q10852_TheMotherTreeRevivalProject;
import quests.not_done.Q10853_ToWeakenTheGiants;
import quests.not_done.Q10854_ToSeizeTheFortress;
import quests.not_done.Q10857_SecretTeleport;
import quests.not_done.Q10858_QueenRamonaControllerOfTheVessel;
import quests.not_done.Q10859_OwnTheEarthAndTheHeavens;
@ -742,7 +742,7 @@ public class QuestMasterHandler
Q00841_ContaminationContainment.class, // TODO: Not done.
Q00842_CaptiveDemons.class,
Q00843_GiantEvolutionControl.class, // TODO: Not done.
Q00844_GiantsTreasure.class, // TODO: Not done.
Q00844_GiantsTreasure.class,
Q00845_SabotageTheEmbryoSupplies.class, // TODO: Not done.
Q00846_BuildingUpStrength.class, // TODO: Not done.
Q00901_HowLavasaurusesAreMade.class,
@ -924,9 +924,9 @@ public class QuestMasterHandler
Q10531_OddHappeningsAtDragonValley.class, // TODO: Not done.
Q10532_UncoveringTheConspiracy.class, // TODO: Not done.
Q10534_HatchlingResearch.class,
Q10537_KamaelDisarray.class, // TODO: Not done.
Q10538_GiantsEvolution.class, // TODO: Not done.
Q10539_EnergySupplyCutoffPlan.class, // TODO: Not done.
Q10537_KamaelDisarray.class,
Q10538_GiantsEvolution.class,
Q10539_EnergySupplyCutoffPlan.class,
Q10540_ThwartingMimirsPlan.class,
Q10541_TrainLikeTheRealThing.class,
Q10542_SearchingForNewPower.class,
@ -1046,7 +1046,7 @@ public class QuestMasterHandler
Q10853_ToWeakenTheGiants.class, // TODO: Not done.
Q10854_ToSeizeTheFortress.class, // TODO: Not done.
Q10856_SuperionAppears.class,
Q10857_SecretTeleport.class, // TODO: Not done.
Q10857_SecretTeleport.class,
Q10858_QueenRamonaControllerOfTheVessel.class, // TODO: Not done.
Q10859_OwnTheEarthAndTheHeavens.class, // TODO: Not done.
};

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00844_GiantsTreasure extends Quest
{
private static final int START_NPC = 34237;
public Q00844_GiantsTreasure()
{
super(844);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10537_KamaelDisarray extends Quest
{
private static final int START_NPC = 34237;
public Q10537_KamaelDisarray()
{
super(10537);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10538_GiantsEvolution extends Quest
{
private static final int START_NPC = 34218;
public Q10538_GiantsEvolution()
{
super(10538);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10539_EnergySupplyCutoffPlan extends Quest
{
private static final int START_NPC = 34237;
public Q10539_EnergySupplyCutoffPlan()
{
super(10539);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10857_SecretTeleport extends Quest
{
private static final int START_NPC = 34222;
public Q10857_SecretTeleport()
{
super(10857);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -92,7 +92,6 @@
840 Request from the Kingdom's Royal Guard
841 Contamination Containment
843 Giant Evolution Control
844 Giant's Treasure
845 Sabotage the Embryo Supplies
846 Building up Strength
861 Kain's Choice
@ -130,9 +129,6 @@
10531 Odd Happenings at Dragon Valley Strange Things Afoot in the Valley
10532 Uncovering the Conspiracy Eliminate the Undead and Dragons
10535 Blacksmith's Soul-awakening Weapon - 3
10537 Kamael Disarray To Retbach
10538 Giant's Evolution Cause of failed evolution
10539 Energy Supply Cutoff Plan Defeat Halisha's Henchman
10712 The Minstrel's Song, Part 1
10717 The Minstrel's Song, Part 2
10720 The Minstrel's Song, Part 3
@ -148,7 +144,6 @@
10852 The Mother Tree Revival Project
10853 To Weaken the Giants
10854 To Seize the Fortress
10857 Secret Teleport
10858 Queen Ramona, Controller of the Vessel
10859 Own the Earth and the Heavens
10873 Exalted, Reaching Another Level

View File

@ -0,0 +1,5 @@
<html><body>Master Cyphona:<br>
I don't think you'll be able to complete this. You seem passionate, but you don't have enough experience.<br>
Please come back when you've become stronger.<br>
(Only characters above Lv. 100.)
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<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 Q00844_GiantsTreasure 34237-02.htm">"Please tell me again."</Button>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure select_mission">"I know what I should do."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<br>
Ah, adventurer! There you are again. How about helping us some more? <br>
What do you say? If you don't remember what the mission was, I can tell you again.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-01.htm">"Please tell me about the mission again."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-05.htm">"I know what I've got to do."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<br>
Adventurer! Good to see you. Since you've helped us so much already, how about helping us some more? <br>
What do you say? If you don't remember what the mission was, I can tell you again.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-01.htm">"Please tell me about the mission again."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-05.htm">"I know what I've got to do."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Master Cyphona:<br>
I've been waiting for you, adventurer. Well since you are here now, will you listen to me? I know I can trust you, but if you complete this mission, we'll become better allies and your pockets will get heavier. What do you say? Or do you need me to explain the mission again?<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-01.htm">"Please tell me about the mission again."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00844_GiantsTreasure 34237-05.htm">"I know what I've got to do."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Master Cyphona:<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 Q00844_GiantsTreasure 34237-03.htm">"What is it you need to do?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<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 Q00844_GiantsTreasure select_mission">"Yes, sure."</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Master Cyphona:<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">10</font> Mutated Spirit's Souls.<br1>
Intermediate Mission - Collect <font color="LEVEL">20</font> Mutated Spirit's Souls.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-06.html">"I'll take the basic mission."</Button>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-05.html"><font color="A62F31">"I'll take the intermediate mission."</font></Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Master Cyphona:<br>
This isn't the first time we've met? You've completed a mission before? I see... Well, I don't really have a good memory.<br>
If you have completed a mission before, then that means you must have a Mark of Trust. What? You don't have one?<br>
Then you are either a liar, or you haven't been here in a long time. My trust is something you must continously try to maintain. Will you listen to me?<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-01.htm">"Yes, tell me about the mission."</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Master Cyphona:<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">10</font> Mutated Spirit's Souls.<br1>
Intermediate Mission - Collect <font color="LEVEL">20</font> Mutated Spirit's Souls.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-06.html">"I'll take the basic mission."</Button>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00844_GiantsTreasure 34237-06a.html">"I'll take the intermediate mission."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
Alright. Here's the mission. Hunt the <font color="LEVEL">Kerberos Leger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and the Fury Kerberos Nero</font>, and collect their <font color="LEVEL">Mutated Spirit's Souls</font> as proof.<br>You can get rewards only if you bring at least 200. Of course, you'll get more rewards if you bring more.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
Your Unworldly Visitors Faction Level Must be 4 or above may undertake this mission.
</body></html>

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