Various quest contributions.
Contributed by gigilo1968.
This commit is contained in:
@@ -1,19 +1,5 @@
|
||||
149 Primal Mother, Istina
|
||||
150 Extreme Challenge: Primal Mother Resurrected
|
||||
180 Infernal Flames Burning in Crystal Prison
|
||||
181 Devils Strike Back, Advent of Balok
|
||||
245 Come to Me
|
||||
459 The Villain of the Underground Mine, Teredor
|
||||
460 Precious Research Material
|
||||
462 Stuffed Ancient Heroes
|
||||
465 We Are Friends
|
||||
469 Suspicious Gardener
|
||||
471 Breaking through the Emerald Square
|
||||
472 Challenge, Steam Corridor
|
||||
473 In the Coral Garden
|
||||
482 Recertification of Value
|
||||
483 Intended Tactic
|
||||
491 In Nomine Patris
|
||||
504 Competition for the Bandit Stronghold
|
||||
655 A Grand Plan for Taming Wild Beasts
|
||||
744 The Alligator Hunter returns
|
||||
@@ -22,26 +8,15 @@
|
||||
747 Defending the Forsaken Plains
|
||||
748 Endless Revenge
|
||||
750 Seven Flowers
|
||||
751 Liberating the Spirits
|
||||
752 Uncover the Secret
|
||||
753 Reacting to a Crisis
|
||||
758 The Fallen King's Men
|
||||
759 The Dwarven Nightmare Continues
|
||||
766 10-day Adventure
|
||||
773 To Calm the Flood
|
||||
774 Dreaming of peace
|
||||
775 Retrieving the Chaos Fragment
|
||||
776 Slay Dark Lord Ekimus
|
||||
777 Slay Dark Lord Tiat
|
||||
778 Operation Roaring Flame
|
||||
779 Utilize the Darkness - Seed of Destruction
|
||||
780 Utilize the Darkness - Seed of Infinity
|
||||
781 Utilize the Darkness - Seed of Annihilation
|
||||
782 Utilize the Darkness - Seed of Hellfire
|
||||
783 Vestige of the Magic Power
|
||||
787 The Role of a Watcher
|
||||
789 Waiting for Pa'agrio
|
||||
790 Obtaining Ferin's Trust
|
||||
792 The Superion Giants
|
||||
800 Hunter Guild Request - Altar of Evil
|
||||
801 Hunter Guild Request - Gludio Territory
|
||||
@@ -56,8 +31,6 @@
|
||||
810 Hunter Guild Request - Isle of Souls
|
||||
811 Hunter Guild Request - Cemetery
|
||||
816 Plans to Repair the Stronghold
|
||||
817 Black Atelia Research
|
||||
823 Disappeared Race, New Fairy
|
||||
824 Attack the Command Post
|
||||
825 Hunter Guild Request - Valley of Saints
|
||||
826 In Search of the Secret Weapon
|
||||
@@ -100,35 +73,13 @@
|
||||
938 The Fisherman's Other Hobby
|
||||
940 Hunter Guild Request - Atelia Fortress
|
||||
10298 Wasteland Queen
|
||||
10303 Crossroads between Light and Darkness
|
||||
10304 For the Forgotten Heroes
|
||||
10307 The Corrupted Leader: His Truth
|
||||
10311 Peaceful Days are Over
|
||||
10312 Abandoned God's Creature
|
||||
10315 To the Prison of Darkness
|
||||
10316 Undecaying Memory of the Past
|
||||
10353 Certification of Value
|
||||
10357 Altar of Blood that Awakens Destruction
|
||||
10370 Menacing Times
|
||||
10371 Grasp Thy Power
|
||||
10372 Purgatory Volvere
|
||||
10373 Exploring the Dimension - Sealing the Dimension
|
||||
10374 That Place Succubus
|
||||
10375 Succubus Disciples
|
||||
10376 Bloody Good Time
|
||||
10378 Weeding Work
|
||||
10380 The Executioner's Execution
|
||||
10388 Conspiracy Behind Doors
|
||||
10389 The Voice of Authority
|
||||
10396 Witch of Spores
|
||||
10407 Let's Go Fishing
|
||||
10418 The Immortal Pirate King
|
||||
10446 Hit and Run
|
||||
10447 Timing is Everything
|
||||
10452 Is it Edible?
|
||||
10456 Operation: Rescue
|
||||
10457 Kefensis' Illusion
|
||||
10462 Temper a Rusting Blade
|
||||
10506 Diana's Request
|
||||
10521 Queen Navari's Letter: Varka Silenos Barracks Achieve Level 76
|
||||
10522 The Dark Secret of Varka Silenos Reveal the dark secret
|
||||
@@ -146,24 +97,13 @@
|
||||
10538 Giant's Evolution Cause of failed evolution
|
||||
10539 Energy Supply Cutoff Plan Defeat Halisha's Henchman
|
||||
10540 Thwarting Mimir's Plan Defeating Mimir
|
||||
10541 Train Like the Real Thing Use Your Weapon
|
||||
10542 Searching for New Power Preparing for real combat
|
||||
10543 Shedding Weight A lighter body
|
||||
10544 Seeker Supplies To the Grocer
|
||||
10658 Makkum in the Dimension Dimensional Makkum
|
||||
10703 Bottle of Istina's Soul
|
||||
10704 Bottle of Octavis' Soul
|
||||
10705 Bottle of Tauti's Soul
|
||||
10712 The Minstrel's Song, Part 1
|
||||
10717 The Minstrel's Song, Part 2
|
||||
10720 The Minstrel's Song, Part 3
|
||||
10723 The Minstrel's Song, Part 4
|
||||
10726 The Minstrel's Song, Part 5
|
||||
10731 The Minstrel's Song, Part 6
|
||||
10748 Mysterious Suggestion - 1
|
||||
10749 Mysterious Suggestion - 2
|
||||
10796 The Eye that Defied the Gods
|
||||
10797 Crossing Fate
|
||||
10801 The Dimensional Warp, Part 1
|
||||
10802 The Dimensional Warp, Part 2
|
||||
10803 The Dimensional Warp, Part 3
|
||||
|
7
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-00.htm
vendored
Normal file
7
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-00.htm
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
Isthina, Mrs. Seed of Annihilation - such a terrible demon that even among assistants
|
||||
Shilen these can be counted on the fingers. To cope with such a demon,
|
||||
need not sacrifice, empty and meaningless, and careful preparation.
|
||||
You're still not ready for this.<br>
|
||||
(This quest is available after reaching level 90.)
|
||||
</body></html>
|
9
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-01.htm
vendored
Normal file
9
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-01.htm
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
Finally, in the Seeds of Evil were observed spatial fluctuations.
|
||||
And I have a vague idea of ​​how it all began.
|
||||
Seeds of Destruction will return to the world of instincts and primitivism, when he wakes up
|
||||
their true master. The essence of it is not yet known to us. If all goes
|
||||
still, we lose all hope. <br>
|
||||
Isthina ... Necessarily have to destroy the monster that controls the Seed of Annihilation.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00149_PrimalMotherIstina 33293-02.htm">Ask about Isthine</button>
|
||||
</body></html>
|
10
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-02.htm
vendored
Normal file
10
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-02.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
Return to Life of the Goddess of Death, Shilen - the biggest threat to all life in this world,
|
||||
and the Seed of Annihilation is no exception. Hostess Seed of Annihilation - Isthina,
|
||||
one of the Apostles Elder, symbolizing the primitive and decline.
|
||||
Because of the return of Elder Isthina even awakened her awakening strongly
|
||||
affected area Seeds. If you do not defeat these demons, you can not
|
||||
will ensure not only the strength of our position in Graz, but
|
||||
security of the whole world, is not it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00149_PrimalMotherIstina 33293-03.htm">Listen more</button>
|
||||
</body></html>
|
8
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-03.htm
vendored
Normal file
8
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-03.htm
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
Symbols Isthiny - primitive and intemperance. If hovering her power
|
||||
over the world, then by all the countries will be fruitful mad terrible monsters.
|
||||
And by the will of Shilen monsters will attack civilians. It remains to
|
||||
only plead the mighty intrepid travelers about them to stop Isthinu.<br>
|
||||
I can turn to you to destroy Isthinu?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00149_PrimalMotherIstina 33293-04.htm">Agree</button>
|
||||
</body></html>
|
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-04.htm
vendored
Normal file
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-04.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
How nice that you have decided on it! However, you are alone for nothing
|
||||
not cope with this huge demon. Be able to resist it,
|
||||
Only having trained together with experienced teammates. Please
|
||||
destroy Isthinu and bring me the Signs of Shilen.
|
||||
</body></html>
|
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-05.html
vendored
Normal file
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-05.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
How nice that you have decided on it! However, you are not alone for
|
||||
not cope with this huge demon. Be able to resist it,
|
||||
Only having trained together with experienced teammates. Please
|
||||
destroy Isthinu and bring me the Signs of Shilen.
|
||||
</body></html>
|
11
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-06.html
vendored
Normal file
11
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-06.html
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
Thank the gods ... Falling Isthiny very inspired us. Everything, everything
|
||||
thanks to you! Thank you! We inflict a final defeat gangs Shilen
|
||||
Seeds of Destruction attack.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00149_PrimalMotherIstina reward_9546">15 Fire Stones</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00149_PrimalMotherIstina reward_9547">15 Water Stones</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00149_PrimalMotherIstina reward_9548">15 Earth Stones</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00149_PrimalMotherIstina reward_9549">15 Wind Stones</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00149_PrimalMotherIstina reward_9550">15 Dark Stones</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00149_PrimalMotherIstina reward_9551">15 Holy Stones</Button>
|
||||
</body></html>
|
8
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-07.html
vendored
Normal file
8
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-07.html
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
Hopefully, the demon done? We are so happy ...
|
||||
For us is very important your help in eliminating Isthiny,
|
||||
which had a considerable weight of 9 Apostles Elder.<br>
|
||||
All thanks to you all! Thank you! We inflict a final defeat gangs Shilen
|
||||
Seeds of Destruction attack. We must not forget about the debt.<br>
|
||||
It's not too useful subject, but I hope it is useful to you.
|
||||
</body></html>
|
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Complete.html
vendored
Normal file
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Complete.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
Lair of the Demon, having lost the host, will be thrown into chaos.
|
||||
We still have hope. Even the opportunity to talk about it is at
|
||||
us due to your merit. Thank you very much!<br>
|
||||
(Quest has been completed.)
|
||||
</body></html>
|
@@ -0,0 +1,158 @@
|
||||
/*
|
||||
* 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.Q00149_PrimalMotherIstina;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Primal Mother, Istina (149)
|
||||
* @URL https://l2wiki.com/Primal_Mother,_Istina
|
||||
* @author Gigi
|
||||
*/
|
||||
public final class Q00149_PrimalMotherIstina extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int RUMIESE = 33293;
|
||||
private static final int ISTHINA_NORMAL = 29195;
|
||||
// Item
|
||||
private static final int SHILENS_MARK = 17589;
|
||||
private static final int ISTHINA_BRACELET = 19455;
|
||||
private static final int EAR = 17527;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 90;
|
||||
|
||||
public Q00149_PrimalMotherIstina()
|
||||
{
|
||||
super(149);
|
||||
addStartNpc(RUMIESE);
|
||||
addTalkId(RUMIESE);
|
||||
addKillId(ISTHINA_NORMAL);
|
||||
addCondMinLevel(MIN_LEVEL, "33293-00.htm");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "33293-02.htm":
|
||||
case "33293-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33293-04.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "reward_9546":
|
||||
case "reward_9547":
|
||||
case "reward_9548":
|
||||
case "reward_9549":
|
||||
case "reward_9550":
|
||||
case "reward_9551":
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(player, SHILENS_MARK) >= 1))
|
||||
{
|
||||
final int stoneId = Integer.parseInt(event.replaceAll("reward_", ""));
|
||||
takeItems(player, SHILENS_MARK, 1);
|
||||
addExpAndSp(player, 833065000, 199935);
|
||||
giveItems(player, ISTHINA_BRACELET, 1);
|
||||
giveItems(player, EAR, 10);
|
||||
giveItems(player, stoneId, 15);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
htmltext = "33293-07.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
final int npcId = npc.getId();
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (npcId == RUMIESE)
|
||||
{
|
||||
htmltext = "33293-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33293-05.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "33293-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = "Complete.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(player, npc, isSummon, true, false);
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
|
||||
{
|
||||
giveItems(player, SHILENS_MARK, 1);
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
Isthina, lady of Seeds of Annihilation - such a terrible demon,
|
||||
that even among these assistants of Shilen can be counted on the fingers.
|
||||
To cope with such a demon, you need not sacrifice, empty and meaningless,
|
||||
and careful preparation. You're still not ready for this.<br>
|
||||
(This quest is available after the 97-level and performance)
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
This is indeed serious. We hope that you and his comrades had thrown Isthinu,
|
||||
Turning the tide of the war ... But in fact, it was not as easy as in words.
|
||||
Elder Isthinu again revived. Not only that, she has become even stronger.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00150_ExtremeChallengePrimalMotherResurrected 33293-02.htm">Ask about the resurrected Isthine</button>
|
||||
</body></html>
|
@@ -0,0 +1,9 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
I think we underestimated the forces of Shilen and her demons. Elder forces that
|
||||
finally about to wake up, too high even in its current state.
|
||||
It enormously strong, despite the fact that not fully awakened.
|
||||
Elder resurrected killed you Isthinu and caused her here. And it was a demon
|
||||
even stronger! We would have groaned in despair if it were not for you. After all, you already
|
||||
battled the demon and killed him, did not you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00150_ExtremeChallengePrimalMotherResurrected 33293-03.htm">Learn more</button>
|
||||
</body></html>
|
@@ -0,0 +1,9 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
I have heard of such cases before. For example, a case
|
||||
when appearing on the continent of Aden Snow Queen Freya was also
|
||||
defeated, but then resurrected, and her strength increased. From there Isthinoy
|
||||
same. In any case, no matter how foolish this may appear to act
|
||||
it is necessary to challenge it, but it can only make you with their brave comrades.<br>
|
||||
I can turn to you to destroy the revitalized Isthinu?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00150_ExtremeChallengePrimalMotherResurrected 33293-04.htm">Agree</button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
How nice that you have decided on it! However, you are not alone for
|
||||
not cope with this huge demon. be able to withstand
|
||||
her only having trained together with experienced teammates.
|
||||
I ask you to destroy and bring me Isthinu Signs of Shilen.
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
How nice that you have decided on it! However, you are not alone for
|
||||
not cope with this huge demon. be able to withstand
|
||||
her only having trained together with experienced teammates.
|
||||
I ask you to destroy Isthinu and bring me Signs of Shilen.
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
Thank the gods ... Falling Isthiny very inspired us. Thank you! We also plotted
|
||||
final defeat for Shieln gangs attacking the seeds of destruction.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00150_ExtremeChallengePrimalMotherResurrected 33293-07.html">We did everything possible</button>
|
||||
</body></html>
|
@@ -0,0 +1,8 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
Hopefully, the demon done? We are so happy ... We care
|
||||
Your help is crucial in eliminating Isthiny, which had a significant
|
||||
weight of 9 Apostles Elder. All thanks to you all! Thank you! we also
|
||||
inflict a final defeat gangs Elder, attacking seeds of destruction.
|
||||
We must not forget about the debt.<br>
|
||||
It's not too useful subject, but I hope it is useful to you.
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><head>The officer Limier:<br>
|
||||
I do not know how far the power of Shilen, but we seem to have done everything
|
||||
they could. I admire your courage. Thank you very much!<br>
|
||||
(Quest has been completed.)
|
||||
</body></html>
|
@@ -0,0 +1,148 @@
|
||||
/*
|
||||
* 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.Q00150_ExtremeChallengePrimalMotherResurrected;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Extreme Challenge: Primal Mother Resurrected (150)
|
||||
* @URL https://l2wiki.com/Extreme_Challenge:_Primal_Mother_Resurrected
|
||||
* @author Gigi
|
||||
*/
|
||||
public final class Q00150_ExtremeChallengePrimalMotherResurrected extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int RUMIESE = 33293;
|
||||
private static final int ISTHINA_EXTRIM = 29196;
|
||||
// Item
|
||||
private static final int SHILENS_MARK = 17589;
|
||||
private static final int BOTTLE_OF_ISTHINAS_SOUL = 34883;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 97;
|
||||
|
||||
public Q00150_ExtremeChallengePrimalMotherResurrected()
|
||||
{
|
||||
super(150);
|
||||
addStartNpc(RUMIESE);
|
||||
addTalkId(RUMIESE);
|
||||
addKillId(ISTHINA_EXTRIM);
|
||||
addCondMinLevel(MIN_LEVEL, "33293-00.htm");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "33293-02.htm":
|
||||
case "33293-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33293-04.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33293-07.html":
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(player, SHILENS_MARK) >= 1))
|
||||
{
|
||||
takeItems(player, SHILENS_MARK, 1);
|
||||
giveItems(player, BOTTLE_OF_ISTHINAS_SOUL, 1);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
final int npcId = npc.getId();
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (npcId == RUMIESE)
|
||||
{
|
||||
htmltext = "33293-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33293-05.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "33293-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = "Complete.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(player, npc, isSummon, true, false);
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
|
||||
{
|
||||
giveItems(player, SHILENS_MARK, 1);
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
The danger posed by Shilen, gradually approaching. If the Queen of Death wake up, I can not imagine to what tip the chaos of this world. And the stronger the influence of Shilen, the stronger her children, dragons. Amid the chaos, the Crystal Maze began to appear powerful demons. I do not know what they are woven intrigue, but there is no reason to doubt that they need to stop.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00180_InfernalFlamesBurningInCrystalPrison 33044-04.htm">Ask about Demons</button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
The world is caught up in evil and cruelty. We have to constantly train and temper ourselves to survive. I see you are still not ready to fully prepared to meet whatever fate has prepared for you.<br>
|
||||
(This quest is available after the 97th level.)
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
We must guard against not only the Goddess of Death. Also represent a threat to "Children of Shilen" and the hordes of demons from hell present themselves here. Need your help is growing. Please do not forget about the development and cultivation.<br>
|
||||
(Quest is completed.)
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
The Crystal Maze is a kind of prison for those who came not to the liking of Fafurionu. There were these poor horrible torture. However, as we know, has long been Fafurion escaped from these places. Now, Maze became a haven for demons, which has caused Belef. Some of these demons, by the way, supports Shilen in its desire to destroy the world.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00180_InfernalFlamesBurningInCrystalPrison 33044-05.htm">Listen more</button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
Now Crystal Caverns is in the hands caused by demons and Belefom Baylor, who directs. I think they're trying to get by with Fafuriona Fanariona Gems, located in the depths of the Crystal Caverns. And demons and minions Shilen represent a huge threat to us, but if they can awaken Fanarion ... Oh, with this disaster, I think we will not cope. We must stop as soon as Baylor and his demons. Please help me.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00180_InfernalFlamesBurningInCrystalPrison 33044-06.html">Agree</button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Fioren:<br>
|
||||
I ask you to liquidate the Guardian Baylor, located in the depth of the Crystal Caverns, and then bring it to me signs. We will be able to release Parnas from the influence of demons only if the conduct of these signs cleansing ritual. Know the demon Baylor - not a weak opponent, so bring on the battle with him as much as possible allies.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Fioren:<br>
|
||||
I ask you to liquidate the Guardian Baylor, located in the depth of the Crystal Caverns, and then bring it to me signs. We will be able to release Parnas from the influence of demons only if the conduct of these signs cleansing ritual. Know the demon Baylor - not a weak opponent, so bring on the battle with him as much as possible allies.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
So, you came, killing Baylor, along with his henchmen. This is good. Now we clean up Parnassus, having brought by ritual on your characters. We mzgonim of these places are evil spirits and demons.<br>
|
||||
For his feats you deserve a reward. Here, take God be with you the blessing of Eve...
|
||||
</body></html>
|
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
* 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.Q00180_InfernalFlamesBurningInCrystalPrison;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* @author hlwrave
|
||||
* @URL https://l2wiki.com/Infernal_Flames_Burning_in_Crystal_Prison
|
||||
*/
|
||||
public class Q00180_InfernalFlamesBurningInCrystalPrison extends Quest
|
||||
{
|
||||
// Npc
|
||||
public static final int FIOREN = 33044;
|
||||
// Monster
|
||||
public static final int BAYLOR = 29213;
|
||||
// Misc
|
||||
public static final int MIN_LEVEL = 97;
|
||||
// Quest Item
|
||||
private static final int BELETH_MARK = 17591;
|
||||
// Item
|
||||
private static final int ENCHANT_SROLL_R = 22428;
|
||||
|
||||
public Q00180_InfernalFlamesBurningInCrystalPrison()
|
||||
{
|
||||
super(180);
|
||||
addStartNpc(FIOREN);
|
||||
addTalkId(FIOREN);
|
||||
registerQuestItems(BELETH_MARK);
|
||||
addKillId(BAYLOR);
|
||||
addCondMinLevel(MIN_LEVEL, "33044-02.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final String htmltext = event;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
|
||||
if ("33044-06.html".equals(event))
|
||||
{
|
||||
qs.startQuest();
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "33044-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33044-07.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
takeItems(player, BELETH_MARK, -1);
|
||||
giveItems(player, ENCHANT_SROLL_R, 1);
|
||||
addExpAndSp(player, 14000000, 6400000);
|
||||
qs.exitQuest(QuestType.ONE_TIME, true);
|
||||
htmltext = "33044-08.html";
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
{
|
||||
htmltext = "33044-03.html";
|
||||
}
|
||||
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && Util.checkIfInRange(1500, npc, player, false))
|
||||
{
|
||||
giveItems(player, BELETH_MARK, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(killer, npc, isSummon, true, false);
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
Situation became even more unfavorable. We believed that after the destruction of Baylor everything will be decided by itself…. However, new problem, it seems, arose. And consists it before the fact that the gem Of Fanarion concealed before the crystal labyrinth easily can pass beside the hands Of Beleth and its demons. If this happens, then it is necessary at the point of us tightly. Indeed Beleth - extremely powerful demon. However, first at the point of you one must battle not with it, but with its myrmidon.<br>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00181_DevilsStrikeBackAdventOfBalok 33044-04.htm">To ask about the new devil</button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
Peace of before the evil and the cruelty. Is necessary to be trained and to harden itself, in order to survive. You, I see, it is not still ready to fully armed meet everything that the fate prepared for you.<br>
|
||||
(This Quest is accessible after reaching 97 of level and fulfillment of Quest "Flame Hell in the Crystal Prison")
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
We must be warned not only the goddess of death. They also present threat "Children Of Shillen" and the horde of the demons, which appeared here from hell. The need at the point of your aid all grows. I please not to forget you about the development and the self-perfection.<br>
|
||||
(Quest is already completed.)
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
New demon they call Balok. It appeared before the labyrinth immediately after the loss Of Baylor. I, until now, reflect above the fact, who could call him. Certainly, most likely this made Beleth... However, that to sense to consider above this? One should as soon as possible get rid besides this Balok!<br>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00181_DevilsStrikeBackAdventOfBalok 33044-05.htm">To listen to further</button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Fioren:<br>
|
||||
Only you upset the plans Of Baylor, as appeared new threat before the person Of Balok. Unhappy Parnassus How much still the invasions of demons will be able it to survive?<br>
|
||||
Oh, great hero, whose might and bravery does not know boundaries… Can I turn down you with the request to destroy the demon Of Balok?<br>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00181_DevilsStrikeBackAdventOfBalok 33044-06.html">To agree</button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Fioren:<br>
|
||||
It is clear that Balok where is stronger and more dangerous than Baylor, with which you battled earlier. But I believe that for you there is nothing impossible. Indeed you already proved that you do not surrender under no circumstances. Well, then step. But I will meanwhile pray Eva about your victory. By the way After killing Balok, bring, I please, its sign.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Fioren:<br>
|
||||
It is clear that Balok where is stronger and more dangerous than Baylor, with which you battled earlier. But I believe that for you there is nothing impossible. Indeed you already proved that you do not surrender under no circumstances. Well, then step. But I will meanwhile pray Eva about your victory. By the way After killing Balok, bring, I please, its sign.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
I greatly worried about you. It does mean, you did destroy Balok and its demons?<br>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00181_DevilsStrikeBackAdventOfBalok reward">To describe about the destruction Of Balok</button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Fioren:<br>
|
||||
Thanks! Yes stores you Evan!
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
You selected the roll of the modification of the armors of rank R, 2 pieces. Here, take, if you please.<br1>
|
||||
Yes stores you Evan!
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
You selected sack with the amplifier of rank R, 2 pieces. Here, take, if you please.<br1>
|
||||
Yes stores you Evan!
|
||||
</body></html>
|
@@ -0,0 +1,156 @@
|
||||
/*
|
||||
* 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.Q00181_DevilsStrikeBackAdventOfBalok;
|
||||
|
||||
import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* @hlwrave
|
||||
* @URL https://l2wiki.com/Devils_Strike_Back,_Advent_of_Balok
|
||||
*/
|
||||
public class Q00181_DevilsStrikeBackAdventOfBalok extends Quest
|
||||
{
|
||||
// Npc
|
||||
private static final int FIOREN = 33044;
|
||||
// Monster
|
||||
private static final int BALOK = 29218;
|
||||
// Items
|
||||
private static final int CONTRACT = 17592;
|
||||
private static final int EAR = 17527;
|
||||
private static final int EWR = 17526;
|
||||
private static final int POUCH = 34861;
|
||||
// Misc
|
||||
public static final int MIN_LEVEL = 97;
|
||||
|
||||
public Q00181_DevilsStrikeBackAdventOfBalok()
|
||||
{
|
||||
super(181);
|
||||
addStartNpc(FIOREN);
|
||||
addTalkId(FIOREN);
|
||||
addKillId(BALOK);
|
||||
registerQuestItems(CONTRACT);
|
||||
addCondMinLevel(MIN_LEVEL, "33044-02.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final String htmltext = event;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "33044-06.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
break;
|
||||
}
|
||||
case "reward":
|
||||
{
|
||||
addExpAndSp(player, 886750000, 414855000);
|
||||
giveAdena(player, 37128000, true);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
qs.exitQuest(QuestType.ONE_TIME, true);
|
||||
switch (Rnd.get(2))
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
giveItems(player, EWR, 2);
|
||||
return "33044-09.html";
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
giveItems(player, EAR, 2);
|
||||
return "33044-10.html";
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
giveItems(player, POUCH, 2);
|
||||
return "33044-11.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case FIOREN:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "33044-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33044-07.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "33044-08.html";
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
{
|
||||
htmltext = "33044-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
|
||||
{
|
||||
giveItems(player, CONTRACT, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(killer, npc, isSummon, true, false);
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
What brings you to Schuttgart? Did you come to defeat Teredor?<br>
|
||||
(Only level 85+ characters may finish)</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
I'm guessing you heard about that really vicious one and came to talk to me about it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00459_TheVillainOfTheUndergroundMineTeredor 30535-02.htm">"Vicious one?"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
<font color="LEVEL">Teredor</font> keeps being sighted around the Dwarven town... They say he's some kind of Earth Wyrm, probably even related to that <font color="LEVEL">Trasken</font> monster who ruined the Dwarven tower. At least he isn't as strong as Trasken.<br>
|
||||
Still, his poison's potent enough that we had to close all mines, which is threatening a lot of people's livelihood.<br>
|
||||
That's not even our biggest problem.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00459_TheVillainOfTheUndergroundMineTeredor 30535-03.htm">"What's the bigger problem?"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
Oh, it's so bad it must be an <font color="LEVEL">Omen</font>.<br>
|
||||
Many years ago, the great <font color="LEVEL">King of Dwarves, Lucien</font>, defeated Trasken and sealed it away. However, now that the Goddess of destruction is growing stronger, many ancient things are starting to wake up, such as this Teredor.<br>
|
||||
I dread to think what will happen if it regains its full strength.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00459_TheVillainOfTheUndergroundMineTeredor 30535-04.htm">"Yeah, that sounds bad."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
The power of Shilen is closely linked to the power of death, and any deaths caused by these Earth Wyrms will only feed that.<br>
|
||||
Eventually, the Earth Wyrm will wake completely, and Aden will be flooded with these creations of Shilen.<br>
|
||||
Schuttgart will certainly fall, and perhaps Aden itself.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00459_TheVillainOfTheUndergroundMineTeredor 30535-05.htm">"Surely we can do something?"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
Well, it would mean a lot to catch <font color="LEVEL">Teredor</font>. It's just one part of thise whole process, but a vital part.<br>
|
||||
You can't defeat this monster alone, so <font color="LEVEL">gather allies and return to me when you're ready.</font>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
You can't defeat this monster alone, so <font color="LEVEL">gather allies and return to me when you're ready.</font>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
Did you defeat it? You look a bit battered, but not too bad, considering the task. Thankfully the evil energy seems to be calming down. Maybe that will weaken the Earth Wyrm.<br>
|
||||
You've done well. Please, take this as a reward, you earned it.<br>
|
||||
But, Shilen is still strong. So stick around, will you? Come back when you've rested. We can use all the help we can get.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
That Teredor creature will be quiet for a while now that we've weakened the Earth Wyrm.<br>
|
||||
(You can do this quest once a day. It resets each day at 6:30am.)
|
||||
</body></html>
|
@@ -0,0 +1,141 @@
|
||||
/*
|
||||
* 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.Q00459_TheVillainOfTheUndergroundMineTeredor;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
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.util.Util;
|
||||
|
||||
/**
|
||||
* The Villain of the Underground Mine, Teredor (459)
|
||||
* @URL https://l2wiki.com/The_Villain_of_the_Underground_Mine,_Teredor
|
||||
* @VIDEO http://www.dailymotion.com/video/x4hvrk2_quest-the-villain-of-the-underground-mine-teredor-infinity-odyssey_videogames
|
||||
* @author Gigi
|
||||
*/
|
||||
public class Q00459_TheVillainOfTheUndergroundMineTeredor extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int FILAUR = 30535;
|
||||
// Monster
|
||||
private static final int TEREDOR = 25785;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 85;
|
||||
private static final int PROOF_OF_FIDELITY = 19450;
|
||||
|
||||
public Q00459_TheVillainOfTheUndergroundMineTeredor()
|
||||
{
|
||||
super(459);
|
||||
addStartNpc(FILAUR);
|
||||
addTalkId(FILAUR);
|
||||
addKillId(TEREDOR);
|
||||
addCondMinLevel(MIN_LEVEL, "30535-00.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public 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 "30535-02.htm":
|
||||
case "30535-03.htm":
|
||||
case "30535-04.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30535-05.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "30535-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "30535-05.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
giveItems(player, PROOF_OF_FIDELITY, 6);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = "30535-07.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "Complete.html";
|
||||
}
|
||||
qs.setState(State.CREATED);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(killer, npc, isSummon, true, true);
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-01.htm
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-01.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
What's that you're holding?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00460_PreciousResearchMaterial 30535-02.htm">"I need to tell you about Amer."</Button>
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-02.htm
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-02.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
So Amer is dead, and you're delivering this?<br>
|
||||
You're a role model to all these promise-breakers who wander round as if they did nothing wrong. We'll forever remember Amer for keeping the promise to the <font color="LEVEL">Gray Pillar Guild</font>.<br>
|
||||
And, never fear, you will be getting a reward as well.</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Amer:<br>
|
||||
You need to collect all <font color="LEVEL">20</font> of the <font color="LEVEL">Teredor Egg Fragments</font> before you can make delivery! you need more!<br>
|
||||
</body></html>
|
@@ -0,0 +1,135 @@
|
||||
/*
|
||||
* 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.Q00460_PreciousResearchMaterial;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
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.util.Util;
|
||||
|
||||
/**
|
||||
* Precious Research Material (460)
|
||||
* @URL https://l2wiki.com/Precious_Research_Material
|
||||
* @author Gigi
|
||||
*/
|
||||
public class Q00460_PreciousResearchMaterial extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int AMER = 33092;
|
||||
private static final int FILAUR = 30535;
|
||||
// Monster
|
||||
private static final int EGG = 18997;
|
||||
// Item's
|
||||
private static final int PROOF_OF_FIDELITY = 19450; //
|
||||
private static final int TEREDOR_EGG_FRAGMENT = 17735;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 85;
|
||||
|
||||
public Q00460_PreciousResearchMaterial()
|
||||
{
|
||||
super(460);
|
||||
addStartNpc(AMER);
|
||||
addTalkId(AMER, FILAUR);
|
||||
addKillId(EGG);
|
||||
registerQuestItems(TEREDOR_EGG_FRAGMENT);
|
||||
addCondMinLevel(MIN_LEVEL, "30535-00.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public 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 "30535-02.htm":
|
||||
{
|
||||
giveItems(player, PROOF_OF_FIDELITY, 3);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case AMER:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
break;
|
||||
}
|
||||
qs.setState(State.CREATED);
|
||||
}
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "33092-01.htm";
|
||||
qs.isStarted();
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
htmltext = "33092-01.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case FILAUR:
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(player, TEREDOR_EGG_FRAGMENT) >= 20))
|
||||
{
|
||||
htmltext = "30535-01.htm";
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
|
||||
if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
|
||||
{
|
||||
if (giveItemRandomly(killer, EGG, 1, 20, 0.7, true))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00.htm
vendored
Normal file
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
Your life has not yet reached this page in your destiny.<br>
|
||||
Prepare yourself for the future, and glory will come to you.<br>
|
||||
(This quest can only be fulfilled by characters who have completed the Witch of Orbis quest, and who are level 95 or above.)
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00a.html
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00a.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
You completed your task well. You should rest for tomorrow's mission.<br>
|
||||
(This quest can be fulfilled only once per day. This quest timer resets at 6:30 a.m. everyday.)
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-01.htm
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-01.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
It is time for you to take up the mission that you were born for.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00462_StuffedAncientHeroes 32892-02.htm">"Oh?"</Button>
|
||||
</body></html>
|
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-02.htm
vendored
Normal file
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-02.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
This is where ancient heroes were put to rest, though the perpetuity of time degenerated their souls into something less, something pitiful. This weakness allowed <font color="LEVEL">Malevolent Power</font> to infiltrate and corrupt their souls.<br>
|
||||
Now, we need a pure, untainted power to combat the darkness that threatens to engulf our world. That, my child, is what brought me to you. You are that power.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00462_StuffedAncientHeroes 32892-03.htm">"I see."</Button>
|
||||
</body></html>
|
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-03.htm
vendored
Normal file
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-03.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
This is no coincidence. <br1>
|
||||
We've waited a long time for someone to break the eternal balance and bring peace to this place.<br>
|
||||
You must fight the lost heroes, remove their darkness from their souls, and set them free once again.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00462_StuffedAncientHeroes 32892-04.htm">"I will do all I can."</Button>
|
||||
</body></html>
|
7
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-04.htm
vendored
Normal file
7
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-04.htm
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
I am sure you will. <br1>
|
||||
There is one more thing I must tell you - in order to succeed, you must also fight the most powerful of the fallen heroes. There are ten in total, ten mighty champions that saved the world while they lived, and now seek to damn it as while dead. <br1>
|
||||
Defeat the ancient heroes, and you'll summon these champions to defend them. As I said, there are 10 in total, but I will only ask that you kill two, if you can. If you can only kill one, then I will understand.<br>
|
||||
Now, it's time to choose. Will you face the fate in front of you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00462_StuffedAncientHeroes 32892-05.htm">"I will. It is my destiny."</Button>
|
||||
</body></html>
|
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-05.htm
vendored
Normal file
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-05.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
I'll tell you who you need to defeat.<br><font color="LEVEL">Turanclass</font> and <font color="LEVEL">Georgios, Angelos, Theofanis, Steregos, Micalia, Evagelos, Sotiris, Lazaros</font> are all powerful ancient warriors.<br>
|
||||
Also, <font color="LEVEL">Talicrom</font>, <font color="LEVEL">Micalia, Evangelos, Sotiris, and Lazaros</font> have powerful subordinates and use magic very well.<br>
|
||||
Well? Your destiny awaits!
|
||||
</body></html>
|
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-06.html
vendored
Normal file
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-06.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
<font color="LEVEL">Turanclass</font> and <font color="LEVEL">Georgios, Angelos, Theofanis, Steregos, Micalia, Evagelos, Sotiris, Lazaros</font> are all powerful warriors from the past.<br>
|
||||
Also, <font color="LEVEL">Talicrom</font>, <font color="LEVEL">Micalia, Evangelos, Sotiris, and Lazaros</font> have powerful subordinates and they also use magic very well.<br>
|
||||
Furthermore, face the fate that will challenge you.
|
||||
</body></html>
|
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-07.html
vendored
Normal file
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-07.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
You've killed one of them.<br>
|
||||
What do you want to do now?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00462_StuffedAncientHeroes 32892-08.html">"I'll take the payment and stop for now."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00462_StuffedAncientHeroes 32892-09.html">"I'll go kill more."</Button>
|
||||
</body></html>
|
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-08.html
vendored
Normal file
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-08.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
Okay... <br1>
|
||||
I can still feel the sadness of the other fallen champions... when will they finally get the rest they deserve?<br>
|
||||
Anyway, your reward is here. If you have enough of these and want to return to <font color="LEVEL">Ancient City Arcan</font> , you'll want to speak to <font color="LEVEL">Anthony</font> and exchange it for something of significant value.
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-09.html
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-09.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Divine Messenger Lydia:<br>
|
||||
Okay. Defeat any one of <font color="LEVEL">Turanclass, Georgios, Angelos, Theofanis, Steregos, Micalia, Evagelos, Sotiris, Lazaros</font>. It doesn't matter who.<br>
|
||||
Go face your fate.
|
||||
</body></html>
|
@@ -0,0 +1,201 @@
|
||||
/*
|
||||
* 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.Q00462_StuffedAncientHeroes;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
import quests.Q10317_OrbisWitch.Q10317_OrbisWitch;
|
||||
|
||||
/**
|
||||
* Stuffed Ancient Heroes (462)
|
||||
* @URL https://l2wiki.com/Stuffed_Ancient_Heroes
|
||||
* @author Gigi
|
||||
*/
|
||||
public class Q00462_StuffedAncientHeroes extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int LYDIA = 32892;
|
||||
private static final int ANCIENT_HEROES = 33347;
|
||||
// Boss
|
||||
private static final int[] BOSES =
|
||||
{
|
||||
25760, // Turanclass
|
||||
25761, // Georgios
|
||||
25762, // Angelos
|
||||
25763, // Theofanis
|
||||
25764, // Steregos
|
||||
25766, // Talicrome
|
||||
25767, // Meikaliya
|
||||
25768, // Evangelos
|
||||
25769, // Sotiris
|
||||
25770 // Lazaros
|
||||
};
|
||||
// Item
|
||||
private static final int CERTIFICATE_OF_HERO = 30386;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 95;
|
||||
private static final String KILL_COUNT_VAR = "KillCount";
|
||||
|
||||
public Q00462_StuffedAncientHeroes()
|
||||
{
|
||||
super(462);
|
||||
addStartNpc(LYDIA);
|
||||
addTalkId(LYDIA);
|
||||
addKillId(BOSES);
|
||||
addCondMinLevel(MIN_LEVEL, "32892-00.htm");
|
||||
addCondCompletedQuest(Q10317_OrbisWitch.class.getSimpleName(), "32892-00.htm");
|
||||
}
|
||||
|
||||
@Override
|
||||
public 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 "32892-02.htm":
|
||||
case "32892-03.htm":
|
||||
case "32892-04.htm":
|
||||
case "32892-09.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32892-05.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32892-08.html":
|
||||
{
|
||||
final int killCount = qs.getInt(KILL_COUNT_VAR);
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
giveItems(player, CERTIFICATE_OF_HERO, 2);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
}
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
giveItems(player, CERTIFICATE_OF_HERO, killCount);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
}
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (npc.getId() == LYDIA)
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "32892-00a.html";
|
||||
break;
|
||||
}
|
||||
qs.setState(State.CREATED);
|
||||
}
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "32892-01.htm";
|
||||
qs.isStarted();
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "32892-06.html";
|
||||
}
|
||||
else if (qs.getCond() > 1)
|
||||
{
|
||||
htmltext = "32892-07.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && (qs.getCond() > 0))
|
||||
{
|
||||
final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
|
||||
qs.set(KILL_COUNT_VAR, killCount);
|
||||
if (killCount == 1)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else if ((killCount > 1) && (killCount <= 10))
|
||||
{
|
||||
qs.setCond(1);
|
||||
qs.setCond(3);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
sendNpcLogList(killer);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && (qs.getCond() > 0))
|
||||
{
|
||||
final int killCount = qs.getInt(KILL_COUNT_VAR);
|
||||
if (killCount > 0)
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>(1);
|
||||
holder.add(new NpcLogListHolder(ANCIENT_HEROES, false, killCount));
|
||||
return holder;
|
||||
}
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-01.htm
vendored
Normal file
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-01.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Fairy citizen who ran away from Kimerian:<br>
|
||||
That Kimerian, it's insane! Crazed!. We can't live this way! We need free ourselves from Kimerians.<br>
|
||||
You've already helped us before; won't you help us again this time?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00465_WeAreFriends 32921-02.htm">"What kind of help?"</button>
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-02.htm
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-02.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Fairy citizen who ran away from Kimerian:<br>
|
||||
Please help <font color="LEVEL">2 or more Fairy Citizens</font> who are suffering in the <font color="LEVEL">Fairy Settlement</font>. Then we will help you when are in need. Will you help us?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00465_WeAreFriends 32921-03.htm">Say you will help</button>
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-03.htm
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-03.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Fairy citizen who ran away from Kimerian:<br>
|
||||
Thank you! You need extend a hand of true friendship.<br>
|
||||
When you destroy <font color="LEVEL">Cocoons</font> and <font color="LEVEL">Large Cocoons</font> in the Fairy Settlement, you'll encounter <font color="LEVEL">Fairy Citizen</font> in need. Please when you see them!<br>
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-04.html
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-04.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Fairy citizen who ran away from Kimerian:<br>
|
||||
Thank you for your help. You - our most loyal friend. <br>
|
||||
(This quest is available once a day. Update the quest takes place daily at 6:30 am.)<br>
|
||||
</body></html>
|
3
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-05.html
vendored
Normal file
3
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-05.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Fairy citizen who ran away from Kimerian:<br>
|
||||
When you destroy <font color="LEVEL">Cocoons</font> and <font color="LEVEL">Large Cocoons</font> in the Fairy Settlement, you'll encounter <font color="LEVEL">Fairy Citizen</font> in need. Please when you see them!<br>
|
||||
</body></html>
|
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-06.html
vendored
Normal file
6
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-06.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Fairy citizen who ran away from Kimerian:<br>
|
||||
Were you able to help the Fairy Citizens? where you able to empathize? to feel our pain? To see our long suffering?<br>
|
||||
Did the Fairy Citizens give you anything in return?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00465_WeAreFriends 32921-07.html">"I didn't receive anything"</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00465_WeAreFriends 32921-08.html">"You mean this Mark of Friendship"</button>
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-07.html
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-07.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Fairy citizen who ran away from Kimerian:<br>
|
||||
I'm sorry you could not meet a representative of my people.<br>
|
||||
I suggest you go back and look for them well, I know they're in captivity and dreams of freedom.
|
||||
</body></html>
|
3
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-08.html
vendored
Normal file
3
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-08.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Fairy citizen who ran away from Kimerian:<br>
|
||||
That's it! This provers you are indeed a friend to my people. Here, take this Fairy's Leaf Flute. If you find yourself facing Kimerian, and you need our help, use this. And take care until next we meet.
|
||||
</body></html>
|
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-01.html
vendored
Normal file
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-01.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Fairy citizen:<br>
|
||||
Are you one who freed me from the cocoon? Oh, thank you, thank you.<br>
|
||||
Any longer and know I would have been mutated. Did you know that I was here?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00465_WeAreFriends 32923-02.html">"Someone told me to help you"</button>
|
||||
</body></html>
|
3
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-02.html
vendored
Normal file
3
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-02.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Fairy citizen:<br>
|
||||
Are you talking about the fairy in the heart of Timiniel? Ooh, good to know he made it out of here safely. Here, take this in recognition of thankful I am.
|
||||
</body></html>
|
154
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/Q00465_WeAreFriends.java
vendored
Normal file
154
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/Q00465_WeAreFriends.java
vendored
Normal file
@@ -0,0 +1,154 @@
|
||||
/*
|
||||
* 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.Q00465_WeAreFriends;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* We Are Friends (465)
|
||||
* @URL https://l2wiki.com/We_Are_Friends
|
||||
* @author Gigi
|
||||
*/
|
||||
public class Q00465_WeAreFriends extends Quest
|
||||
{
|
||||
// Npc
|
||||
public static final int FAIRY_CITIZEN = 32921;
|
||||
public static final int FAIRY_CITIZEN_SPAWN = 32923;
|
||||
// item
|
||||
private static final int MARK_OF_FRIENDSHIP = 17377;
|
||||
private static final int FAIRY_LEAF_FLUTE = 17378;
|
||||
private static final int CERTIFICATE_OF_PROMISE = 30384;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 88;
|
||||
|
||||
public Q00465_WeAreFriends()
|
||||
{
|
||||
super(465);
|
||||
addStartNpc(FAIRY_CITIZEN);
|
||||
addTalkId(FAIRY_CITIZEN, FAIRY_CITIZEN_SPAWN);
|
||||
registerQuestItems(MARK_OF_FRIENDSHIP);
|
||||
addCondMinLevel(MIN_LEVEL, "no_level.htm");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "32921-02.htm":
|
||||
case "32921-07.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32921-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32923-02.html":
|
||||
{
|
||||
giveItems(player, MARK_OF_FRIENDSHIP, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if ((getQuestItemsCount(player, MARK_OF_FRIENDSHIP) >= 2))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
htmltext = event;
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case "32921-08.html":
|
||||
{
|
||||
giveItems(player, FAIRY_LEAF_FLUTE, 1);
|
||||
giveItems(player, CERTIFICATE_OF_PROMISE, getRandom(1, 4));
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable() && (npc.getId() == FAIRY_CITIZEN))
|
||||
{
|
||||
htmltext = "32921-04.html";
|
||||
break;
|
||||
}
|
||||
qs.setState(State.CREATED);
|
||||
}
|
||||
case State.CREATED:
|
||||
{
|
||||
if (npc.getId() == FAIRY_CITIZEN)
|
||||
{
|
||||
htmltext = "32921-01.htm";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case FAIRY_CITIZEN:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "32921-05.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "32921-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case FAIRY_CITIZEN_SPAWN:
|
||||
{
|
||||
if (qs.isCond(1) && (npc.getTitle() == player.getName()))
|
||||
{
|
||||
htmltext = "32923-01.html";
|
||||
break;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/no_level.htm
vendored
Normal file
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/no_level.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Fairy citizen who ran away from Kimerian:<br>
|
||||
We both suffer from tyranny Kimeriana! Oh, if we could get rid of his power! <br>
|
||||
I think you could help us. Do not forget about our troubles, When you have the experience! <br>
|
||||
(This quest is available after the 88th level.)<br>
|
||||
</body></html>
|
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-01.htm
vendored
Normal file
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-01.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Horpina:<br>
|
||||
Do not know if you happened to be in the central flower garden, located in the garden? There is a prison in which the enchanted creature, called monster Afros. His guard militant Keepers. In the past they were honest and valiant warriors, receive special protection of the gods, but now... I do not even know what will happen to our wiles Magmeldom because they weave.<br>
|
||||
So I want to appeal to you to...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00469_SuspiciousGardener 33031-02.htm">"What should I do"</button>
|
||||
</body></html>
|
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-02.htm
vendored
Normal file
5
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-02.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Horpina:<br>
|
||||
In ancient times, the gods instructed Defenders protect the Forerunners. Now, when the ancient gods have sunk into oblivion, Defenders, drawn by the desire for power, intend to use the power of the Forerunners to their advantage. I've heard rumors that some of the precursors appear in the Ancient City Arkan and in the land of Aden, where they sowed chaos and destruction. Nobody knows what will happen even if you do not stop the Defenders.<br>
|
||||
Our nation is trying to prevent their evil plans. But we need help. I ask, assist - Destroy 30 Defenders.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00469_SuspiciousGardener 33031-03.htm">"Accept"</button>
|
||||
</body></html>
|
3
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-03.htm
vendored
Normal file
3
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-03.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Horpina:<br>
|
||||
Thank you. If the keepers for fear of retribution, for a time refuse to implement their plans, it will help us win more time. For which we may be able to find a way to counter them.<br>
|
||||
So, I ask you to kill 30 Arpheus Watchman, living in the garden. </body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-04.html
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-04.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Horpina:<br>
|
||||
Thank you. If the keepers for fear of retribution, for a time refuse to implement their plans, it will help us win more time.<br>
|
||||
(You can only do this quest once a day. This quest resets at 6:30 AM.)
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-05.html
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-05.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Horpina:<br>
|
||||
You followed my assignment?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00469_SuspiciousGardener 33031-06.html">"Yes, that's evidence."</button>
|
||||
</body></html>
|
3
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-06.html
vendored
Normal file
3
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-06.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Horpina:<br>
|
||||
Nice! You are very good you stranger. Here's your reward - not so hot that, but the rich, and so happy... Hopefully after you have rested, we can work together again?<br>
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-07.html
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-07.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Horpina:<br>
|
||||
For which we may be able to find a way to counter them.<br>
|
||||
So, I ask you to kill 30 Arpheus Watchman, living in the garden.
|
||||
</body></html>
|
@@ -0,0 +1,158 @@
|
||||
/*
|
||||
* 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.Q00469_SuspiciousGardener;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
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.ExQuestNpcLogList;
|
||||
import com.l2jmobius.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* Suspicious Gardener (469)
|
||||
* @URL https://l2wiki.com/Suspicious_Gardener
|
||||
* @author Gigi
|
||||
*/
|
||||
public class Q00469_SuspiciousGardener extends Quest
|
||||
{
|
||||
// Npc
|
||||
public static final int GOFINA = 33031;
|
||||
// Monsters
|
||||
private static final int APHERIUS_LOOKOUT_BEWILDERED = 22964;
|
||||
// Items
|
||||
private static final ItemHolder CERTIFICATE_OF_LIFE = new ItemHolder(30385, 2); // Certificate of Life
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 90;
|
||||
|
||||
public Q00469_SuspiciousGardener()
|
||||
{
|
||||
super(469);
|
||||
addStartNpc(GOFINA);
|
||||
addTalkId(GOFINA);
|
||||
addKillId(APHERIUS_LOOKOUT_BEWILDERED);
|
||||
addCondMinLevel(MIN_LEVEL, "no_level.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "33031-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33031-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
qs.set(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED), 0);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33031-06.html":
|
||||
{
|
||||
giveItems(player, CERTIFICATE_OF_LIFE);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (npc.getId() == GOFINA)
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "33031-04.html";
|
||||
break;
|
||||
}
|
||||
qs.setState(State.CREATED);
|
||||
}
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "33031-01.htm";
|
||||
}
|
||||
break;
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "33031-07.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "33031-05.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
|
||||
if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
|
||||
{
|
||||
int kills = qs.getInt(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED));
|
||||
if (kills < 30)
|
||||
{
|
||||
kills++;
|
||||
qs.set(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED), kills);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
|
||||
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
|
||||
log.addNpc(APHERIUS_LOOKOUT_BEWILDERED, qs.getInt(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED)));
|
||||
qs.getPlayer().sendPacket(log);
|
||||
|
||||
if ((qs.getInt(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED)) >= 30))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/no_level.html
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/no_level.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Horpina:<br>
|
||||
Nice! But you are still very young for my order.<br>
|
||||
(You must be level 90 or above to start this quest.)
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
I ask you to listen to me. Received a request from the Ivory Tower, and I think that you are best suited for this job.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00471_BreakingThroughTheEmeraldSquare 33044-03.htm">Learn about the request</button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
You have not inspire me enough confidence. I can not charge you a job. Someday you will be able to help us, but that time has not come yet.<br>
|
||||
(This quest is available after the 97th level.)
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
The Ivory Tower of great interest to the monsters of Beleth Crystal Maze. Was asked to destroy appeared in Pearlescent Hall Mignon Beleth, jailers Emambifi Hell, and get proof of his death. As you look at it? Will you help me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00471_BreakingThroughTheEmeraldSquare 33044-04.html">Agree.</button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Fioren:<br>
|
||||
All right. I repeat. Destroy jailer Hell Emambifi, Mignon Beleth designed to Pearl Hall.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Fioren:<br>
|
||||
All right. I repeat. Destroy jailer Hell Emambifi, Mignon Beleth designed to Pearl Hall.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
How is it? You destroyed henchmen Beleth in Pearlescent Hall?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00471_BreakingThroughTheEmeraldSquare 33044-07.html">Report on the destruction</button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Fioren:<br>
|
||||
I was not wrong when you choose for the job. Here is the promised reward. If you find the time, come back tomorrow. I will have one more request for you.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
If you find the time, come back tomorrow. I will have one more request for you.<br>
|
||||
(This activity is available once a day. Quest update occurs daily at 6:30 am.)
|
||||
</body></html>
|
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
* 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.Q00471_BreakingThroughTheEmeraldSquare;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* @author hlwrave
|
||||
* @URL https://l2wiki.com/Breaking_through_the_Emerald_Square
|
||||
*/
|
||||
public class Q00471_BreakingThroughTheEmeraldSquare extends Quest
|
||||
{
|
||||
// Npc
|
||||
public static final int FIOREN = 33044;
|
||||
// Monster
|
||||
public static final int EMABIFI = 25881;
|
||||
// Misc
|
||||
public static final int MIN_LEVEL = 97;
|
||||
// Items
|
||||
public static final int CERTIFICATE = 30387;
|
||||
|
||||
public Q00471_BreakingThroughTheEmeraldSquare()
|
||||
{
|
||||
super(471);
|
||||
addStartNpc(FIOREN);
|
||||
addTalkId(FIOREN);
|
||||
addKillId(EMABIFI);
|
||||
addCondMinLevel(MIN_LEVEL, "33044-02.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final String htmltext = event;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "33044-04.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
break;
|
||||
}
|
||||
case "33044-07.html":
|
||||
{
|
||||
giveItems(player, CERTIFICATE, 8);
|
||||
qs.exitQuest(QuestType.DAILY, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "33044-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33044-05.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "33044-06.html";
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
{
|
||||
htmltext = "33044-08.html";
|
||||
}
|
||||
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(killer, npc, isSummon, true, false);
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-01.htm
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-01.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
I ask you to listen to me. Received a request from the Ivory Tower, and I think that you are best suited for this job.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00472_ChallengeSteamCorridor 33044-03.htm">Learn about the request</button>
|
||||
</body></html>
|
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-02.html
vendored
Normal file
4
L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-02.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Fioren:<br>
|
||||
You have not inspire me enough confidence. I can not charge you a job. Someday you will be able to help us, but that time has not come yet.<br>
|
||||
(This quest is available after the 97th level.)
|
||||
</body></html>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user