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,6 @@
<html><body>Magister Dieter:<br>
Have you ever been to <font color="LEVEL">Devil's Isle</font>? It is the home of the devil Zaken. Of course he is not alone. There are all manner of nasty beasts there with him.<br>
Deep in the interior of the island you will find <font color="LEVEL">living dolls with silvery hair</font> that seems to be bathed in perpetual moonlight. Their hair intrigues me. I must get my hands on some of that magical stuff! The legendary power of just a few strands... Oh, well. Enough of my ramblings.<br>
Will you do it? Will you bring back some of their hair for me? You will be handsomely rewarded!<br>
<a action="bypass -h Quest Q00366_SilverHairedShaman 30111-02.htm">"I will collect the dolls' hair for you."</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Magister Dieter:<br>
Great news. Now, please go to <font color="LEVEL">Devil's Isle</font> and slay <font color="LEVEL">Sairon, Sairon's Doll and Sairon's Puppet</font>. But don't forget to bring back <font color="LEVEL">Sairon's Silver Hair</font>. You will be amply rewarded.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Dieter:<br>
Have you ever been to Devil's Isle? It is the home of the devil Zaken. Of course he is not alone. There are all manner of nasty beasts there with him.<br>
Deep in the interior of the island you will find living dolls with silvery hair that seems to be bathed in perpetual moonlight. Their hair intrigues me. I must get my hands on some of that magical stuff! But I am afraid you are not yet up to this task. Come back when you think you have become stronger.<br>
(This quest can only be undertaken by a character of level 48 or higher.)
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Magister Dieter:<br>
You have done well! At last, I can...<br>
Ah, yes, your pay. Please bring me some more hair! The more the better!<br>
Please don't tell anyone I'm collecting this stuff...<br>
<a action="bypass -h Quest Q00366_SilverHairedShaman 30111-05.html">"I want to quit."</a><br>
<a action="bypass -h Quest Q00366_SilverHairedShaman 30111-06.html">"I will continue working for you."</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Magister Dieter:<br>
That's too bad. I was hoping to collect more hair. If you change your mind, please come back and see me.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Magister Dieter:<br>
Go to <font color="LEVEL">Devil's Isle</font>, slay <font color="LEVEL">Sairon, Sairon's doll and Sairon's puppet</font> and bring back their hair.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Dieter:<br>
As I said, you must go to <font color="LEVEL">Devil's Isle</font>, slay <font color="LEVEL">Sairon, Sairon's doll and Sairon's puppet</font> and bring back <font color="LEVEL">Sairon's Silver Hair</font>. You will be amply rewarded.<br>
<a action="bypass -h Quest Q00366_SilverHairedShaman 30111-05.html">"I want to quit."</a><br>
<a action="bypass -h Quest Q00366_SilverHairedShaman 30111-06.html">"I will continue working for you."</a>
</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.Q00366_SilverHairedShaman;
import java.util.HashMap;
import java.util.Map;
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;
/**
* Silver Haired Shaman (366)
* @author Adry_85, jurchiks
*/
public final class Q00366_SilverHairedShaman extends Quest
{
// NPC
private static final int DIETER = 30111;
// Item
private static final int SAIRONS_SILVER_HAIR = 5874;
// Misc
private static final int MIN_LEVEL = 48;
// Mobs
private static final Map<Integer, Integer> MOBS = new HashMap<>();
static
{
MOBS.put(20986, 80); // saitnn
MOBS.put(20987, 73); // saitnn_doll
MOBS.put(20988, 80); // saitnn_puppet
}
public Q00366_SilverHairedShaman()
{
super(366, Q00366_SilverHairedShaman.class.getSimpleName(), "Silver Haired Shaman");
addStartNpc(DIETER);
addTalkId(DIETER);
addKillId(MOBS.keySet());
registerQuestItems(SAIRONS_SILVER_HAIR);
}
@Override
public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
{
final QuestState qs = getQuestState(member, false);
return ((qs != null) && qs.isStarted());
}
@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 "30111-02.htm":
{
st.startQuest();
htmltext = event;
break;
}
case "30111-05.html":
{
st.exitQuest(true, true);
htmltext = event;
break;
}
case "30111-06.html":
{
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
if (getRandom(100) < MOBS.get(npc.getId()))
{
L2PcInstance luckyPlayer = getRandomPartyMember(player, npc);
if (luckyPlayer != null)
{
giveItemRandomly(luckyPlayer, npc, SAIRONS_SILVER_HAIR, 1, 0, 1.0, true);
}
}
return super.onKill(npc, player, isSummon);
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (st.isCreated())
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30111-01.htm" : "30111-03.html";
}
else if (st.isStarted())
{
if (hasQuestItems(player, SAIRONS_SILVER_HAIR))
{
final long itemCount = getQuestItemsCount(player, SAIRONS_SILVER_HAIR);
giveAdena(player, (itemCount * 500) + 29000, true);
takeItems(player, SAIRONS_SILVER_HAIR, -1);
htmltext = "30111-04.html";
}
else
{
htmltext = "30111-07.html";
}
}
return htmltext;
}
}