Addition of quest 599 and 774.

Contributed by Dmitri.
This commit is contained in:
MobiusDevelopment
2020-03-18 09:24:12 +00:00
parent 66a22dc21f
commit b5eccda27a
138 changed files with 2676 additions and 351 deletions

View File

@@ -9,7 +9,6 @@
759 The Dwarven Nightmare Continues
766 10-day Adventure
773 To Calm the Flood
774 Dreaming of peace
780 Utilize the Darkness - Seed of Infinity
781 Utilize the Darkness - Seed of Annihilation
782 Utilize the Darkness - Seed of Hellfire

View File

@@ -0,0 +1,4 @@
<html><body>Nerupa<br>
I don't know where you heard it, but the guild has decided to assign it to a more reliable guild member. Let's talk later when we trust each other more.<br>
(Only characters with Lv. 90-100.)
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Nerupa:<br>
Are you heading to the Kimerian's Forest?<br>
With your skills, you will easily be able to go there, even without my help.<br>
Then do you have a mind to help me?<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00774_DreamingOfPeace 30370-02.htm">"What would you like for me to do?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Nerupa:<br>
I think, every day, that I to return home again, when this place and the world outside find peace again.<br>
The blackish red fog and the shriveling Mother Tree... all are agonizing.<br>
Then, I chanced upon something I could do.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00774_DreamingOfPeace 30370-03.htm">"And what was that?"</Button>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Nerupa:<br>
I found out that the Forest of Fairies and the Kimerian's Forest, while they are similar, have distinct differences.<br>
I also found that the Fairies and Satyrs in the Kimerian's Forest are very dangerous.<br>
It's also possible to obtain from them the blood necessary to make potions. Adventurers would just venture on in without knowing a thing, and then find themselves in danger.<br>
So, in order to reduce the risk, and dreaming of a peaceful future, I began my own little struggle.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00774_DreamingOfPeace 30370-04.htm">Tell me more.</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Nerupa:<br>
The Violent Fairies and Satyrs in the Kimerian's Forest are nothing but just pests. I'm giving everything I have to slaying them, and asking those who would help me to join me in slaying the Violent Fairies and Violent Satyrs.<br>
To aid those who are working to develop the potion, it is important for you to slay at least 300 Violent Fairies and Violent Satyrs.<br>
I will give you a small reward for your help. Please slay at least 300 Violent Fairies and Satyrs, and up to 1200 if possible.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Nerupa:<br>
The Violent Fairies and Satyrs in the Kimerian's Forest are nothing but just pests. I'm giving everything I have to slaying them, and asking those who would help me to join me in slaying the Violent Fairies and Violent Satyrs.<br>
To aid those who are working to develop the potion, it is important for you to slay at least 300 Violent Fairies and Violent Satyrs.<br>
I will give you a small reward for your help. Please slay at least 300 Violent Fairies and Satyrs, and up to 1200 if possible.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Nerupa:<br>
Done with 300 already?<br>
I guess I'm a good judge of character. The Violent Fairies and Satyrs couldn't have made it easy for you. If you still have it in you, and want to slay some more, I' won't stop you. Or would you like to call it a day?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00774_DreamingOfPeace 30370-07.html">"Let's call it a day."</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Nerupa:<br>
Thank you. Though this is not my hometown, I was distressed by the others who were in distress.<br>
There are still countless Fairies enraged, and Violent Fairies and Satyrs keep popping up. Please, return tomorrow to help again if you have the time.
</body></html>

View File

@@ -0,0 +1,173 @@
/*
* 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.Q00774_DreamingOfPeace;
import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
/**
* Dreaming of Peace (774)
* @URL https://l2wiki.com/Dreaming_of_Peace
* @author Dmitri
*/
public class Q00774_DreamingOfPeace extends Quest
{
// NPC
private static final int NERUPA = 30370;
// Monsters
private static final int[] MONSTERS =
{
22863, // Fairy Warrior
22871, // Fairy Rogue
22879, // Fairy Knight
22887, // Satyr Wizard
22895, // Satyr Summoner
22903 // Satyr Witch
};
// Misc
private static final int MIN_LEVEL = 90;
private static final int MAX_LEVEL = 100;
private static final String KILL_COUNT_VAR = "KillCount";
public Q00774_DreamingOfPeace()
{
super(774);
addStartNpc(NERUPA);
addTalkId(NERUPA);
addKillId(MONSTERS);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "30370-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "30370-02.htm":
case "30370-03.htm":
{
htmltext = event;
break;
}
case "30370-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "30370-07.html":
{
// Rewards
giveAdena(player, 559020, true);
addExpAndSp(player, 646727130, 646710);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "30370-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "30370-05.html" : "30370-06.html";
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
htmltext = "30370-01.htm";
}
else
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1) && killer.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
{
int count = qs.getInt(KILL_COUNT_VAR);
qs.set(KILL_COUNT_VAR, ++count);
if (count >= 300)
{
qs.setCond(2, true);
}
else
{
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1))
{
final int killCount = qs.getInt(KILL_COUNT_VAR);
if (killCount > 0)
{
final Set<NpcLogListHolder> holder = new HashSet<>();
holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_THE_VIOLENT_MONSTERS.getId(), true, killCount));
return holder;
}
}
return super.getNpcLogList(player);
}
}

View File

@@ -177,6 +177,7 @@ import quests.Q00763_ADauntingTask.Q00763_ADauntingTask;
import quests.Q00764_WeakeningTheVarkaSilenosForces.Q00764_WeakeningTheVarkaSilenosForces;
import quests.Q00765_WeakeningTheKetraOrcForces.Q00765_WeakeningTheKetraOrcForces;
import quests.Q00772_PurifyingSouls.Q00772_PurifyingSouls;
import quests.Q00774_DreamingOfPeace.Q00774_DreamingOfPeace;
import quests.Q00775_RetrievingTheChaosFragment.Q00775_RetrievingTheChaosFragment;
import quests.Q00776_SlayDarkLordEkimus.Q00776_SlayDarkLordEkimus;
import quests.Q00777_SlayDarkLordTiat.Q00777_SlayDarkLordTiat;
@@ -492,7 +493,6 @@ import quests.not_done.Q00750_SevenFlowers;
import quests.not_done.Q00759_TheDwarvenNightmareContinues;
import quests.not_done.Q00766_10DayAdventure;
import quests.not_done.Q00773_ToCalmTheFlood;
import quests.not_done.Q00774_DreamingOfPeace;
import quests.not_done.Q00780_UtilizeTheDarknessSeedOfInfinity;
import quests.not_done.Q00781_UtilizeTheDarknessSeedOfAnnihilation;
import quests.not_done.Q00782_UtilizeTheDarknessSeedOfHellfire;
@@ -708,7 +708,7 @@ public class QuestMasterHandler
Q00766_10DayAdventure.class, // TODO: Not done.
Q00772_PurifyingSouls.class,
Q00773_ToCalmTheFlood.class, // TODO: Not done.
Q00774_DreamingOfPeace.class, // TODO: Not done.
Q00774_DreamingOfPeace.class,
Q00775_RetrievingTheChaosFragment.class,
Q00776_SlayDarkLordEkimus.class,
Q00777_SlayDarkLordTiat.class,

View File

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