Merged with released L2J-Unity files.

This commit is contained in:
mobiusdev
2016-06-12 01:34:09 +00:00
parent e003e87887
commit 635557f5da
18352 changed files with 3245113 additions and 2892959 deletions

View File

@@ -0,0 +1,6 @@
<html><body>Verdure Elder Elikia:<br>
Fate doesn't just happen, nor can it be cut off just because one wants to.<br>
Meeting Lionel and taking part in giving out this test is all fate.<br>
And you must have come here because you will be passing it.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10812_FacingSadness 31620-02.htm">"What's the test about?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Verdure Elder Elikia:<br>
I've seen many atrocities around the continent.<br>
Battles against monsters, interracial battles... I wondered if the creatures in this land were headed in the right direction.<br>
That's when I met Lionel, and he told me about the long tests that he was working on. I believe that anyone who's on the path to pass those tests must be able to think deeper than anyone else, and properly.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10812_FacingSadness 31620-03.htm">"Properly?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Verdure Elder Elikia:<br>
What do you think of the monsters of the Material Realm? Those monsters are the subject to our blades, due to our long history in battle.<br>
I know of some creatures who were turned into monsters as a result of experiments. And there are those who've lost their precious ones to those monsters. I know their sadness and anger. But we don't always remember them when we defeat those monsters.<br>
I believe we must always remember the sadness and anger that they hold within. Don't you agree?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10812_FacingSadness 31620-04.html">"Sounds right."</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Verdure Elder Elikia:<br>
I'm about to give you a very long test. In that process, I want you to remember the sadness and anger of many.<br>
Go defeat the monsters in <font color="LEVEL">Raider's Crossroads</font> and <font color="LEVEL">Hellbound</font> and bring back the <font color="LEVEL">Proof of Disposal</font>.<br1>
If you <font color="LEVEL">defeat the stronger monsters in Hellbound</font>, you'll be able to collect the <font color="LEVEL">Proof of Disposal</font> even faster.<br>
In that long process, never forget the sadness that derives from long battles against the monsters.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Verdure Elder Elikia:<br>
It won't be easy bringing back proof of the monsters that you've defeated. But once you can do that, I'll acknowledge your strength.<br>
Go defeat the monsters in <font color="LEVEL">Raider's Crossroads</font> and <font color="LEVEL">Hellbound</font> and bring back the <font color="LEVEL">Proof of Disposal</font>.<br>
If you <font color="LEVEL">defeat the stronger monsters in Hellbound</font>, you'll be able to collect the <font color="LEVEL">Proof of Disposal</font> even faster.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Verdure Elder Elikia:<br>
I don't know how you found your way here, but I can't do anything for you if you haven't talked to Lionel Hunter.<br>
(Only characters who are performing the Exalted, One Who Faces the Limit quest may take this quest.)
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Verdure Elder Elikia:<br>
Are you done?<br>
You've done great.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10812_FacingSadness 31620-08.html">"Yes, I'm done."</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Verdure Elder Elikia:<br>
Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Verdure Elder Elikia:<br>
I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
(Only characters above Lv. 99.)
</body></html>

View File

@@ -0,0 +1,205 @@
/*
* 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.Q10812_FacingSadness;
import com.l2jmobius.Config;
import com.l2jmobius.commons.util.CommonUtil;
import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.instancemanager.QuestManager;
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.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimit;
/**
* Facing Sadness (10812)
* @author Gladicek
*/
public final class Q10812_FacingSadness extends Quest
{
// Npc
private static final int ELIKIA = 31620;
// Items
private static final int ELIKIA_CERTIFICATE = 45623;
private static final int PROOF_OF_DISPOSAL = 45871;
// Monsters (first group for one quest item, second for two quest items)
// TODO: Monsters from Raider's Crossroads
private static final int[] MONSTERS_1 =
{
19503, // Bridget
19506, // Flox Golem
19509, // Edan
19512, // Deathmoz
19574, // Cowing
23354, // Decay Hannibal
23355, // Armor Beast
23356, // Klein Soldier
23357, // Disorder Warrior
23358, // Blow Archer
23360, // Bizuard
23361, // Mutated Fly
23362, // Amos Soldier
23363, // Amos Officer
23364, // Amos Master
23365, // Ailith Hunter
23366, // Durable Charger
23374, // Lavi
23375, // Lavi
23401, // Bridget
};
private static final int[] MONSTERS_2 =
{
23384, // Smaug
23385, // Lunatikan
23386, // Jabberwok
23387, // Kanzaroth
23388, // Kandiloth
23395, // Garion
23396, // Garion Neti
23397, // Desert Wendigo
23398, // Koraza
23399, // Bend Beetle
};
// Misc
private static final int MIN_LEVEL = 99;
public Q10812_FacingSadness()
{
super(10812);
addStartNpc(ELIKIA);
addTalkId(ELIKIA);
addKillId(MONSTERS_1);
addKillId(MONSTERS_2);
addCondMinLevel(MIN_LEVEL, "31620-09.htm");
addCondStartedQuest(Q10811_ExaltedOneWhoFacesTheLimit.class.getSimpleName(), "31620-06.htm");
registerQuestItems(PROOF_OF_DISPOSAL);
}
@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 "31620-02.htm":
case "31620-03.htm":
{
htmltext = event;
break;
}
case "31620-04.html":
{
qs.startQuest();
htmltext = event;
break;
}
case "31620-08.html":
{
if (qs.isCond(2))
{
if ((player.getLevel() >= MIN_LEVEL))
{
takeItems(player, PROOF_OF_DISPOSAL, -1);
giveItems(player, ELIKIA_CERTIFICATE, 1);
addExpAndSp(player, 0, 498_204_432);
qs.exitQuest(false, true);
final Quest mainQ = QuestManager.getInstance().getQuest(Q10811_ExaltedOneWhoFacesTheLimit.class.getSimpleName());
if (mainQ != null)
{
mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
}
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
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 = "31620-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "31620-05.html";
}
else if (qs.isCond(2))
{
htmltext = "31620-07.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
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, PROOF_OF_DISPOSAL, CommonUtil.contains(MONSTERS_1, npc.getId()) ? 1 : 2);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
if (getQuestItemsCount(player, PROOF_OF_DISPOSAL) >= 8000)
{
qs.setCond(2, true);
}
}
}
}