Quest Purifying Souls (772).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev 2016-08-26 18:57:41 +00:00
parent 3c5e6bc8de
commit a895ed7809
14 changed files with 231 additions and 1 deletions

View File

@ -35,7 +35,6 @@
769 The Truth Concealed in Beauty
770 Maintaining the Field Business
771 Partaking in the Purification Campaign
772 Purifying Souls
775 Retrieving the Chaos Fragment
776 Slay Dark Lord Ekimus
777 Slay Dark Lord Tiat

View File

@ -0,0 +1,3 @@
<html><body>Quincy:<br>
(This job is available after you reach 99 level.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Quincy:<br>
Oh, anyone here I haven't met. As You can see, in this far away place is inhabited by some monsters.<br>
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h Quest Q00772_PurifyingSouls 33838-2.htm">"Then what are You doing here?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Investigator Quincy:<br>
Those unfortunate people! They left their homes just to survive… In the end, this land consumed so many lives... We cannot add yours to their number.<br>
(Only characters level 99 or above may undertake this quest.)
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Quincy:<br>
I'm here to hear the voice of the Goddess. Eva said here I can hear her <font color="LEVEL">voice</font>.<br>
But the wait dragged on, and I come up with weird thoughts. But I do not doubt her words.<br>
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h Quest Q00772_PurifyingSouls 33838-3.htm">"What thoughts?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Quincy:<br>
There are a lot of monsters. Their very existence is contrary to the divine laws. Maybe it's because of them I can't hear the voice of the Goddess? To stop this waiting, I wanted to ask You to destroy all the monsters in the area. You're gonna help me?<br>
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h Quest Q00772_PurifyingSouls 33838-4.htm">Offer assistance</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Quincy:<br>
Kill the monsters in the surrounding area <font color="LEVEL">of Land of Chaos</font> and collect <font color="LEVEL">the Spirit of Darkness (50 pieces)</font> If possible, bring more <font color="LEVEL">Spirit to the Weak Light</font>. The more You bring, the greater Your reward.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Quincy:<br>
I will repeat once again. Kill the monsters in the surrounding area <font color="LEVEL">of Land of Chaos</font> and collect <font color="LEVEL">the Spirit of Darkness (50 pieces)</font> If possible, bring more <font color="LEVEL">Spirit to the Weak Light</font>. The more You bring, the greater Your reward.
</body></html>

View File

@ -0,0 +1,6 @@
<html><head>Quincy:<br>
You brought the Spirit of Darkness. Here is all you need. But the Spirit is Weak Light You got.
Then I'll give You a reward just for the Spirit of Darkness. What do you think?<br>
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h Quest Q00772_PurifyingSouls 33838-8.html">Listen to an explanation</Button>
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h Quest Q00772_PurifyingSouls 33838-7.html">Say that will gather the Faint Light Spirit</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Quincy:<br>
Then destroy all the monsters. For the collected <font color="LEVEL">Ghost Weak Light</font> relies additional reward depending on its quantity.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Quincy:<br>
If You want to get the reward, then I have another task for today.
If You still collect the Weak Spirit of Light, you get extra reward.<br>
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h Quest Q00772_PurifyingSouls 33838-9.html">Receive the award and to complete the job</Button>
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h Quest Q00772_PurifyingSouls 33838-7.html">Say that will gather the Faint Light Spirit</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Quincy:<br>
Well. Here is Your reward. I'll wait until you hear the voice of the Goddess. I hope Your efforts were not in vain.
</body></html>

View File

@ -0,0 +1,185 @@
/*
* 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.Q00772_PurifyingSouls;
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;
/**
* Purifying Souls (772)
* @URL https://l2wiki.com/Purifying_Souls
* @author Gigi
*/
public class Q00772_PurifyingSouls extends Quest
{
// NPC
private static final int QUINCY = 33838;
// Monsters
private static final int[] MONSTERS =
{
23330, // Rubble
23337, // Large Rubble
23332, // One-armed Zombie
23333, // Putrefied Zombie
23334, // Shelop
25927, // Krogel
23335, // Poras
23336 // Death Worm
};
// Items
private static final int SOUL_OF_DARKNESS = 36680;
private static final int FAINT_SOUL_OF_LIGHT = 36696;
// Reward
private static final int ELEXIR_OF_LIFE = 30357;
private static final int ELEXIR_OF_MIND = 30358;
private static final int ELEXIR_OF_BLESSING = 32316;
private static final int SOE_LEND_OF_CHAOS = 37018;
private static final int ELMORES_MYSTERIUS_BOX = 37021;
private static final int ELMORES_NOBLE_BOX = 37022;
private static final int ENERGY_OF_DESTRUCTION = 35562;
// Misc
private static final int MIN_LEVEL = 99;
public Q00772_PurifyingSouls()
{
super(772);
addStartNpc(QUINCY);
addTalkId(QUINCY);
addKillId(MONSTERS);
registerQuestItems(SOUL_OF_DARKNESS, FAINT_SOUL_OF_LIGHT);
addCondMinLevel(MIN_LEVEL, "33838-0.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 "33838-2.htm":
case "33838-3.htm":
case "33838-7.html":
case "33838-8.html":
{
htmltext = event;
break;
}
case "33838-4.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33838-9.html":
{
if (qs.isCond(2) && (getQuestItemsCount(player, SOUL_OF_DARKNESS) >= 50))
{
if ((getQuestItemsCount(player, FAINT_SOUL_OF_LIGHT) >= 1000) && (getQuestItemsCount(player, FAINT_SOUL_OF_LIGHT) <= 1999))
{
giveItems(player, ELMORES_MYSTERIUS_BOX, 1);
}
else if (getQuestItemsCount(player, FAINT_SOUL_OF_LIGHT) >= 2000)
{
giveItems(player, ELMORES_NOBLE_BOX, 1);
giveItems(player, ENERGY_OF_DESTRUCTION, 1);
}
giveItems(player, ELEXIR_OF_LIFE, 5);
giveItems(player, ELEXIR_OF_MIND, 5);
giveItems(player, ELEXIR_OF_BLESSING, 5);
giveItems(player, SOE_LEND_OF_CHAOS, 1);
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() == QUINCY)
{
switch (qs.getState())
{
case State.COMPLETED:
{
if (!qs.isNowAvailable())
{
htmltext = "33838-10.htm";
break;
}
qs.setState(State.CREATED);
}
case State.CREATED:
{
htmltext = "33838-1.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33838-5.html";
}
else if (qs.isStarted() && qs.isCond(2))
{
htmltext = "33838-6.html";
}
break;
}
}
}
else
{
if (qs.isCompleted() && !qs.isNowAvailable())
{
htmltext = "33838-10.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) && (giveItemRandomly(killer, npc, SOUL_OF_DARKNESS, 1, 50, 0.1, true)))
{
qs.setCond(2, true);
}
if ((qs != null) && (qs.getCond() > 0) && (getRandom(100) < 40))
{
giveItems(killer, FAINT_SOUL_OF_LIGHT, 1);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -181,6 +181,7 @@ import quests.Q00762_AnOminousRequest.Q00762_AnOminousRequest;
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.Q00784_TheQuietKiller.Q00784_TheQuietKiller;
import quests.Q00786_AwaitingTheVoiceOfTheGods.Q00786_AwaitingTheVoiceOfTheGods;
import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
@ -562,6 +563,7 @@ public class QuestMasterHandler
Q00763_ADauntingTask.class,
Q00764_WeakeningTheVarkaSilenosForces.class,
Q00765_WeakeningTheKetraOrcForces.class,
Q00772_PurifyingSouls.class,
Q00784_TheQuietKiller.class,
Q00786_AwaitingTheVoiceOfTheGods.class,
Q00901_HowLavasaurusesAreMade.class,