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>Researcher Ankumi:<br>
Good day traveler! I happen to be in need of a sword. You at least look the type...<br>
(Only characters level 82 and above are permitted to take on this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Researcher Ankumi:<br>
Have you ever seen Tanta Seer Ugoros? The scales on Seer Ugoros are of the highest quality of scales I have ever seen. Unfortunately, they are very hard to come by and causing a bit of strain on documenting and cataloging the different types of scales on the Lizardmen. Don't suppose you would be willing to help out, would you?<br>
<a action="bypass -h Quest Q00288_HandleWithCare 32741-03.htm">Ask about how to obtain it.</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Researcher Ankumi:<br>
Oh, one last thing before you go. There are these plants called <font color="LEVEL">Abyss Weed</font> that grow around <font color="LEVEL">Tanta Seer Ugoros</font>. When he eats these plants it restores him and turns his scales into armor.<br>
<font color="LEVEL">His scales are of the best quality when he has NOT eaten the abyss weed.</font><br>
If you can get me this type of scale your reward might be more than you imagine. Do we have a deal?<br>
<a action="bypass -h Quest Q00288_HandleWithCare 32741-04.html">Say you will acquire the scale for her.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Researcher Ankumi:<br>
It's a deal! If you haven't already, speak with Chief Investigator Johnny. He knows a way to see Tanta Seer Ugoros.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Researcher Ankumi:<br>
What is taking so long? Having a hard time finding Seer Ugoros? I told you that this would take a while.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Researcher Ankumi:<br>
Amazing! This is the best scale I've seen yet! I can now see why Johnny has been envious of your skills. But you are not here to listen to my flattery... you are here to get paid. Don't suppose you would be interested in working for me from time to time?<br>
<a action="bypass -h Quest Q00288_HandleWithCare 32741-08.html">Agree to work for her when you can.</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Researcher Ankumi:<br>
Amazing! This is the best scale I've seen yet! I can now see why Johnny has been envious of your skills. But you are not here to listen to my flattery... you are here to get paid. Don't suppose you would be interested in working for me from time to time?<br>
<a action="bypass -h Quest Q00288_HandleWithCare 32741-08.html">Agree to work for her when you can.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Researcher Ankumi:<br>
I greatly appreciate it. You said that you would help me again, so stop by when you can, okay?
</body></html>

View File

@@ -0,0 +1,220 @@
/*
* 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.Q00288_HandleWithCare;
import com.l2jserver.gameserver.enums.QuestSound;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.holders.ItemHolder;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.model.quest.State;
import com.l2jserver.gameserver.util.Util;
/**
* Handle With Care (288)
* @author Zoey76
*/
public class Q00288_HandleWithCare extends Quest
{
// NPC
private static final int ANKUMI = 32741;
// Monster
private static final int SEER_UGOROS = 18863;
// Items
private static final int HIGH_GRADE_LIZARD_SCALE = 15497;
private static final int MIDDLE_GRADE_LIZARD_SCALE = 15498;
private static final int SCROLL_ENCHANT_WEAPON_S_GRADE = 959;
private static final int SCROLL_ENCHANT_ARMOR_S_GRADE = 960;
private static final int HOLY_CRYSTAL = 9557;
private static final ItemHolder[] REWARDS =
{
new ItemHolder(SCROLL_ENCHANT_WEAPON_S_GRADE, 1),
new ItemHolder(SCROLL_ENCHANT_ARMOR_S_GRADE, 1),
new ItemHolder(SCROLL_ENCHANT_ARMOR_S_GRADE, 2),
new ItemHolder(SCROLL_ENCHANT_ARMOR_S_GRADE, 3),
new ItemHolder(HOLY_CRYSTAL, 1),
new ItemHolder(HOLY_CRYSTAL, 2)
};
// Misc
private static final int MIN_LEVEL = 82;
public Q00288_HandleWithCare()
{
super(288, Q00288_HandleWithCare.class.getSimpleName(), "Handle With Care");
addStartNpc(ANKUMI);
addTalkId(ANKUMI);
addKillId(SEER_UGOROS);
registerQuestItems(HIGH_GRADE_LIZARD_SCALE, MIDDLE_GRADE_LIZARD_SCALE);
}
@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 "32741-03.htm":
{
if (player.getLevel() >= MIN_LEVEL)
{
htmltext = event;
}
break;
}
case "32741-04.html":
{
if (player.getLevel() >= MIN_LEVEL)
{
st.startQuest();
htmltext = event;
}
break;
}
case "32741-08.html":
{
if (st.isCond(2) || st.isCond(3))
{
ItemHolder reward = null;
if (st.hasQuestItems(MIDDLE_GRADE_LIZARD_SCALE))
{
st.takeItems(MIDDLE_GRADE_LIZARD_SCALE, 1);
final int rnd = getRandom(10);
if (rnd == 0)
{
reward = REWARDS[0];
}
else if (rnd < 4)
{
reward = REWARDS[1];
}
else if (rnd < 6)
{
reward = REWARDS[2];
}
else if (rnd < 7)
{
reward = REWARDS[3];
}
else if (rnd < 9)
{
reward = REWARDS[4];
}
else
{
reward = REWARDS[5];
}
}
else if (st.hasQuestItems(HIGH_GRADE_LIZARD_SCALE))
{
st.takeItems(HIGH_GRADE_LIZARD_SCALE, 1);
final int rnd = getRandom(10);
if (rnd == 0)
{
reward = REWARDS[0];
}
else if (rnd < 5)
{
reward = REWARDS[1];
}
else if (rnd < 8)
{
reward = REWARDS[2];
}
else
{
reward = REWARDS[3];
}
st.giveItems(REWARDS[4]);
}
if (reward != null)
{
st.giveItems(reward);
}
st.exitQuest(true, true);
htmltext = event;
break;
}
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState st = getQuestState(killer, false);
if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
{
if (!st.hasQuestItems(MIDDLE_GRADE_LIZARD_SCALE))
{
st.giveItems(MIDDLE_GRADE_LIZARD_SCALE, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
st.setCond(2, true);
}
else if (!st.hasQuestItems(HIGH_GRADE_LIZARD_SCALE))
{
st.giveItems(HIGH_GRADE_LIZARD_SCALE, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
st.setCond(3, true);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (st == null)
{
return htmltext;
}
switch (st.getState())
{
case State.CREATED:
htmltext = (player.getLevel() < MIN_LEVEL) ? "32741-01.html" : "32741-02.htm";
break;
case State.STARTED:
if (st.isCond(1) && !st.hasQuestItems(HIGH_GRADE_LIZARD_SCALE) && !st.hasQuestItems(MIDDLE_GRADE_LIZARD_SCALE))
{
htmltext = "32741-05.html";
}
else if (st.isCond(2) && st.hasQuestItems(MIDDLE_GRADE_LIZARD_SCALE))
{
htmltext = "32741-06.html";
}
if (st.isCond(2) && st.hasQuestItems(HIGH_GRADE_LIZARD_SCALE))
{
htmltext = "32741-07.html";
}
break;
}
return htmltext;
}
}