This commit is contained in:
mobius
2015-01-01 20:02:50 +00:00
parent eeae660458
commit a6a3718849
17894 changed files with 2818932 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
<html><body>Devil's Isle Survivor:<br>
Devil's Isle... Oh, I am the sole survivor from that awful place... I don't want to mislead you -- many adventurers still go to Devil's Isle and return.<br>
But I am the only one to return from the worst spot on that accursed island: Lematan's Fleet.<br>
<a action="bypass -h Quest Q00129_PailakaDevilsLegacy 32498-02.htm">Ask about Lematan's Fleet.</a><br>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Devil's Isle Survivor:<br>
Uh... I suppose I can talk about Lematan's Fleet with someone of your skill and experience...<br>
Lematan was a pirate who lusted after Zaken's treasure... But instead of making him rich, it brought him only evil.<br>
As soon as he touched the treasure, a powerful curse was cast about Lematan. He and his men were transformed into something...indescribable.<br>
And that wasn't the end of it. An unnatural darkness, blacker than black, suddenly arose and swallowed them all. It was like looking into the pit of chaos itself...<br>
<a action="bypass -h Quest Q00129_PailakaDevilsLegacy 32498-03.htm">Ask him to tell you more.</a><br>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Devil's Isle Survivor:<br>
Chaos... That's right. That's the best word I can use to describe it...<br>
It was like something ripped a hole in reality itself. Both captain and crew were sucked in...<br>
I later heard that that power is called Kamaloka or Pailaka or somesuch. They say that it will engulf the entire world.<br>
That's when my nightmares came... Soon after closing my eyes, I dream of strange and horrible monsters who torture me until I wake again. Ah, but the real problem was something else... Do you know what it is?<br>
<a action="bypass -h Quest Q00129_PailakaDevilsLegacy 32498-04.htm">Ask him to tell you.</a><br>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Devil's Isle Survivor:<br>
I'm not the only one who has these nightmares! And all of us are both emotionally -- and, strangely enough, even physically -- drained upon waking.<br>
I thought it was this Kamaloka I've heard about, but they say it's something else. It couldn't be entered in the same way as Kamaloka.<br>
The mages say it's called Pailaka.<br>
Whatever its name, someone must penetrate it and defeat this coming darkness... I believe you have the ability to set things right. What do you say? Will you do it?<br>
<font color="LEVEL">(You will be rewarded for your efforts. Vitality points will be granted to you immediately upon completing the quest. If you already have maximum Vitality, you will not gain any additional Vitality.)</font><br>
<a action="bypass -h Quest Q00129_PailakaDevilsLegacy 32498-05.htm">Say yes.</a><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Devil's Isle Survivor:<br>
Thank you! When you're ready, come find me.<br>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Devil's Isle Survivor:<br>
I looked into it while you were gone -- even the scholars can't agree about the nature of Pailaka...<br>
But most think, as I do, that you should find an ally once you cross over.<br>
We just don't know the specifics! Stay alert and you'll do fine.<br>
Now then, we've talked long enough! Ready to go?<br>
<a action="bypass -h Quest PailakaDevilsLegacy enter">Enter Pailaka.</a><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Devil's Isle Survivor:<br>
Keep your eyes open for someone who can help you there. Good luck -- we're all counting on you!<br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Devil's Isle Survivor:<br>
Do you want to enter Pailaka again? Don't forget what I told you before!<br>
<a action="bypass -h Quest PailakaDevilsLegacy enter">Enter Pailaka.</a><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Devil's Isle Survivor:<br>
Remember what needs to be done!<br>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Devil's Isle Survivor:<br>
Uh... it was very difficult...<br>
But thanks to you, I think my nightmares may finally stop... <br>
(This quest has already been completed)<br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Devil's Isle Survivor:<br>
What's the use of knowing more? If you try your luck there now, there'll just be one more corpse: yours!<br>
(Only characters level 61 and higher may undertake this quest)<br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Devil's Isle Survivor:<br>
Why do you want to know? There are better ways to spend your time, believe me!<br>
(Only characters level 67 and lower may undertake this quest)<br>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Devil's Isle Survivor:<br>
You know about Devil's Isle?<br>
I guess if you're from around here you must have heard about it... It was the hideout of that legendary pirate king, Zaken -- only the bravest of the brave dare to venture there now.<br>
But be warned...<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a><br>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Devil's Isle Supporter:<br>
Some time ago, powerful pirates came from the other side of the sky and occupied Devil's Isle.<br>
I believe they are the ones who touched Zaken's relic. I don't know what they've done, but since then the monsters have become especially violent -- now nobody can even set foot on the island!<br>
<a action="bypass -h Quest Q00129_PailakaDevilsLegacy 32501-02.htm">Listen to his story.</a><br>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Devil's Isle Supporter:<br>
I don't know where they came from. But they occupied Devil's Isle and kicked out all the Humans and Dwarves. We can't just do nothing...<br>
We must fight them! Here, take this sword. It can summon the <font color="LEVEL">Tigress</font>, our fleet's guardian spirit. She will certainly be able to help you!<br>
<a action="bypass -h Quest Q00129_PailakaDevilsLegacy 32501-03.htm">Take the sword.</a><br>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Devil's Isle Supporter:<br>
This sword is an ancient relic of Devil's Isle. It was used to destroy those who fell under the curse.<br>
Fearing its power, they were finally able to weaken it by sealing away a few of its powers in a number of scrolls.<br>
As you use it to defeat our enemies, though, you'll acquire the ability to enhance the weapon to its former strength.<br>
You should know that there are several Dwarven adventurers also trapped on the island. Take the sword and a Scroll of Enchant Weapon to one of them and they'll make your weapon even more powerful!<br>
<a action="bypass -h Quest Q00129_PailakaDevilsLegacy 32501-04.htm">Ask about the enemy.</a><br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Devil's Isle Supporter:<br>
The enemies who invaded Devil's Isle are <font color="LEVEL">Lematan's Followers</font>. Four of them are especially dangerous: <font color="LEVEL">Kams, Hikoro, Alkaso and Gerbera</font>. Some of them will have Scrolls of Enchant Weapon.<br>
Defeat them and you can enhance your sword and Tigress...and eventually become powerful enough to destroy Lematan himself!<br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Devil's Isle Supporter:<br>
There's something strange happening on Devil's Isle! Monstrous pirates suddenly appeared and are wreaking havoc everywhere!<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Dwarf Adventurer:<br>
You will need a special weapon to solve the problems facing us... The <font color="LEVEL">Devil's Isle Supporter</font> is somewhere around here -- go find him!<br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Dwarf Adventurer:<br>
You will need a special weapon to solve the problems facing us... The <font color="LEVEL">Devil's Isle Supporter</font> is somewhere around here -- go find him!<br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Dwarf Adventurer:<br>
Unless you have a Scroll of Enchant Weapon, I can't enchant either your weapon or your pet. Defeat the pirates and bring back the Scroll of Enchant Weapon!<br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Dwarf Adventurer:<br>
Your weapon has been enhanced! In addition to allowing you to summon Tigress, it now also possesses a powerful long-range water attack called <font color="LEVEL">Ice Ball</font>.<br>
If you wish to enhance the sword a final time, find the last remaining Scroll of Enchant Weapon!<br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Dwarf Adventurer:<br>
Bring back the second Enchant Scroll. I'm sure some pirate thug has it!<br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Dwarf Adventurer:<br>
Your weapon has been enhanced! In addition to <font color="LEVEL">Ice Ball</font>, your Complete Ancient Legacy Sword now possesses <font color="LEVEL">Chill Strike</font>, which inflicts a powerful short-range water attack.<br>
Your Tigress has also been enhanced! She now possesses more power than ever!<br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Dwarf Adventurer:<br>
Your weapon has been enhanced! With this strengthened Ancient Legacy Sword, you're more than a match for any pirate!<br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Dwarf Adventurer:<br>
In order to enhance the sword, Tigress must first be returned to it. Any other summoned pets or servitors will also disrupt the process. Until they have been dismissed, we cannot begin.<br>
Let me know when you are ready.<br>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Dwarf Adventurer:<br>
Ah, an adventurer who wields the Ancient Legacy Sword has finally come! Since you have made it this far, I will place my trust in you as well!<br>
If you have the <font color="LEVEL">Pailaka Scroll of Enchant Weapon</font>, I will enhance both your Ancient Legacy Sword and your Tigress!<br>
<a action="bypass -h npc_%objectId%_Quest">Enhance your weapon.</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Dwarf Adventurer:<br>
Thanks! Is it my imagination, or did your body just become a bit blurry?<br>
You don't look like you're from around here... Am I right? You appeared just as suddenly as those pirates!<br>
Anyway, thank you. Please take these gifts.<br>
Among them is a magic item capable of returning you to your world. Use the Scroll of Escape to leave Pailaka and return to where you belong!<br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Dwarf Adventurer:<br>
After dismissing Tigress, please do the same with any other summoned pets or servitors.<br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Dwarf Adventurer:<br>
Use the Scroll of Escape that I gave you to return to your world.<br>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Dwarf Adventurer:<br>
That cursed pirate has finally fallen! Now I must ask you to return the sword. It is also a legacy of this place, so if you take it away -- even by mistake -- you will incur the curse of Devil's Isle.<br>
<font color="LEVEL">If your Tigress is beside you, return her to the sword before giving it to me.</font><br>
<a action="bypass -h npc_%objectId%_Quest">Return the sword.</a><br>
</body></html>

View File

@@ -0,0 +1,317 @@
/*
* Copyright (C) 2004-2014 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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.Q00129_PailakaDevilsLegacy;
import com.l2jserver.gameserver.enums.QuestSound;
import com.l2jserver.gameserver.instancemanager.InstanceManager;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.entity.Instance;
import com.l2jserver.gameserver.model.holders.SkillHolder;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.model.quest.State;
/**
* Pailaka - Devil's Legacy (129)
* @author Gnacik, St3eT
*/
public final class Q00129_PailakaDevilsLegacy extends Quest
{
// NPCs
private static final int KAMS = 18629; // Kams (Panuka)
private static final int ALKASO = 18631; // Alkaso (Panuka)
private static final int LEMATAN = 18633; // Lematan
private static final int SURVIVOR = 32498; // Devil's Isle Survivor
private static final int SUPPORTER = 32501; // Devil's Isle Supporter
private static final int ADVENTURER1 = 32508; // Dwarf Adventurer
private static final int ADVENTURER2 = 32511; // Dwarf Adventurer
// Items
private static final int SWORD = 13042; // Ancient Legacy Sword
private static final int ENH_SWORD1 = 13043; // Enhanced Ancient Legacy Sword
private static final int ENH_SWORD2 = 13044; // Complete Ancient Legacy Sword
private static final int SCROLL_1 = 13046; // Pailaka Weapon Upgrade Stage 1
private static final int SCROLL_2 = 13047; // Pailaka Weapon Upgrade Stage 2
private static final int SHIELD = 13032; // Pailaka Instant Shield
private static final int HEALING_POTION = 13033; // Quick Healing Potion
private static final int ANTIDOTE_POTION = 13048; // Pailaka Antidote
private static final int DIVINE_POTION = 13049; // Divine Soul
private static final int DEFENCE_POTION = 13059; // Long-Range Defense Increasing Potion
private static final int PAILAKA_KEY = 13150; // Pailaka All-Purpose Key
private static final int BRACELET = 13295; // Pailaka Bracelet
private static final int ESCAPE = 736; // Scroll of Escape
// Skills
private static final SkillHolder VITALITY_REPLENISHING = new SkillHolder(5774, 2); // Pailaka Reward Vitality Replenishing
// Misc
private static final int MIN_LEVEL = 61;
private static final int MAX_LEVEL = 67;
private static final int EXIT_TIME = 5;
public Q00129_PailakaDevilsLegacy()
{
super(129, Q00129_PailakaDevilsLegacy.class.getSimpleName(), "Pailaka - Devil's Legacy");
addStartNpc(SURVIVOR);
addFirstTalkId(SURVIVOR, SUPPORTER, ADVENTURER1, ADVENTURER2);
addTalkId(SURVIVOR, SUPPORTER, ADVENTURER1, ADVENTURER2);
addKillId(KAMS, ALKASO, LEMATAN);
registerQuestItems(SWORD, ENH_SWORD1, ENH_SWORD2, SCROLL_1, SCROLL_2, SHIELD, HEALING_POTION, ANTIDOTE_POTION, DIVINE_POTION, DEFENCE_POTION, PAILAKA_KEY);
}
@Override
public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
String htmltext = null;
if (qs == null)
{
return getNoQuestMsg(player);
}
switch (event)
{
case "32498-02.htm":
case "32498-03.htm":
case "32498-04.htm":
{
htmltext = event;
break;
}
case "32498-05.htm":
{
if (qs.isCond(0))
{
htmltext = event;
qs.startQuest();
}
break;
}
case "32501-02.htm":
case "32501-04.htm":
{
htmltext = event;
break;
}
case "32501-03.htm":
{
if (qs.isCond(2))
{
giveItems(player, SWORD, 1);
qs.setCond(3, true);
htmltext = event;
}
break;
}
}
return htmltext;
}
@Override
public final String onFirstTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if ((npc.getId() != ADVENTURER2) || (qs == null) || !qs.isCompleted())
{
return npc.getId() + ".htm";
}
return "32511-03.htm";
}
@Override
public final String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return getNoQuestMsg(player);
}
switch (npc.getId())
{
case SURVIVOR:
{
switch (qs.getState())
{
case State.CREATED:
{
if (player.getLevel() < MIN_LEVEL)
{
htmltext = "32498-11.htm";
}
else if (player.getLevel() > MAX_LEVEL)
{
htmltext = "32498-12.htm";
}
else
{
htmltext = "32498-01.htm";
}
break;
}
case State.STARTED:
{
if (qs.getCond() > 1)
{
htmltext = "32498-08.htm";
}
else
{
htmltext = "32498-06.htm";
}
break;
}
case State.COMPLETED:
{
htmltext = "32498-10.htm";
break;
}
default:
{
htmltext = "32498-01.htm";
break;
}
}
break;
}
case SUPPORTER:
{
if (qs.getCond() > 2)
{
htmltext = "32501-04.htm";
}
else
{
htmltext = "32501-01.htm";
}
break;
}
case ADVENTURER1:
{
if (player.hasSummon())
{
htmltext = "32508-07.htm";
}
else if (hasQuestItems(player, SWORD))
{
if (hasQuestItems(player, SCROLL_1))
{
takeItems(player, SWORD, -1);
takeItems(player, SCROLL_1, -1);
giveItems(player, ENH_SWORD1, 1);
htmltext = "32508-03.htm";
}
else
{
htmltext = "32508-02.htm";
}
}
else if (hasQuestItems(player, ENH_SWORD1))
{
if (hasQuestItems(player, SCROLL_2))
{
takeItems(player, ENH_SWORD1, -1);
takeItems(player, SCROLL_2, -1);
giveItems(player, ENH_SWORD2, 1);
htmltext = "32508-05.htm";
}
htmltext = "32508-04.htm";
}
else if (hasQuestItems(player, ENH_SWORD2))
{
htmltext = "32508-06.htm";
}
else
{
htmltext = "32508-00.htm";
}
break;
}
case ADVENTURER2:
{
if (player.hasSummon())
{
htmltext = "32511-02.htm";
}
else
{
final Instance inst = InstanceManager.getInstance().getInstance(npc.getInstanceId());
qs.exitQuest(false, true);
inst.setDuration(EXIT_TIME * 60000);
inst.setEmptyDestroyTime(0);
if (inst.containsPlayer(player.getObjectId()))
{
npc.setTarget(player);
npc.doCast(VITALITY_REPLENISHING.getSkill());
addExpAndSp(player, 10800000, 950000);
rewardItems(player, BRACELET, 1);
rewardItems(player, ESCAPE, 1);
}
else
{
htmltext = "32511-01.htm";
}
}
break;
}
}
return htmltext;
}
@Override
public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isStarted())
{
switch (npc.getId())
{
case KAMS:
{
if (hasQuestItems(player, SWORD))
{
giveItems(player, SCROLL_1, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
break;
}
case ALKASO:
{
if (hasQuestItems(player, ENH_SWORD1))
{
giveItems(player, SCROLL_2, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
break;
}
case LEMATAN:
{
if (qs.isCond(3))
{
qs.setCond(4, true);
}
break;
}
}
}
return super.onKill(npc, player, isSummon);
}
}