Merged with released L2J-Unity files.

This commit is contained in:
mobiusdev
2016-06-12 01:34:09 +00:00
parent e003e87887
commit 635557f5da
18352 changed files with 3245113 additions and 2892959 deletions

View File

@@ -1,4 +1,7 @@
<html><body>Inspector Adler:<br>
Ah, we meet again! Apparently the chaos caused by Pailaka has still not been resolved. If you are willing, I can send you to Pailaka again. What would you like to do?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest PailakaSongOfIceAndFire enter">Enter Pailaka.</Button>
<html><body>Inspector Adler:<br>
We really don't know what you will encounter when you open the gateway to Pailaka. But as with Kamaloka, I suspect you will find an ally there willing to share information.<br>
You should have no difficulty learning what you must do.<br>
Of course, you don't know what kind of weapons to take with you... Be careful, though -- <font color="LEVEL">taking too many items may actually cause you to fail! Be careful.</font><br>
And good luck!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest PailakaSongOfIceAndFire enter">"Thank you!"</Button>
</body></html>

View File

@@ -1,6 +1,6 @@
<html><body>Inspector Adler:<br>
What do you know about Pailaka? The Ivory Tower discovered it shortly after Kamaloka.<br>
Apparently, it's a kind of "pocket reality" created by Kamaloka's energy acting on places that are filled with a high degree of chaos: old battlefields or the sites of powerful magical experiments, for example.<br>
Although Pailaka is not part of our reality, what happens there can affect our world...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32497-02.htm">Keep listening.</Button>
<html><body>Inspector Adler:<br>
What do you know about Pailaka? The Ivory Tower discovered it shortly after Kamaloka.<br>
Apparently, it's a kind of "pocket reality" created by Kamaloka's energy acting on places that are filled with a high degree of chaos: old battlefields or the sites of powerful magical experiments, for example.<br>
Although Pailaka is not part of our reality, what happens there can affect our world...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32497-02.htm">"Ah... Please go on."</Button>
</body></html>

View File

@@ -1,9 +1,8 @@
<html><body>Inspector Adler:<br>
We inspectors were sent by the Ivory Tower to find more about that place.<br>
We followed the flow of mana and traced the energy of Kamaloka to find likely spots.<br>
At present, Pailaka has not affected our reality, but who knows what may happen in time? It may even impact next year's harvest.<br>
We discovered Pailaka in the Forgotten Temple close to here. If you are willing, I would like you to enter Pailaka and restore order. 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 receive the reward while your Vitality Level is high, though, you may notice a slight reduction.)</font><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32497-03.htm">Say yes.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32497-04.htm">Say no.</Button>
<html><body>Inspector Adler:<br>
The Ivory Tower sent our inspection team to find out what we could about the place.<br>
We followed the flow of mana, tracing the energy of Kamaloka to find likely spots to look.<br>
So far, it seems that Pailaka has not affected our reality, but who knows what may happen as time goes by? It might even impact next year's harvest!<br>
We found Pailaka, it's in the Forgotten Temple, very close to here. If you are willing, I'd like you to enter Pailaka and restore order. Can I trust you to do so?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32497-03.htm">"Absolutely."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32497-04.htm">Quest</Button>
</body></html>

View File

@@ -1,6 +1,6 @@
<html><body>Inspector Adler:<br>
We really don't know what you will encounter when you open the gateway to Pailaka. But as with Kamaloka, I suspect you will find an ally there willing to share information.<br>
You should have no difficulty learning what you must do.<br>
Good luck!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest PailakaSongOfIceAndFire enter">Accept the challenge of Pailaka.</Button>
<html><body>Inspector Adler:<br>
We really don't know what you will encounter when you open the gateway to Pailaka. But as with Kamaloka, I suspect you will find an ally there willing to share information.<br>
You should have no difficulty learning what you must do.<br>
Good luck!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest PailakaSongOfIceAndFire enter">"Thank you!"</Button>
</body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Inspector Adler:<br>
That's your answer, eh? Well, there's nothing I can say to change your mind. But in my opinion, it would do you good to expand your horizons...
<html><body>Inspector Adler:<br>
That's your answer, eh? Well, there's nothing I can say to change your mind. But in my opinion, it would do you good to expand your horizons...
</body></html>

View File

@@ -1,5 +1,5 @@
<html><body>Inspector Adler:<br>
You don't seem ready to solve the mystery of that place just yet.<br>
Come back when you are more experienced, and I will entrust you with this mission.<br>
(Only characters level 36 and higher may undertake this quest.)
<html><body>Inspector Adler:<br>
You don't seem prepared to delve into this mystery just yet.<br>
Come back when you are more experienced and I will entrust you with the mission.<br>
(You must be level 49 or above to start this quest.)
</body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Inspector Adler:<br>
Your spirit is too strong to enter such an unstable region as Pailaka.<br>
(Only characters level 42 and lower may undertake this quest.)
<html><body>Inspector Adler:<br>
Your spirit is too strong to enter such an unstable region as Pailaka.<br>
(Only characters level 55 and lower may undertake this quest.)
</body></html>

View File

@@ -1,5 +1,5 @@
<html><body>Inspector Adler:<br>
Ah, you are the adventurer I spoke to before! Thanks to your efforts, the strange omens we feared seem to have disappeared.<br>
But I worry that Pailaka may be different from Kamaloka... True, it has not shown any signs of reappearing.<br>
But I suspect this is not only Pailaka out there; perhaps in your adventures you will encounter another Pailaka somewhere else.
<html><body>Inspector Adler:<br>
Ah, you are the adventurer I spoke to before! Thanks to your efforts, the strange omens we feared seem to have disappeared.<br>
But I worry that Pailaka may be different from Kamaloka... True, it has not shown any signs of reappearing.<br>
But I suspect this is not only Pailaka out there; perhaps in your adventures you will encounter another Pailaka somewhere else.
</body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Inspector Sinai:<br>
Just do what you've been trained to do. Your book will tell you the specifics.
<html><body>Inspector Sinai:<br>
Just do what you've been trained to do. Your book will tell you the specifics.
</body></html>

View File

@@ -1,6 +1,6 @@
<html><body>Inspector Sinai:<br>
Are you an adventurer? Hmm, finding an adventurer in a dangerous place like this...<br>
I suppose I shouldn't be surprised! Still, I must admit I didn't expect to find you here.<br>
Were you sent by the Adventurers Association? Or perhaps you found your way here on your own? Ah, you look puzzled, my friend!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32500-02.htm">Ask for an explanation.</Button>
<html><body>Inspector Sinai:<br>
Are you an adventurer? Hmm, finding an adventurer in a dangerous place like this...<br>
I suppose I shouldn't be surprised! Still, I must admit I didn't expect to find you here.<br>
Were you sent by the Adventurers Association? Or perhaps you found your way here on your own? Ah, you look puzzled, my friend!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32500-02.htm">"I am getting confused. What are you trying to say?"</Button>
</body></html>

View File

@@ -1,6 +1,6 @@
<html><body>Inspector Sinai:<br>
Hmm... Let's see if I can make this brief... Once there was a balance here between the power of the Water and Fire Sprites, but now those two have become increasingly aggressive.<br>
Worse, I've received a report that some of the Sprites have embraced the chaos and are changing into fearsome monsters.<br>
We have crafted a weapon to fight them, but we need someone who can wield it...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32500-03.htm">Ask how to use the weapon.</Button>
<html><body>Inspector Sinai:<br>
Hmm... Let's see if I can make this brief... Once there was a balance here between the power of the Water and Fire Spirits, but now those two have become increasingly aggressive.<br>
Worse, I've received a report that some of the Spirits have embraced the chaos and are changing into fearsome monsters.<br>
We have crafted a weapon to fight them, but we need someone who can wield it...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32500-03.htm">"What does it take to wield it?"</Button>
</body></html>

View File

@@ -1,7 +1,7 @@
<html><body>Inspector Sinai:<br>
First, of course, you must be able to enter the temple itself.<br>
We can magically protect ourselves, but others...<br>
Wait -- you really believe you can do this, don't you? Perhaps you're right! I don't know how, but your aura seems immune to the chaos that has infected this place. It's even better than our magic!<br>
Who are you, adventurer?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32500-04.htm">Explain how you got here.</Button>
<html><body>Inspector Sinai:<br>
First, of course, you must be able to enter the temple itself.<br>
We can magically protect ourselves, but others...<br>
Wait -- you really believe you can do this, don't you? Perhaps you're right! I don't know how, but your aura seems immune to the chaos that has infected this place. It's even better than our magic!<br>
Who are you, adventurer?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32500-04.htm">"Let me tell you how I ended up here."</Button>
</body></html>

View File

@@ -1,7 +1,7 @@
<html><body>Inspector Sinai:<br>
If what you say is true, then you really did come here from another dimension!<br>
There has been much speculation about other dimensions at our Ivory Tower, but it seems your Ivory Tower is even more advanced... <br>
If the cause of our troubles lies in the fissure of power in this dimension, you should be able to return to your dimension by stabilizing that fissure. What I mean is that if you can restore the balance of the Sprites' power here, you will be able to return to your world.<br>
In any case, as an otherworlder you will surely be less affected by their power than we are. I place this task on your shoulders, my friend.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32500-05.htm">Accept</Button>
<html><body>Inspector Sinai:<br>
If what you say is true, then you really did come here from another dimension!<br>
There has been much speculation about other dimensions at our Ivory Tower, but it seems your Ivory Tower is even more advanced...<br>
If the cause of our troubles lies in the fissure of power in this dimension, you should be able to return to your dimension by stabilizing that fissure. What I mean is that if you can restore the balance of the Spirits' power here, you will be able to return to your world.<br>
In any case, as an otherworlder you will surely be less affected by their power than we are. I place this task on your shoulders, my friend.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32500-05.htm">"You can count on me."</Button>
</body></html>

View File

@@ -1,6 +1,6 @@
<html><body>Inspector Sinai:<br>
Please defeat those chaotic Sprites in the temple and restore stability.<br>
You may use this Sprite's Sword, forged with both the power of water and fire. I know you will use it well.<br>
Also, take this book written by the Elves who built this place -- it will tell you if something is wrong with the temple. When you enter the temple, follow the book's instructions.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32500-06.htm">Accept the sword and the book.</Button>
<html><body>Inspector Sinai:<br>
Please defeat those chaotic Spirits in the temple and restore stability.<br>
You may use this Spirit's Sword, forged with both the power of water and fire. I know you will use it well.<br>
Also, take this book written by the Elves who built this place -- it will tell you if something is wrong with the temple. When you enter the temple, follow the book's instructions.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32500-06.htm">"Thank you for the sword and the book."</Button>
</body></html>

View File

@@ -1,6 +1,6 @@
<html><body>Inspector Sinai:<br>
There are 4 chaotic Sprites. If you defeat them in a certain order, their powers will revert to their former stable state.<br>
Inside, you will also meet our inspectors. They are superior enchanters, and they will certainly help you if you need it.<br>
You should know that the power of this sword is not yet complete; you will need a Sprite's help to strengthen it to its full potential. The book contains instructions about how to do that.<br>
Finally, the fish in the temple may provide useful items. I recommend you catch them if you can!
<html><body>Inspector Sinai:<br>
There are 4 chaotic Spirits. If you defeat them in a certain order, their powers will revert to their former stable state.<br>
Inside, you will also meet our inspectors. They are superior enchanters, and they will certainly help you if you need it.<br>
You should know that the power of this sword is not yet complete; you will need a Spirit's help to strengthen it to its full potential. The book contains instructions about how to do that.<br>
Finally, the fish in the temple may provide useful items. I recommend you catch them if you can!
</body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Temple Inspector:<br>
Who are you? We don't allow just anybody to enter this place...<br>
If you have questions, ask <font color="LEVEL">Inspector Sinai</font>.
<html><body>Temple Inspector:<br>
Who are you? We don't allow just anybody to enter this place...<br>
If you have questions, ask <font color="LEVEL">Inspector Sinai</font>.
</body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Temple Inspector:<br>
That's the Sprite's Sword! It was forged long ago, a mighty dualsword made of fire and water. We use it to stabilize the energy of the temple. But now the situation is too far gone for the sword alone to repair!<br>
If the legends are to be believed, something capable of strengthening the power of the Sprite's Sword should have appeared somewhere in the temple...
<html><body>Temple Inspector:<br>
That's the Spirit's Sword! It was forged long ago, a mighty dual sword made of fire and water. We use it to stabilize the energy of the temple. But now the situation is too far gone for the sword alone to repair!<br>
If the legends are to be believed, something capable of strengthening the power of the Spirit's Sword should have appeared somewhere in the temple...
</body></html>

View File

@@ -1,7 +1,6 @@
<html><body>Temple Inspector:<br>
The Sprite's Sword... Under normal circumstances, that sword can stabilize the power of the Sprite -- but the current situation is beyond its ability alone.<br>
However, combined with the Essence of Water you have, we may have a chance. According to legend, when the sword can't stabilize the temple itself, the temple will actually find a way to strengthen the sword. I suppose the legend must be true!<br>
Will you use the Essence of Water to strengthen the sword?<br>
<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32507-04.htm">Strengthen the sword.</Button>
<html><body>Temple Inspector:<br>
The Spirit's Sword... Under normal circumstances, that sword can stabilize the power of the Spirit -- but the current situation is beyond its ability alone.<br>
However, combined with the Essence of Water you have, we may have a chance. According to legend, when the sword can't stabilize the temple itself, the temple will actually find a way to strengthen the sword. I suppose the legend must be true!<br>
Will you use the Essence of Water to strengthen the sword?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32507-04.htm">"Absolutely!"</Button>
</body></html>

View File

@@ -1,5 +1,5 @@
<html><body>Temple Inspector:<br>
Converto augeo aquae...<br>
Thanks to the Essence of Water, your sword has been strengthened by two levels! Now you can access <font color="LEVEL">Shalin Heal</font> to aid recovery.<br>
Take up the sword again and seek out other enemies! That book will be helpful.
<html><body>Temple Inspector:<br>
Converto augeo aquae...<br>
Thanks to the Essence of Water, your sword has been strengthened by two levels! Now you can access <font color="LEVEL">Shalin Heal</font> to aid recovery.<br>
Take up the sword again and seek out other enemies! That book will be helpful.
</body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Temple Inspector:<br>
Your sword has already absorbed the power of the Essence of Water. Bring me the Essence of Fire and I will be able to strengthen your weapon again.<br>
Ah, your book is shining! Perhaps something has changed; you should read it at once.
<html><body>Temple Inspector:<br>
Your sword has already absorbed the power of the Essence of Water. Bring me the Essence of Fire and I will be able to strengthen your weapon again. <br>
Ah, your book is shining! Perhaps something has changed; you should read it at once.
</body></html>

View File

@@ -1,6 +1,6 @@
<html><body>Temple Inspector:<br>
Hmm, the chaos seems more serious that I first thought.<br>
Fire magic in particular seems an issue...<br>
Tell me, has your weapon already absorbed the Essence of Water? Ah, then it's simple! We have never before tried to combine the Essences of Water and Fire at this level, but it should be possible...at least in theory. Now, give me your sword and the Essence of Fire.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32507-07.htm">Hand over the sword and the Essence of Fire.</Button>
<html><body>Temple Inspector:<br>
Hmm, the chaos seems more serious that I first thought.<br>
Fire magic in particular seems an issue...<br>
Tell me, has your weapon already absorbed the Essence of Water? Ah, then it's simple! We have never before tried to combine the Essences of Water and Fire at this level, but it should be possible...at least in theory. Now, give me your sword and the Essence of Fire.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32507-07.htm">"Here is my sword and the Essence of Fire."</Button>
</body></html>

View File

@@ -1,5 +1,5 @@
<html><body>Temple Inspector:<br>
Permissum incendia successio!<br>
May even greater power descend on this sword!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32507-08.htm">Watch</Button>
<html><body>Temple Inspector:<br>
Permissum incendia successio!<br>
May even greater power descend on this sword!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32507-08.htm">Watch</Button>
</body></html>

View File

@@ -1,6 +1,6 @@
<html><body>Temple Inspector:<br>
Ah! The sword is finished!<br>
I can feel its power! Can't you feel it calling to the power of the Sprite?<br>
Besides Shalin Heal, <font color="LEVEL">a powerful attack skill called Shalin Strike</font> has been added.<br>
I am sure you can now stabilize the energy of confusion in this place. Go quickly!
<html><body>Temple Inspector:<br>
Ah! The sword is finished!<br>
I can feel its power! Can't you feel it calling to the power of the Spirit?<br>
Besides Shalin Heal, <font color="LEVEL">a powerful attack skill called Shalin Strike</font> has been added. <br>
I am sure you can now stabilize the energy of confusion in this place. Go quickly!
</body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Temple Inspector:<br>
Take this newly-strengthed Sprite's Sword and restore peace in this temple!
<html><body>Temple Inspector:<br>
Take this newly-strengthed Spirit's Sword and restore peace in this temple!
</body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Inspector Adler:<br>
It is time for you to use the Scroll of Escape I gave you.
<html><body>Investigator Adler:<br>
It is time for you to use the Scroll of Escape I gave you.
</body></html>

View File

@@ -1,6 +1,17 @@
<html><body>Inspector Adler:<br>
The Spirite's power is flowing smoothly. You have certainly justfield my trust in you!<br>
Thanks to you, we are rapidy restoring stability. Of course, that means the dimensional portal that connects your world to ours is also quickly closing.<br>
Hurry and take my hand! That sword belongs to this dimension, so you'd best leave it behind. Ah, I can see you'd rather keep it -- but such a powerful item may desrupt travel between dimensions!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 32510-02.htm">Take his hand.</Button>
<html><body>Inspector Adler:<br>
It seems I chose wisely when I asked you to take on this task. The power levels here are stabilizing. <br>
Thanks to you, the connection between our world and this other dimension is fading!<br>
Here, take my hand! And leave that sword behind! It belongs to this dimension and will block us from returning! You can have one of these fine weapons to replace it. Choose whichever you'd like, but hurry!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 226">Cursed Dagger</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 160">Battle Axe</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 72">StormBringer</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 232">Dark Elven Dagger</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 192">Crystal Staff</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 194">Heavy Doom Axe</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 263">Chakram</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 193">Stick of Faith</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 173">Skull Graver</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 281">Crystallized Ice Bow</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 298">Orcish Glaive</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00128_PailakaSongOfIceAndFire 71">Flamberge</Button>
</body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Inspector Adler:<br>
Please accept this Scroll of Escape. Its power will allow you to safely return to your world.
<html><body>Investigator Adler:<br>
A fine choice. Use it well. Also, take this Scroll of Escape. It should take you back to where you came from.
</body></html>

View File

@@ -1,362 +1,384 @@
/*
* 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.Q00128_PailakaSongOfIceAndFire;
import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.instancemanager.InstanceManager;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.entity.Instance;
import com.l2jmobius.gameserver.model.holders.SkillHolder;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
/**
* Pailaka - Song of Ice and Fire (128)
* @author Gnacik, St3eT
*/
public final class Q00128_PailakaSongOfIceAndFire extends Quest
{
// NPCs
private static final int ADLER1 = 32497;
private static final int ADLER2 = 32510;
private static final int SINAI = 32500;
private static final int INSPECTOR = 32507;
private static final int HILLAS = 18610;
private static final int PAPION = 18609;
private static final int KINSUS = 18608;
private static final int GARGOS = 18607;
private static final int ADIANTUM = 18620;
// Items
private static final int SWORD = 13034;
private static final int ENH_SWORD1 = 13035;
private static final int ENH_SWORD2 = 13036;
private static final int BOOK1 = 13130;
private static final int BOOK2 = 13131;
private static final int BOOK3 = 13132;
private static final int BOOK4 = 13133;
private static final int BOOK5 = 13134;
private static final int BOOK6 = 13135;
private static final int BOOK7 = 13136;
private static final int WATER_ESSENCE = 13038;
private static final int FIRE_ESSENCE = 13039;
private static final int SHIELD_POTION = 13032;
private static final int HEAL_POTION = 13033;
private static final int FIRE_ENHANCER = 13040;
private static final int WATER_ENHANCER = 13041;
private static final int[] REWARDS =
{
13294, // Pailaka Ring
13293, // Pailaka Earring
736, // Scroll of Escape
};
// Skills
private static SkillHolder VITALITY_REPLENISHING = new SkillHolder(5774, 1);
// Misc
private static final int MIN_LEVEL = 36;
private static final int MAX_LEVEL = 42;
private static final int EXIT_TIME = 5;
public Q00128_PailakaSongOfIceAndFire()
{
super(128, Q00128_PailakaSongOfIceAndFire.class.getSimpleName(), "Pailaka - Song of Ice and Fire");
addStartNpc(ADLER1);
addTalkId(ADLER1, ADLER2, SINAI, INSPECTOR);
addKillId(HILLAS, PAPION, KINSUS, GARGOS, ADIANTUM);
registerQuestItems(SWORD, ENH_SWORD1, ENH_SWORD2, BOOK1, BOOK2, BOOK3, BOOK4, BOOK5, BOOK6, BOOK7, WATER_ESSENCE, FIRE_ESSENCE, SHIELD_POTION, HEAL_POTION, FIRE_ENHANCER, WATER_ENHANCER);
}
@Override
public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
switch (event)
{
case "32500-02.htm":
case "32500-03.htm":
case "32500-04.htm":
case "32500-05.htm":
case "32497-02.htm":
case "32507-07.htm":
case "32497-04.htm":
{
htmltext = event;
break;
}
case "32497-03.htm":
{
if (!qs.isStarted())
{
qs.startQuest();
htmltext = event;
}
break;
}
case "32500-06.htm":
{
if (qs.isCond(1))
{
qs.setCond(2, true);
giveItems(player, SWORD, 1);
giveItems(player, BOOK1, 1);
htmltext = event;
}
break;
}
case "32507-04.htm":
{
if (qs.isCond(3))
{
qs.setCond(4, true);
takeItems(player, SWORD, -1);
takeItems(player, WATER_ESSENCE, -1);
takeItems(player, BOOK2, -1);
giveItems(player, BOOK3, 1);
giveItems(player, ENH_SWORD1, 1);
htmltext = event;
}
break;
}
case "32507-08.htm":
{
if (qs.isCond(6))
{
qs.setCond(7, true);
takeItems(player, ENH_SWORD1, -1);
takeItems(player, BOOK5, -1);
takeItems(player, FIRE_ESSENCE, -1);
giveItems(player, ENH_SWORD2, 1);
giveItems(player, BOOK6, 1);
htmltext = event;
}
break;
}
case "32510-02.htm":
{
qs.exitQuest(false, true);
final Instance inst = InstanceManager.getInstance().getInstance(npc.getInstanceId());
inst.setDuration(EXIT_TIME * 60000);
inst.setEmptyDestroyTime(0);
if (inst.containsPlayer(player.getObjectId()))
{
npc.setTarget(player);
npc.doCast(VITALITY_REPLENISHING.getSkill());
addExpAndSp(player, 810000, 50000);
for (int id : REWARDS)
{
giveItems(player, id, 1);
}
}
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public final String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
switch (npc.getId())
{
case ADLER1:
{
switch (qs.getState())
{
case State.CREATED:
{
if (player.getLevel() < MIN_LEVEL)
{
htmltext = "32497-05.htm";
}
else if (player.getLevel() > MAX_LEVEL)
{
htmltext = "32497-06.htm";
}
else
{
htmltext = "32497-01.htm";
}
break;
}
case State.STARTED:
{
htmltext = qs.getCond() > 1 ? "32497-00.htm" : "32497-03.htm";
break;
}
case State.COMPLETED:
{
htmltext = "32497-07.htm";
break;
}
default:
{
htmltext = "32497-01.htm";
break;
}
}
break;
}
case SINAI:
{
htmltext = qs.getCond() > 1 ? "32500-00.htm" : "32500-01.htm";
break;
}
case INSPECTOR:
{
switch (qs.getCond())
{
case 1:
{
htmltext = "32507-01.htm";
break;
}
case 2:
{
htmltext = "32507-02.htm";
break;
}
case 3:
{
htmltext = "32507-03.htm";
break;
}
case 4:
case 5:
{
htmltext = "32507-05.htm";
break;
}
case 6:
{
htmltext = "32507-06.htm";
break;
}
default:
{
htmltext = "32507-09.htm";
break;
}
}
break;
}
case ADLER2:
{
if (qs.isCompleted())
{
htmltext = "32510-00.htm";
}
else if (qs.isCond(9))
{
htmltext = "32510-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 HILLAS:
{
if (qs.isCond(2))
{
qs.setCond(3);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK1, -1);
giveItems(player, BOOK2, 1);
giveItems(player, WATER_ESSENCE, 1);
}
addSpawn(PAPION, -53903, 181484, -4555, 30456, false, 0, false, npc.getInstanceId());
break;
}
case PAPION:
{
if (qs.isCond(4))
{
qs.setCond(5);
takeItems(player, BOOK3, -1);
giveItems(player, BOOK4, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
addSpawn(KINSUS, -61415, 181418, -4818, 63852, false, 0, false, npc.getInstanceId());
break;
}
case KINSUS:
{
if (qs.isCond(5))
{
qs.setCond(6);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK4, -1);
giveItems(player, BOOK5, 1);
giveItems(player, FIRE_ESSENCE, 1);
}
addSpawn(GARGOS, -61354, 183624, -4821, 63613, false, 0, false, npc.getInstanceId());
break;
}
case GARGOS:
{
if (qs.isCond(7))
{
qs.setCond(8);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK6, -1);
giveItems(player, BOOK7, 1);
}
addSpawn(ADIANTUM, -53297, 185027, -4617, 1512, false, 0, false, npc.getInstanceId());
break;
}
case ADIANTUM:
{
if (qs.isCond(8))
{
qs.setCond(9);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
takeItems(player, BOOK7, -1);
addSpawn(ADLER2, -53297, 185027, -4617, 33486, false, 0, false, npc.getInstanceId());
}
break;
}
}
}
return super.onKill(npc, player, isSummon);
}
/*
* 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.Q00128_PailakaSongOfIceAndFire;
import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.EventType;
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerPressTutorialMark;
import com.l2jmobius.gameserver.model.instancezone.Instance;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
import com.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
import com.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
/**
* Pailaka - Song of Ice and Fire (128)
* @author Gnacik, St3eT
*/
public final class Q00128_PailakaSongOfIceAndFire extends Quest
{
// NPCs
private static final int ADLER1 = 32497;
private static final int ADLER2 = 32510;
private static final int SINAI = 32500;
private static final int INSPECTOR = 32507;
private static final int HILLAS = 18610;
private static final int PAPION = 18609;
private static final int KINSUS = 18608;
private static final int GARGOS = 18607;
private static final int ADIANTUM = 18620;
// Items
private static final int SWORD = 13034;
private static final int ENH_SWORD1 = 13035;
private static final int ENH_SWORD2 = 13036;
private static final int BOOK1 = 13130;
private static final int BOOK2 = 13131;
private static final int BOOK3 = 13132;
private static final int BOOK4 = 13133;
private static final int BOOK5 = 13134;
private static final int BOOK6 = 13135;
private static final int BOOK7 = 13136;
private static final int WATER_ESSENCE = 13038;
private static final int FIRE_ESSENCE = 13039;
private static final int SHIELD_POTION = 13032;
private static final int HEAL_POTION = 13033;
private static final int FIRE_ENHANCER = 13040;
private static final int WATER_ENHANCER = 13041;
private static final int SCROLL_OF_ESCAPE = 736;
// Misc
private static final int MIN_LEVEL = 49;
private static final int MAX_LEVEL = 55;
public Q00128_PailakaSongOfIceAndFire()
{
super(128);
addStartNpc(ADLER1);
addTalkId(ADLER1, ADLER2, SINAI, INSPECTOR);
addKillId(HILLAS, PAPION, KINSUS, GARGOS, ADIANTUM);
registerQuestItems(SWORD, ENH_SWORD1, ENH_SWORD2, BOOK1, BOOK2, BOOK3, BOOK4, BOOK5, BOOK6, BOOK7, WATER_ESSENCE, FIRE_ESSENCE, SHIELD_POTION, HEAL_POTION, FIRE_ENHANCER, WATER_ENHANCER);
addCondMinLevel(MIN_LEVEL, "32497-05.htm");
addCondMaxLevel(MAX_LEVEL, "32497-06.htm");
}
@Override
public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = null;
final QuestState st = getQuestState(player, false);
if (st == null)
{
return getNoQuestMsg(player);
}
switch (event)
{
case "32500-02.htm":
case "32500-03.htm":
case "32500-04.htm":
case "32500-05.htm":
case "32497-02.htm":
case "32507-07.htm":
case "32497-04.htm":
{
htmltext = event;
break;
}
case "32497-03.htm":
{
if (!st.isStarted())
{
st.startQuest();
htmltext = event;
}
break;
}
case "32500-06.htm":
{
if (st.isCond(1))
{
st.setCond(2, true);
giveItems(player, SWORD, 1);
giveItems(player, BOOK1, 1);
htmltext = event;
}
break;
}
case "32507-04.htm":
{
if (st.isCond(3))
{
st.setCond(4, true);
takeItems(player, SWORD, -1);
takeItems(player, WATER_ESSENCE, -1);
takeItems(player, BOOK2, -1);
giveItems(player, BOOK3, 1);
giveItems(player, ENH_SWORD1, 1);
htmltext = event;
}
break;
}
case "32507-08.htm":
{
if (st.isCond(6))
{
st.setCond(7, true);
takeItems(player, ENH_SWORD1, -1);
takeItems(player, BOOK5, -1);
takeItems(player, FIRE_ESSENCE, -1);
giveItems(player, ENH_SWORD2, 1);
giveItems(player, BOOK6, 1);
htmltext = event;
}
break;
}
case "226": // Cursed Dagger
case "160": // Battle Axe
case "72": // StormBringer
case "232": // Dark Elven Dagger
case "192": // Crystal Staff
case "194": // Heavy Doom Axe
case "263": // Chakram
case "193": // Stick of Faith
case "173": // Skill Graver
case "281": // Crystallized Ice Bow
case "298": // Orcish Glaive
case "71": // Flamberge
{
final Instance inst = npc.getInstanceWorld();
if (inst != null)
{
inst.finishInstance();
}
st.exitQuest(false, true);
giveAdena(player, 187200, true);
giveItems(player, Integer.parseInt(event), 1);
giveItems(player, SCROLL_OF_ESCAPE, 1);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 1_860_000, 446);
}
htmltext = "32510-02.htm";
break;
}
}
return htmltext;
}
@Override
public final String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
{
return htmltext;
}
switch (npc.getId())
{
case ADLER1:
{
switch (st.getState())
{
case State.CREATED:
{
htmltext = "32497-01.htm";
break;
}
case State.STARTED:
{
htmltext = (st.getCond() > 1) ? "32497-00.htm" : "32497-03.htm";
break;
}
case State.COMPLETED:
{
htmltext = "32497-07.htm";
break;
}
default:
{
htmltext = "32497-01.htm";
break;
}
}
break;
}
case SINAI:
{
htmltext = (st.getCond() > 1) ? "32500-00.htm" : "32500-01.htm";
break;
}
case INSPECTOR:
{
switch (st.getCond())
{
case 1:
{
htmltext = "32507-01.htm";
break;
}
case 2:
{
htmltext = "32507-02.htm";
break;
}
case 3:
{
htmltext = "32507-03.htm";
break;
}
case 4:
case 5:
{
htmltext = "32507-05.htm";
break;
}
case 6:
{
htmltext = "32507-06.htm";
break;
}
default:
{
htmltext = "32507-09.htm";
break;
}
}
break;
}
case ADLER2:
{
if (st.isCompleted())
{
htmltext = "32510-00.htm";
}
else if (st.isCond(9))
{
htmltext = "32510-01.htm";
}
break;
}
}
return htmltext;
}
@Override
public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
final QuestState st = getQuestState(player, false);
if ((st != null) && st.isStarted())
{
switch (npc.getId())
{
case HILLAS:
{
if (st.isCond(2))
{
st.setCond(3);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK1, -1);
giveItems(player, BOOK2, 1);
giveItems(player, WATER_ESSENCE, 1);
}
addSpawn(PAPION, -53903, 181484, -4555, 30456, false, 0, false, npc.getInstanceId());
break;
}
case PAPION:
{
if (st.isCond(4))
{
st.setCond(5);
takeItems(player, BOOK3, -1);
giveItems(player, BOOK4, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
addSpawn(KINSUS, -61415, 181418, -4818, 63852, false, 0, false, npc.getInstanceId());
break;
}
case KINSUS:
{
if (st.isCond(5))
{
st.setCond(6);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK4, -1);
giveItems(player, BOOK5, 1);
giveItems(player, FIRE_ESSENCE, 1);
}
addSpawn(GARGOS, -61354, 183624, -4821, 63613, false, 0, false, npc.getInstanceId());
break;
}
case GARGOS:
{
if (st.isCond(7))
{
st.setCond(8);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK6, -1);
giveItems(player, BOOK7, 1);
}
addSpawn(ADIANTUM, -53297, 185027, -4617, 1512, false, 0, false, npc.getInstanceId());
break;
}
case ADIANTUM:
{
if (st.isCond(8))
{
st.setCond(9);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
takeItems(player, BOOK7, -1);
addSpawn(ADLER2, -53297, 185027, -4617, 33486, false, 0, false, npc.getInstanceId());
}
break;
}
}
}
return super.onKill(npc, player, isSummon);
}
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{
final L2PcInstance player = event.getActiveChar();
final int oldLevel = event.getOldLevel();
final int newLevel = event.getNewLevel();
if ((oldLevel < newLevel) && (newLevel == MIN_LEVEL))
{
player.sendPacket(new TutorialShowQuestionMark(getId()));
}
}
@RegisterEvent(EventType.ON_PLAYER_PRESS_TUTORIAL_MARK)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event)
{
if (event.getMarkId() == getId())
{
final L2PcInstance player = event.getActiveChar();
player.sendPacket(new TutorialShowHtml(getHtm(player.getHtmlPrefix(), "popup.html")));
}
}
}

View File

@@ -0,0 +1,5 @@
<html><body>
In a deep sleep, you saw the Forgotten Temple engulfed by chaos.<br>
To defeat this dark power, Pailaka, seek Inspector Adler in front of Gludin Temple.
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h tutorial_close">Cancel</Button>
</body></html>