Quest Decaying Darkness (10318).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev 2016-07-25 21:09:59 +00:00
parent 1ff8e57d59
commit f221149cd9
13 changed files with 265 additions and 1 deletions

View File

@ -82,7 +82,6 @@
10312 Abandoned God's Creature
10315 To the Prison of Darkness
10316 Undecaying Memory of the Past
10318 Decaying Darkness
10351 Owner of Hall
10352 Legacy of Cruma Tower
10353 Certification of Value

View File

@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
Your spirit twists in the wind, and you fight against the tides. Why? Tell me what you're doing here.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10318_DecayingDarkness 32892-02.htm">"I want to know what's going on."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Divine Messenger Lydia:<br>
Curious, aren't you?<br1>
Everyone in Magmeld believes that Orbis Hall is filled with heroes and champions. They believe that Octavis' rule was peaceful, and perfect. They believe that crime was nothing more than a word, and that war was something consigned to the history books.<br>
The truth is quite different.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10318_DecayingDarkness 32892-03.htm">"Tell me."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Divine Messenger Lydia:<br>
No. Truth is found in what we uncover. We can be told lies, but we cannot witness them. I will point you towards truth - you must then work to uncover it.<br>
Defeat the <font color="LEVEL">Cursed Ancient Heroes</font>; specifically the <font color="LEVEL">Cursed Orbis Victim, Cursed Orbis Guard, Cursed Orbis Thrower, Cursed Orbis Curator, Cursed Orbis Ancient Hero, Cursed Orbis Elder Curator</font>.<br>
They were adored by the Gods once, but now are abhorrent abominations, warped by the <font color="LEVEL">Decaying Darkness</font> that is so key to your simple search for truth.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10318_DecayingDarkness 32892-04.htm">"Decaying Darkness?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Divine Messenger Lydia:<br>
Yes, that's right. The Decaying Darkness... the key to understanding the truth of this place. But, as I said, I will not tell you the truth, rather, I will let you witness it.<br>
One tip: when you fight the ancient heroes, they will likely use a curse on you. The afflicted appear as they do... we call it the <font color="LEVEL">Contamination</font> , and it is a state that both poisons and strengthens.<br1>
Now go. Uncover the truth you so desperately seek.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10318_DecayingDarkness 32892-05.htm">"Okay."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
Good luck. You can proove you've witnessed enough of the madness by bringing me <font color="LEVEL">8 Curse Residue</font> from Orbis Temple.<br>
Goodbye.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
Remember, kill the <font color="LEVEL">Cursed Orbis Victim, Cursed Orbis Guard, Cursed Orbis Thrower, Cursed Orbis Curator, Cursed Orbis Ancient Hero, Cursed Orbis Elder Curator</font> until you have 8 <font color="LEVEL">Curse Residues</font>.<br>
Hurry to the Orbis Temple...
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
Have you guys done what I have asked for by any chance? Gathering enough amount of <font color="LEVEL">Curse residue</font>-s<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10318_DecayingDarkness 32892-07.html">"Yes, of course"</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Divine Messenger Lydia:<br>
Good.<br1>
So now you have experienced the Decaying Darkness for yourself, and the destructive horrors it is responsible for. This power turned the most honorable heroes into hideous monsters, and caused Spezion eternal pain and suffering. <br1>
For you to withstand such punishment, you must have blessed by <font color="LEVEL">Shilen</font> herself... you have passed your test, child. You may talk to me again.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
I believe you understand the importance of our mission. Now is the time for heroes to step forward.<br>
(You have already completed this quest.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Divine Messenger Lydia:<br>
Patience is a virtue, child. Running before you can walk will result in cut knees.<br>
(Only characters who have completed Orbis Witch quest, and are level 95 or above, may start this quest)
</body></html>

View File

@ -0,0 +1,216 @@
/*
* 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.Q10318_DecayingDarkness;
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 quests.Q10317_OrbisWitch.Q10317_OrbisWitch;
/**
* Decaying Darkness (10318)
* @URL https://l2wiki.com/Decaying_Darkness_(quest)
* @author Gigi
*/
public final class Q10318_DecayingDarkness extends Quest
{
// NPC
private static final int LYDIA = 32892;
// Summoners
private static final int ORBIS_VICTIM = 22911;
private static final int ORBIS_CURATOR = 22921;
private static final int ORBIS_THROWER = 22917;
private static final int ORBIS_ANCIENT_HERO = 22924;
private static final int ORBIS_GUARD = 22915;
private static final int ORBIS_CHIEF = 22927;
// Monsters
private static final int[] MONSTERS =
{
18978, // Orbis' Victim Cursed
18979, // Orbis' Guard Cursed
18980, // Orbis' Thrower Cursed
18981, // Orbis' Curator Cursed
18982, // Orbis' Ancient Hero Cursed
18983 // Orbis' Chief Curator Cursed
};
// Item
private static final int CURSE_RESIDUE = 17733;
// Misc
private static final int MIN_LEVEL = 95;
public Q10318_DecayingDarkness()
{
super(10318);
addStartNpc(LYDIA);
addTalkId(LYDIA);
addAttackId(ORBIS_VICTIM, ORBIS_CURATOR, ORBIS_THROWER, ORBIS_ANCIENT_HERO, ORBIS_GUARD, ORBIS_CHIEF);
addKillId(MONSTERS);
registerQuestItems(CURSE_RESIDUE);
addCondMinLevel(MIN_LEVEL, "32892-09.html");
addCondCompletedQuest(Q10317_OrbisWitch.class.getSimpleName(), "32892-09.html");
}
@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 "32892-02.htm":
case "32892-03.htm":
case "32892-04.htm":
{
htmltext = event;
break;
}
case "32892-05.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "32892-07.html":
{
giveAdena(player, 5427900, false);
addExpAndSp(player, 79260650, 19022);
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 == LYDIA)
{
htmltext = "32892-01.htm";
}
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "32892-06.html";
}
else if (qs.isCond(2) && (getQuestItemsCount(player, CURSE_RESIDUE) >= 8))
{
htmltext = "32892-06a.html";
}
break;
}
case State.COMPLETED:
{
htmltext = "32892-08.html";
break;
}
}
return htmltext;
}
@Override
public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
{
final QuestState qs = getQuestState(attacker, false);
if ((qs != null) && qs.isCond(1))
{
if (getRandom(100) < 5)
{
switch (npc.getId())
{
case ORBIS_VICTIM:
{
final L2Npc mob = addSpawn(18978, npc.getX(), npc.getY(), npc.getZ(), 0, false, 60000);
addAttackPlayerDesire(mob, attacker, 5);
npc.deleteMe();
break;
}
case ORBIS_CURATOR:
{
final L2Npc mob1 = addSpawn(18981, npc.getX(), npc.getY(), npc.getZ(), 0, false, 60000);
addAttackPlayerDesire(mob1, attacker, 5);
npc.deleteMe();
break;
}
case ORBIS_THROWER:
{
final L2Npc mob2 = addSpawn(18980, npc.getX(), npc.getY(), npc.getZ(), 0, false, 60000);
addAttackPlayerDesire(mob2, attacker, 5);
npc.deleteMe();
break;
}
case ORBIS_ANCIENT_HERO:
{
final L2Npc mob3 = addSpawn(18982, npc.getX(), npc.getY(), npc.getZ(), 0, false, 60000);
addAttackPlayerDesire(mob3, attacker, 5);
npc.deleteMe();
break;
}
case ORBIS_GUARD:
{
final L2Npc mob4 = addSpawn(18979, npc.getX(), npc.getY(), npc.getZ(), 0, false, 60000);
addAttackPlayerDesire(mob4, attacker, 5);
npc.deleteMe();
break;
}
case ORBIS_CHIEF:
{
final L2Npc mob5 = addSpawn(18983, npc.getX(), npc.getY(), npc.getZ(), 0, false, 60000);
addAttackPlayerDesire(mob5, attacker, 5);
npc.deleteMe();
break;
}
}
}
}
return super.onAttack(npc, attacker, damage, isSummon);
}
@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, CURSE_RESIDUE, 1, 8, 0.7, true))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -203,6 +203,7 @@ import quests.Q10302_UnsettlingShadowAndRumors.Q10302_UnsettlingShadowAndRumors;
import quests.Q10305_UnstoppableFutileEfforts.Q10305_UnstoppableFutileEfforts;
import quests.Q10306_TheCorruptedLeader.Q10306_TheCorruptedLeader;
import quests.Q10317_OrbisWitch.Q10317_OrbisWitch;
import quests.Q10318_DecayingDarkness.Q10318_DecayingDarkness;
import quests.Q10320_LetsGoToTheCentralSquare.Q10320_LetsGoToTheCentralSquare;
import quests.Q10321_QualificationsOfTheSeeker.Q10321_QualificationsOfTheSeeker;
import quests.Q10322_SearchingForTheMysteriousPower.Q10322_SearchingForTheMysteriousPower;
@ -546,6 +547,7 @@ public class QuestMasterHandler
Q10305_UnstoppableFutileEfforts.class,
Q10306_TheCorruptedLeader.class,
Q10317_OrbisWitch.class,
Q10318_DecayingDarkness.class,
Q10320_LetsGoToTheCentralSquare.class,
Q10321_QualificationsOfTheSeeker.class,
Q10322_SearchingForTheMysteriousPower.class,