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,5 @@
<html><body>Hesed of the Black Anvil Guild:<br>
I've been waiting for you! So you met <font color="LEVEL">Verna</font>, huh? She said someone called <font color="LEVEL">WinningSheen</font> came to ask her all kinds of questions about Mother Nornil, and wanted to talk to you again. You must have really impressed her, huh? She remembers your name!<br>
So why don't you go see her if you're not busy? Since she's looking for you and all.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10387_SoullessOne 33780-02.htm">"Oh, I will."</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Hesed of the Black Anvil Guild:<br>
I'm sure you know where Verna is, but I'll tell you just in case. Hey, you try getting old. Every little thing is worrisome.<br>
<font color="LEVEL">Verna</font> is at <font color="LEVEL">Stronghold III</font> on the Isle of Souls. If you use <font color="LEVEL">Sayune</font> here, you can go in a heartbeat!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Hesed of the Black Anvil Guild:<br>
Hey, friend.<br>
Tsk tsk, what are you doing here, slowpoke? I already told you that <font color="LEVEL">Verna</font> is at <font color="LEVEL">Stronghold III</font> on the Isle of Souls. I even told you about using the <font color="LEVEL">Sayune</font>! Get a move on!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Hesed of the Black Anvil Guild:<br>
So, good conversation with Verna?<br>
(You have already completed this quest.)
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Verna:<br>
<font color="LEVEL">%playername%</font>. I've been waiting for you.<br>
Since the last time you came to see me, I've thought about it a lot. It's hard to imagine you came all way to this dangerous place just because you were curious. But I highly respect that you are capable enough to come to me safely after fighting all the Golems and Spiculas infected with the Laido Virus.<br>
I may not be able to sate your curiosity, but let me make a proposal. I intend to pay up on my end, of course - this could be a little dangerous or very dangerous, depending on how you look at it.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10387_SoullessOne 33796-02.html">"What do you propose?"</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Verna:<br>
It's also linked to Mother Nornil, whom I've told you about. The <font color="LEVEL">Laido Virus</font> has spread all over Isle of Souls, and <font color="LEVEL">Yin</font> and <font color="LEVEL">Boz</font> are cloning Spiculas. The situation is too grave to have been caused by Dr. Chaos alone.<br>
The activation of Mother Nornil's defense system speaks for itself.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10387_SoullessOne 33796-03.html">"Tell me more."</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Verna:<br>
You know that the Isle of Souls has become a danger zone due to Mother Nornil's defense system, right? At the heart of that system is a <font color="LEVEL">weapon</font> devised by <font color="LEVEL">Mimir</font>, the greatest scientist of the Age of Giants.<br>
It's a <font color="LEVEL">Spicula prototype</font>, created long before the Metusela Kamaels of today. It has no soul, and exists only to destroy; once a target is set, it will attack relentlessly until the target is dead.<br>
All we Kamaels know today is that there is a mysterious entity, a spear aimed at the gods.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10387_SoullessOne 33796-04.html">"And this entity is called...?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Verna:<br>
Still as curious as ever, I see. This entity is a soulless weapon driven only to destroy. It bears no resemblance to the Metusela Kamaels, who walk their paths with their own strength of will.<br>
You can meet this entity at <font color="LEVEL">Nornil's Garden</font>. It has remained within, which means its powers have not yet fully awakened. I fear to imagine what could happen to Isle of Souls when it leaves Nornil's Garden.<br>
I will tell you its identity if you go to fight it.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10387_SoullessOne 33796-05.html">"I will go to Nornil's Garden."</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Verna:<br>
It's <font color="LEVEL">Spicula Zero</font>, awakened by Morther Nornil to fight Dr. Chaos.<br>
To go to Nornil's Garden, find the <font color="LEVEL">Boz Core</font> in the darkest depths of <font color="LEVEL">Nornil's Cave</font>.<br>
The <font color="LEVEL">Nornil Teleport Device</font> is still at the cave entrance. Dr. Chaos can't be forgiven for what he has done to Isle of Souls, but at least he left something handy behind.<br>
Battling Spicula Zero will be dangerous. You must bring companions with you.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Verna:<br>
To go to Nornil's Garden, find the <font color="LEVEL">Boz Core</font> in the darkest depths of <font color="LEVEL">Nornil's Cave</font>.<br>
The <font color="LEVEL">Nornil Teleport Device</font> has been left behind by Dr. Chaos at the cave entrance.<br>
Battling Spicula Zero will be dangerous. You must bring companions with you.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Verna:<br>
You're back! I am glad. I had been worrying about you since receiving a message about Spicula Zero from Kekropus.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10387_SoullessOne 33796-08.html">"Message?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Verna:<br>
The message says:<br>
"Unless another Mimir walks among us, there is no way to eliminate Spicula Zero against Mother Nornil's will. The <font color="LEVEL">soulless Spicula Zero</font> is <font color="LEVEL">immortal</font>, and continues to resurrect. But to restart its cycle of life, it must go through a period of incubation inside Mother Nornil."<br>
You see? Spicula Zero may seem dead and gone, but in fact it isn't.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10387_SoullessOne 33796-09.html">"So now what?"</Button>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Verna:<br>
It seems we've silenced Spicula Zero for now; unfortunately our battle will never end while Mother Nornil's defense system remains active. It may seem hopeless, but the brief moments of peace are worth fighting for.<br>
Here, I've gathered some valuables from our stores. It isn't much, but...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10387_SoullessOne reward1">68 Synthetic Cokes and 5 Scrolls: Enchant Armor (R-grade)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10387_SoullessOne reward2">1 Scroll: Enchant Weapon (R-grade) and 6 Scrolls: Enchant Armor (R-grade)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10387_SoullessOne reward3">4 Ingredient and Hardener Pouches (R-grade) and 5 Scrolls: Enchant Armor (R-grade)</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Verna:<br>
I would like you and your companions to subdue Spicula Zero every time.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Verna:<br>
We must find a way to exterminate Spicula Zero once and for all.<br>
(You have already completed this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Verna:<br>
Why have you come to such a dangerous place?<br>
(This quest is only available for characters that are <font color="LEVEL">level 93 or above</font>, and have completed the Mysterious Journey quest available through <font color="LEVEL">Hesed of the Black Anvil Guild</font> at the <font color="LEVEL">Isle of Souls Harbor</font>.)
</body></html>

View File

@@ -0,0 +1,206 @@
/*
* 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.Q10387_SoullessOne;
import com.l2jmobius.gameserver.enums.Movie;
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.Q10386_MysteriousJourney.Q10386_MysteriousJourney;
/**
* Soulless One (10387)
* @author St3eT
*/
public final class Q10387_SoullessOne extends Quest
{
// NPCs
private static final int HASED = 33780;
private static final int VERNA = 33796;
private static final int SPICULA_ZERO = 25901;
// Items
private static final int EWR = 17526; // Scroll: Enchant Weapon (R-grade)
private static final int EAR = 17527; // Scroll: Enchant Armor (R-grade)
private static final int COKES = 36563; // Synthetic Cokes
private static final int POUCH = 34861; // Ingredient and Hardener Pouch (R-grade)
// Misc
private static final int MIN_LEVEL = 93;
public Q10387_SoullessOne()
{
super(10387);
addStartNpc(HASED);
addTalkId(HASED, VERNA);
addKillId(SPICULA_ZERO);
addCondMinLevel(MIN_LEVEL, "33796-12.htm");
addCondCompletedQuest(Q10386_MysteriousJourney.class.getSimpleName(), "33796-12.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "33796-02.html":
case "33796-03.html":
case "33796-04.html":
case "33796-08.html":
case "33796-09.html":
{
htmltext = event;
break;
}
case "33780-02.htm":
{
st.startQuest();
htmltext = event;
break;
}
case "33796-05.html":
{
if (st.isCond(1))
{
st.setCond(2, true);
playMovie(player, Movie.SC_METUCELLAR_OPENING); // TODO: Need be created instance and run movie in instance
htmltext = event;
}
break;
}
case "reward1":
{
if (st.isCond(3))
{
giveItems(player, COKES, 68);
giveItems(player, EAR, 5);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 817_330_500, 196_159);
}
htmltext = "33796-10.html";
}
break;
}
case "reward2":
{
if (st.isCond(3))
{
giveItems(player, EWR, 1);
giveItems(player, EAR, 6);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 817_330_500, 196_159);
}
htmltext = "33796-10.html";
}
break;
}
case "reward3":
{
if (st.isCond(3))
{
giveItems(player, POUCH, 1);
giveItems(player, EAR, 5);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 817_330_500, 196_159);
}
htmltext = "33796-10.html";
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
switch (st.getState())
{
case State.CREATED:
{
if (npc.getId() == HASED)
{
htmltext = "33780-01.htm";
}
break;
}
case State.STARTED:
{
if (npc.getId() == HASED)
{
if (st.isCond(1))
{
htmltext = "33780-03.html";
}
}
else
{
switch (st.getCond())
{
case 1:
htmltext = "33796-01.htm";
break;
case 2:
htmltext = "33796-06.html";
break;
case 3:
htmltext = "33796-07.html";
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = npc.getId() == VERNA ? "33796-11.htm" : "33780-04.html";
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
executeForEachPlayer(killer, npc, isSummon, true, false);
return super.onKill(npc, killer, isSummon);
}
@Override
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
{
final QuestState st = getQuestState(player, false);
if ((st != null) && st.isCond(2))
{
st.setCond(3, true);
}
}
}