Quest Whisper Of Dreams Part1 (375).

Contributed by Stayway.
This commit is contained in:
MobiusDev 2017-08-04 17:31:42 +00:00
parent 6eb0c90eea
commit 288866e275
11 changed files with 253 additions and 1 deletions

View File

@ -0,0 +1,7 @@
<html><body>Priest Vanutu:<br>
Oh, great Pa'agrio! How could you have given such power to such an undeserving creature!<br>
...<br>
If I had that power, I could put it to much better use...<br>
I must have another ingredient in order to use the stone. Will you continue to help me?<br>
<a action="bypass -h Quest Q00375_WhisperOfDreams_Part2 30938-03.htm">"I will continue to help you."</a>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Priest Vanutu:<br>
Your inner voice is not yet clear to you. Come back when you have it.<br>
(This quest may only be undertaken by a character of level 60 and above.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Priest Vanutu:<br>
May the glory of Pa'agrio shine upon the truly brave!<br>
Bring me back <font color="LEVEL">325 Karik horns of Karik's and 325 Limal kariness blood of the Limakl Kariness</font> from the Lair of Antharas.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Seer Vanutu:<br>
My brave friend! Gather your strongest colleagues and bring me <font color="LEVEL">325 Karik Horns from Karik's and 325 Limal Kariness Blood from Limal Kariness</font>. They can be found in the deepest, darkest parts of the Lair of Antharas.
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Priest Vanutu:<br>
Ah, at last, I shall behold the shadow of Pa'agrio.<br>
My brave warrior, your spirit is true. I will honor you with this gift. Would you consider getting more ingredients for me? My tribe desperately needs your help.<br>
<a action="bypass -h Quest Q00375_WhisperOfDreams_Part2 reward1">1 Scroll Part: Enchant Weapon</a><br>
<a action="bypass -h Quest Q00375_WhisperOfDreams_Part2 reward2">1 Refined Scroll Part: Enchant Weapon ;<br>
<a action="bypass -h Quest Q00375_WhisperOfDreams_Part2 reward3">1 Scroll: Enchant Weapon (B-grade)<br>
<a action="bypass -h Quest Q00375_WhisperOfDreams_Part2 reward4">1 Improved Scroll: Enchant Weapon (B-grade)<br>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Priest Vanutu:<br>
Ah, at last, I shall behold the shadow of Pa'agrio.<br>
My brave warrior, your spirit is true. I will honor you with this gift. Would you consider getting more ingredients for me? My tribe desperately needs your help.<br>
<a action="bypass -h Quest Q00375_WhisperOfDreams_Part2 30938-07.html">"I'll collect more ingredients."</a><br>
<a action="bypass -h Quest Q00375_WhisperOfDreams_Part2 30938-08.html">"I quit."</a>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Priest Vanutu:<br>
The deepest parts of the Lair of Antharas are infested by many evil spirits. You mustn't attempt to go there alone.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Priest Vanutu:<br>
I appreciate your assistance.
</body></html>

View File

@ -0,0 +1,212 @@
/*
* 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.Q00375_WhisperOfDreams_Part2;
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;
/**
* Whisper Of Dreams Part1 (375)
* @author Stayway
*/
public class Q00375_WhisperOfDreams_Part2 extends Quest
{
// NPCs
private static final int VANUTU = 30938;
// Monsters
private static final int LIMAL_KARINNESS = 20628;
private static final int KARIK = 20629;
// Items
private static final int KARIK_HORN = 5888;
private static final int LIMAL_KARINESS_BLOOD = 5889;
private static final int MYSTERIOUS_STONE = 5887;
// Rewards
private static final int SCROLL_PART_EW = 49474;
private static final int REFINED_SCROLL_PART_EW = 49476;
private static final int ENCHANT_WEAPON_B = 947;
private static final int IMPROVED_ENCHANT_WEAPON_B = 33808;
// Misc
private static final int MIN_LEVEL = 60;
private static final int MAX_LEVEL = 74;
public Q00375_WhisperOfDreams_Part2()
{
super(375);
addStartNpc(VANUTU);
addTalkId(VANUTU);
addKillId(LIMAL_KARINNESS, KARIK);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "30938-02.html");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
String htmltext = null;
if (qs != null)
{
switch (event)
{
case "30938-03.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "30938-07.html":
{
qs.setCond(1);
htmltext = event;
break;
}
case "30938-08.html":
{
qs.exitQuest(true, true);
htmltext = event;
break;
}
case "reward1":
{
if (qs.isCond(2) && (getQuestItemsCount(player, KARIK_HORN) >= 325) && (getQuestItemsCount(player, LIMAL_KARINESS_BLOOD) >= 325))
{
giveItems(player, SCROLL_PART_EW, 1);
takeItems(player, KARIK_HORN, 325);
takeItems(player, LIMAL_KARINESS_BLOOD, 325);
giveAdena(player, 9000, true);
htmltext = "30938-06.html";
}
break;
}
case "reward2":
{
if (qs.isCond(2) && (getQuestItemsCount(player, KARIK_HORN) >= 325) && (getQuestItemsCount(player, LIMAL_KARINESS_BLOOD) >= 325))
{
giveItems(player, REFINED_SCROLL_PART_EW, 1);
takeItems(player, KARIK_HORN, 325);
takeItems(player, LIMAL_KARINESS_BLOOD, 325);
giveAdena(player, 9000, true);
htmltext = "30938-06.html";
}
break;
}
case "reward3":
{
if (qs.isCond(2) && (getQuestItemsCount(player, KARIK_HORN) >= 325) && (getQuestItemsCount(player, LIMAL_KARINESS_BLOOD) >= 325))
{
giveItems(player, ENCHANT_WEAPON_B, 1);
takeItems(player, KARIK_HORN, 325);
takeItems(player, LIMAL_KARINESS_BLOOD, 325);
giveAdena(player, 9000, true);
htmltext = "30938-06.html";
}
break;
}
case "reward4":
{
if (qs.isCond(2) && (getQuestItemsCount(player, KARIK_HORN) >= 325) && (getQuestItemsCount(player, LIMAL_KARINESS_BLOOD) >= 325))
{
giveItems(player, IMPROVED_ENCHANT_WEAPON_B, 1);
takeItems(player, KARIK_HORN, 325);
takeItems(player, LIMAL_KARINESS_BLOOD, 325);
giveAdena(player, 9000, true);
htmltext = "30938-06.html";
}
break;
}
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
switch (qs.getState())
{
case State.CREATED:
{
if (getQuestItemsCount(player, MYSTERIOUS_STONE) >= 1)
{
takeItems(player, MYSTERIOUS_STONE, 1);
htmltext = "30938-01.htm";
}
else
{
htmltext = "30938-05.html";
}
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "30938-04.html";
}
else if (qs.isCond(2))
{
htmltext = (getQuestItemsCount(player, KARIK_HORN) >= 325) && (getQuestItemsCount(player, LIMAL_KARINESS_BLOOD) >= 325) ? "30938-05.html" : "30938-06.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)
{
switch (npc.getId())
{
case KARIK:
{
if (qs.isCond(1) && qs.isStarted())
{
giveItemRandomly(killer, npc, KARIK_HORN, 1, 325, 0.95, true);
}
break;
}
case LIMAL_KARINNESS:
{
if (qs.isCond(1) && qs.isStarted())
{
giveItemRandomly(killer, npc, LIMAL_KARINESS_BLOOD, 1, 325, 0.95, true);
}
break;
}
}
if (qs.isCond(1) && (getQuestItemsCount(killer, LIMAL_KARINESS_BLOOD) >= 325) && (getQuestItemsCount(killer, KARIK_HORN) >= 325))
{
qs.setCond(2);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -159,6 +159,7 @@ import quests.Q00360_PlunderTheirSupplies.Q00360_PlunderTheirSupplies;
import quests.Q00369_CollectorOfJewels.Q00369_CollectorOfJewels;
import quests.Q00370_AnElderSowsSeeds.Q00370_AnElderSowsSeeds;
import quests.Q00374_WhisperOfDreams_Part1.Q00374_WhisperOfDreams_Part1;
import quests.Q00375_WhisperOfDreams_Part2.Q00375_WhisperOfDreams_Part2;
import quests.Q00401_PathOfTheWarrior.Q00401_PathOfTheWarrior;
import quests.Q00402_PathOfTheHumanKnight.Q00402_PathOfTheHumanKnight;
import quests.Q00403_PathOfTheRogue.Q00403_PathOfTheRogue;
@ -319,6 +320,7 @@ public class QuestMasterHandler
Q00331_ArrowOfVengeance.class,
Q00333_HuntOfTheBlackLion.class,
Q00374_WhisperOfDreams_Part1.class,
Q00375_WhisperOfDreams_Part2.class,
Q00344_1000YearsTheEndOfLamentation.class,
Q00348_AnArrogantSearch.class,
Q00354_ConquestOfAlligatorIsland.class,

View File

@ -34,6 +34,7 @@ What is done
-New Race Track arena zone
-Giran Luxury Shop updates
-Grandboss scripts and stats
-Whisper of Dreams quests
Custom work
-Newbie Helper NPC location info
@ -47,7 +48,6 @@ TODO list
-Test quests and update rewards
-Floran Agricultural Area clan halls
-Test castle sieges
-Whisper of Dreams quests
-Moon Knight quest
-Dungeon of Abyss https://www.youtube.com/watch?v=FZEu0hjCAK8
-New Savior class skills https://eu.4game.com/lineage2classic/play/saviors/classes/#newclasskills