This commit is contained in:
mobius
2015-01-01 20:02:50 +00:00
parent eeae660458
commit a6a3718849
17894 changed files with 2818932 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
<html><body>Nameless Spirit:<br>
Oh, hello again! Yes, I spoke with Wigoth, and he assures me that this song is the one! <font color="LEVEL">We can now pass through the force field.</font> It brings us one step closer to him, eh?<br>By the way, <font color="LEVEL">could you help me put Frintezza to sleep</font>? As I said, we can't eliminate Frintezza completely with our power at its current level... But we can wait until he wakes up and then put him back to sleep before he can act!<br>
<a action="bypass -h Quest Q00654_JourneyToASettlement 31453-02.htm">"I'll help you."</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Nameless Spirit:<br>
Yes, thank you! Now I'll help you and your friends pass through the force field. By the way, where are your friends? Surely you don't intend to take Frintezza on all by yourself, do you? You should take <font color="LEVEL">up to four parties</font> with you. Frintezza's evil power won't be easily defeated! <font color="LEVEL">More than 5 parties cannot enter due to the size of the space</font>.<br>
You and your friends will need a <font color="LEVEL">magic scroll that can temporarily disable the force field</font> so you can pass through. Since you got the password, creating the scroll should be no problem! That is, unless...<br>
<a action="bypass -h Quest Q00654_JourneyToASettlement 31453-03.html">"Unless...?"</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Nameless Spirit:<br>
Well... I need a <font color="LEVEL">parchment to write the spell on</font>. Go to the <font color="LEVEL">Wall of Argos</font> and slaughter the <font color="LEVEL">Canyon Antelope</font> or the <font color="LEVEL">Canyon Antelope Slave</font> and bring me the <font color="LEVEL">Skin of the Antelope</font>! It'll make a lovely parchment!<br>
Ah! By the way, <font color="LEVEL">once you pass through the force field, only the Command Channel Leader in command of all the parties needs the scroll</font>. Therefore, only one skin is needed.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Nameless Spirit:<br>
What do you want? I have nothing to say to you.<br>
(Characters must have achieved at least level 74 and completed the "Last Imperial Prince" quest before undertaking this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Nameless Spirit:<br>
Go to the <font color="LEVEL">Wall of Argos</font> and slaughter the <font color="LEVEL">Canyon Antelope</font> or the <font color="LEVEL">Canyon Antelope Slave</font> and bring back the <font color="LEVEL">Skin of the Antelope</font>? It will make a wonderful parchment.<br>
Ah! by the way, <font color="LEVEL">when you pass through the force field, only the Command Channel Leader in command of all the parties needs the scroll.</font> Therefore, only one scroll is needed.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Nameless Spirit:<br>
Excellent! Now, could you please smooth out the skin? Remove the hair, and smooth out the skin so that it's thin and soft. Just enough for me to write the spell down...<br>
<a action="bypass -h Quest Q00654_JourneyToASettlement 31453-07.html">"Here it is."</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Nameless Spirit:<br>
Good job... Now to write down the spell...<br>....<font color="LEVEL">Light turns darkness away, and shines upon the hidden door. All obstacles will disappear and the path to truth will become clear</font>...<br>
Alright, it's done. Now, you and your friends go and meet the Imperial Tomb Guide near the entrance of the Imperial Tomb. He'll take you to Frintezza...<br>
(Make sure the Command Channel Leader has Frintezza's Magic Force Field Removal Scroll when you meet the Imperial Tomb Guide.)
</body></html>

View File

@@ -0,0 +1,138 @@
/*
* Copyright (C) 2004-2014 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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.Q00654_JourneyToASettlement;
import java.util.HashMap;
import java.util.Map;
import quests.Q00119_LastImperialPrince.Q00119_LastImperialPrince;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
/**
* Journey to a Settlement (654)
* @author Adry_85
*/
public final class Q00654_JourneyToASettlement extends Quest
{
// NPC
private static final int NAMELESS_SPIRIT = 31453;
// Items
private static final int ANTELOPE_SKIN = 8072;
private static final int FRINTEZZAS_SCROLL = 8073;
// Misc
private static final int MIN_LEVEL = 74;
private static final Map<Integer, Double> MOBS_SKIN = new HashMap<>();
static
{
MOBS_SKIN.put(21294, 0.840); // Canyon Antelope
MOBS_SKIN.put(21295, 0.893); // Canyon Antelope Slave
}
public Q00654_JourneyToASettlement()
{
super(654, Q00654_JourneyToASettlement.class.getSimpleName(), "Journey to a Settlement");
addStartNpc(NAMELESS_SPIRIT);
addTalkId(NAMELESS_SPIRIT);
addKillId(MOBS_SKIN.keySet());
registerQuestItems(ANTELOPE_SKIN);
}
@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 "31453-02.htm":
{
st.startQuest();
st.setMemoState(1);
htmltext = event;
break;
}
case "31453-03.html":
{
if (st.isMemoState(1))
{
st.setMemoState(2);
st.setCond(2, true);
htmltext = event;
}
}
case "31453-07.html":
{
if (st.isMemoState(2) && st.hasQuestItems(ANTELOPE_SKIN))
{
giveItems(player, FRINTEZZAS_SCROLL, 1);
st.exitQuest(true, true);
htmltext = event;
}
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
final QuestState st = getRandomPartyMemberState(player, 2, 3, npc);
if ((st != null) && giveItemRandomly(st.getPlayer(), npc, ANTELOPE_SKIN, 1, 1, MOBS_SKIN.get(npc.getId()), true))
{
st.setCond(3);
}
return super.onKill(npc, player, isSummon);
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
QuestState st = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (st.isCreated())
{
st = player.getQuestState(Q00119_LastImperialPrince.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "31453-01.htm" : "31453-04.htm";
}
else if (st.isStarted())
{
if (st.isMemoState(1))
{
st.setMemoState(2);
st.setCond(2, true);
htmltext = "31453-03.html";
}
else if (st.isMemoState(2))
{
htmltext = (hasQuestItems(player, ANTELOPE_SKIN) ? "31453-06.html" : "31453-05.html");
}
}
return htmltext;
}
}