Quest cleanup.
This commit is contained in:
@@ -1,23 +1,28 @@
|
||||
201
|
||||
202
|
||||
203
|
||||
204
|
||||
205
|
||||
206
|
||||
630 Pirate Treasure Hunt
|
||||
664 Quarrels Time
|
||||
910 Request from the Red Libra Guild - Basic
|
||||
911 Request from the Red Libra Guild - Intermediate
|
||||
912 Request from the Red Libra Guild - Advanced
|
||||
913 Request from the Red Libra Guild - Super Advanced
|
||||
914 Request from the Red Libra Guild - Lv. 5
|
||||
10861 Monster Arena - The Birth of a Warrior
|
||||
10862 Monster Arena - Challenge: 10 battles
|
||||
10863 Monster Arena - New Challenge: 15 battles
|
||||
10864 Monster Arena - Brave Warrior: 25 battles
|
||||
10865 Monster Arena - Last Call: 40 battles
|
||||
10867 Gone Missing
|
||||
10868 The Dark Side of Power
|
||||
10870 Unfinished Device
|
||||
10871 Death to the Pirate King!
|
||||
10960
|
||||
201 Tutorial: Blue Gemstones
|
||||
202 Tutorial: Blue Gemstones
|
||||
203 Tutorial: Blue Gemstones
|
||||
204 Tutorial: Blue Gemstones
|
||||
205 Tutorial: Blue Gemstones
|
||||
206 Tutorial: Blue Gemstones
|
||||
937 Deton's First Request
|
||||
938 Deton's Second Request
|
||||
939 Deton's Third Request
|
||||
940 Deton's Fourth Request
|
||||
941 Deton's Fifth Request
|
||||
942 Deton's Sixth Request
|
||||
943 Deton's Seventh Request
|
||||
944 Deton's Eighth Request
|
||||
945 Deton's Ninth Request
|
||||
946 Deton's Tenth Request
|
||||
10960 Tutorial: Blue Gemstones
|
||||
10968 The Power of the Magic Lamp
|
||||
10969 Spore-infested place
|
||||
10970 Respect for Graves
|
||||
10971 Talisman Enchant
|
||||
10972 Combining Gems
|
||||
10973 Enchanting Agathions
|
||||
10974 New Stylish Equipment
|
||||
10975 Let's Pay Respects to our Fallen Brethren
|
||||
10976 Memory of the Glorious Past
|
||||
10977 Traces of Battle
|
||||
10978 Missing Pets
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Guard Rath:<br>
|
||||
The population of lizardmen on the north side of Oren is mysteriously growing. This must be related to the increase in the power of evil since the release of Antharas. There have been wild rumors of ghastly ceremonies held in the forest at night! The lizardmen are most likely under the direct control of Shilen, and these rituals no doubt strengthen the power of Antharas.....<br>
|
||||
In the midst of all this turmoil, the guild has asked me to make the roads safe for trade! No doubt they feel that their village is threatened.<br>
|
||||
But this is Oren Territory, and there will be problems if we send regular troops in... The captain has ordered me to mobilize mercenaries to stabilize the area. Will you join us?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00300_HuntingLetoLizardman 30126-03.htm">"I'll do it."</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Guard Rath:<br>
|
||||
The population of lizardmen north of Oren is mysteriously growing. This must be related to the increase in the power of evil since the release of Antharas. There have been wild rumors of ghastly ceremonies held in the forest at night! The lizardmen are most likely under the direct control of Shilen, and these rituals no doubt strengthen the power of Antharas.....<br>
|
||||
In the midst of all this turmoil, the guild has asked me to make the roads safe for trade! No doubt they feel that their village is threatened.<br>
|
||||
But this is Oren Territory, and there will be problems if we send regular troops in... The captain has ordered me to mobilize mercenaries to stabilize the area, but I'm afraid you're not up to the job.<br>
|
||||
(This quest may only be undertaken by characters of level 34 or above.)
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Guard Rath:<br>
|
||||
Destroy the lizardmen and take their bracelets as proof of your victory.<br>
|
||||
Kill the <font color="LEVEL">Leto Lizardmen, Leto Lizardman Archers, Leto Lizardman Soldiers, Leto Lizardman Overlords', Leto Lizardman Warriors</font> and so on. Don't attack their shaman! It might cause them to stop the ritual before our investigation is complete. The ritual must not end until our investigation is complete!<br>
|
||||
The guild had already sent me a reward for 60 bracelets. I'll give it to you as soon as you earn it.
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Guard Rath:<br>
|
||||
Please try harder! You must get rid of those filthy lizardmen who threaten trade between Aden and Oren.
|
||||
</body></html>
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Guard Rath:<br>
|
||||
You're finished? Good work, but we're not done with those vile creatures yet! I'm sure the plains will be swarming with lizardmen again in a few short weeks. Now, let me count those bracelets.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00300_HuntingLetoLizardman 30126-06.html">"They're all there!"</Button>
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Guard Rath:<br>
|
||||
Feel free to come back and help us anytime! The life of a mercenary may not pay well, but it has its rewards! Please accept this token of our appreciation.
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Guard Rath:<br>
|
||||
I don't think so! You haven't brought enough! Bring 60 if you want a reward!
|
||||
</body></html>
|
@@ -1,176 +0,0 @@
|
||||
/*
|
||||
* 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.Q00300_HuntingLetoLizardman;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Hunting Leto Lizardman (300)
|
||||
* @author ivantotov
|
||||
*/
|
||||
public class Q00300_HuntingLetoLizardman extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int RATH = 30126;
|
||||
// Items
|
||||
private static final int BRACELET_OF_LIZARDMAN = 7139;
|
||||
private static final ItemHolder REWARD_ADENA = new ItemHolder(Inventory.ADENA_ID, 5000);
|
||||
private static final ItemHolder REWARD_ANIMAL_BONE = new ItemHolder(1872, 50);
|
||||
private static final ItemHolder REWARD_ANIMAL_SKIN = new ItemHolder(1867, 50);
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 34;
|
||||
private static final int REQUIRED_BRACELET_COUNT = 60;
|
||||
// Monsters
|
||||
private static final Map<Integer, Integer> MOBS_SAC = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS_SAC.put(20577, 360); // Leto Lizardman
|
||||
MOBS_SAC.put(20578, 390); // Leto Lizardman Archer
|
||||
MOBS_SAC.put(20579, 410); // Leto Lizardman Soldier
|
||||
MOBS_SAC.put(20580, 790); // Leto Lizardman Warrior
|
||||
MOBS_SAC.put(20582, 890); // Leto Lizardman Overlord
|
||||
}
|
||||
|
||||
public Q00300_HuntingLetoLizardman()
|
||||
{
|
||||
super(300);
|
||||
addStartNpc(RATH);
|
||||
addTalkId(RATH);
|
||||
addKillId(MOBS_SAC.keySet());
|
||||
registerQuestItems(BRACELET_OF_LIZARDMAN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "30126-03.htm":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30126-06.html":
|
||||
{
|
||||
if (getQuestItemsCount(player, BRACELET_OF_LIZARDMAN) >= REQUIRED_BRACELET_COUNT)
|
||||
{
|
||||
takeItems(player, BRACELET_OF_LIZARDMAN, -1);
|
||||
final int rand = getRandom(1000);
|
||||
if (rand < 500)
|
||||
{
|
||||
giveItems(player, REWARD_ADENA);
|
||||
}
|
||||
else if (rand < 750)
|
||||
{
|
||||
giveItems(player, REWARD_ANIMAL_SKIN);
|
||||
}
|
||||
else if (rand < 1000)
|
||||
{
|
||||
giveItems(player, REWARD_ANIMAL_BONE);
|
||||
}
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30126-07.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
|
||||
{
|
||||
final PlayerInstance partyMember = getRandomPartyMember(player, 1);
|
||||
if (partyMember != null)
|
||||
{
|
||||
final QuestState qs = getQuestState(partyMember, false);
|
||||
if (qs.isCond(1) && (getRandom(1000) < MOBS_SAC.get(npc.getId())))
|
||||
{
|
||||
giveItems(player, BRACELET_OF_LIZARDMAN, 1);
|
||||
if (getQuestItemsCount(player, BRACELET_OF_LIZARDMAN) == REQUIRED_BRACELET_COUNT)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30126-01.htm" : "30126-02.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "30126-04.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
if (getQuestItemsCount(player, BRACELET_OF_LIZARDMAN) >= REQUIRED_BRACELET_COUNT)
|
||||
{
|
||||
htmltext = "30126-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Leopold:<br>
|
||||
Currently, the Black Lion mercenaries are working for the lord of Gludio. They are in charge of getting rid of the <font color="LEVEL">remnants of Ol Mahum</font>, who are still staying and causing problems in this land. They have been fighting against the remnants for several months.<br>
|
||||
However, Ol Mahums are not savages like werewolves, but highly trained soldiers. They are very difficult to deal with, since they are well organized like regular armies.<br>A few days ago, our Black Lion troop was shamefully defeated in close battle with Ol Mahums on the outskirts of Gludin. Many brothers lost their lives in combat. We are short of troops until the second platoon returns from the Wastelands in the south. I am very worried ... We may have to recruit some good fighters who will fight with us ...<br>
|
||||
(Quest for characters level 21 and above.)
|
||||
</body></html>
|
@@ -1,7 +0,0 @@
|
||||
<html><body>Leopold:<br>
|
||||
Currently, the Black Lion mercenaries are working for the lord of Gludio. They are in charge of getting rid of the <font color="LEVEL">remnants of Ol Mahum</font>, who are still staying and causing problems in this land. They have been fighting against the remnants for several months.<br>
|
||||
However, Ol Mahums are not savages like werewolves, but highly trained soldiers. They are very difficult to deal with, since they are well organized like regular armies.<br>
|
||||
A few days ago, our Black Lion troop was shamefully defeated in a close battle with Ol Mahums on the outskirts of Gludin. Many brothers lost their lives in combat. We are short of troops until our brothers of the second platoon, who have been dispatched to the Wastelands in the south, return. So we have decided to recruit skilled fighters to temporarily fill our troop.<br>
|
||||
From the scars on your armor and the way you hold your weapon, you seem like you have had a lot of experience on the field. What do you think? Won't you fight for the Black Lions? It is an opportunity to play a role in punishing the cruel Ol Mahum who have ruined this land.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00326_VanquishRemnants 30435-03.htm">Say you will fight</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Leopold:<br>
|
||||
The Black Lion undoubtedly rewards its members according to skill and performance. You will be paid according to the number of enemies you kill. One condition, though, you must take the <font color="LEVEL">badge of ranking</font> as a token of proof.<br>
|
||||
Ol Mahum use badges in the shape of a cross, taking after the foreign troops of Gracia. Patrols and guards have red, suppliers, officers, and shooters have blue, and the generals and captains have Black Cross Badges. Naturally, you will receive a higher award depending on the rank of the Ol Mahum you killed.<br>
|
||||
If you display great skills on the battlefield, you can become an official member of the Black Lions. For this, you must gather <font color="LEVEL">100 badges of the Ol Mahum</font> to prove your skills.<br>
|
||||
Currently, Ol Mahum are camping in the <font color="LEVEL">abandoned camp</font>. If you don't know how to get there, ask Guard Linus. Wonderful! Now get ready to depart, my comrade. Forward to victory!
|
||||
</body></html>
|
@@ -1,7 +0,0 @@
|
||||
<html><body>Leopold:<br>
|
||||
Comrade, how is the situation on the battlefield? As you have no badge of the Ol Mahum in your hand, I see your performance has not been good. If you think fighting against the Ol Mahum is too difficult for you, you can always quit. It is better for both of us if you acknowledge your limits instead of aiming too high.<br>
|
||||
If you are thinking of continuing to fight Ol Mahums, I will give you some advice. As I already told you, the Ol Mahum may seem like savage beasts, but they have an organization that has been trained as well as any country's official army. Ol Mahums will help companions in danger, so you may have to face several Ol Mahums at once.<br>
|
||||
Unless you form a troop like them, you have no choice but to approach them carefully and use guerilla tactics to deal with them one at a time. Knights may say it is a dishonorable way to fight, but it's quite an effective method.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00326_VanquishRemnants 30435-07.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00326_VanquishRemnants 30435-08.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Leopold:<br>
|
||||
Welcome, comrade of the sword! Seeing you safely return from the scene of battle gives me great joy. The badges of the enemy in your hand show that the goddess of victory has smiled upon you.<br>
|
||||
I received a letter that the brothers of the second platoon, who were dispatched to the south part of Gludio, will return later than planned. I will need more of your services for the time being.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00326_VanquishRemnants 30435-07.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00326_VanquishRemnants 30435-08.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,7 +0,0 @@
|
||||
<html><body>Leopold:<br>
|
||||
Welcome, my comrade of the sword! I congratulate you on your safe return. How was your performance on the battlefield?<br>
|
||||
How truly amazing! You have really brought me 100 badges! Magnificent! As I promised, I acknowledge you a member of the Black Lions. Because of our current situation, we cannot give you a proper joining ceremony, but instead, I give you this mark. The mark shows that you are a member of the proud Black Lions.<br>
|
||||
I received a letter that the brothers of the second platoon, who were dispatched to the south part of Gludio, will return later than planned. You must go back to the battlefield and fight, comrade of the sword!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00326_VanquishRemnants 30435-07.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00326_VanquishRemnants 30435-08.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Leopold:<br>
|
||||
I am sorry, but if this is truly your will, I cannot stop you. However, the ties made as brothers of the sword are not easily broken ... We will meet again someday. May the goddess of victory be with you in all the battlefields that you walk upon!!
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Leopold:<br>
|
||||
Please continue your services, comrade of the sword. May the goddess of victory guide your sword and staff!
|
||||
</body></html>
|
@@ -1,7 +0,0 @@
|
||||
<html><body>Leopold:<br>
|
||||
Welcome, my comrade of the sword! I congratulate you on your safe return. How was your performance on the battlefield?<br>
|
||||
How truly amazing! You brought back another hundred badges! Magnificent! Ha ha! You have already proven your skills and have been acknowledged as a member of the Black Lions, and yet you still amaze me!<br>
|
||||
I received a letter that the brothers of the second platoon, who were dispatched to the south part of Gludio, will return later than planned. Our brothers here must hold on until they return. Go on back to the battlefield and fight, brother of the sword!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00326_VanquishRemnants 30435-07.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00326_VanquishRemnants 30435-08.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,150 +0,0 @@
|
||||
/*
|
||||
* 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.Q00326_VanquishRemnants;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Vanquish Remnants (326)
|
||||
* @author xban1x
|
||||
*/
|
||||
public class Q00326_VanquishRemnants extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int LEOPOLD = 30435;
|
||||
// Items
|
||||
private static final int RED_CROSS_BADGE = 1359;
|
||||
private static final int BLUE_CROSS_BADGE = 1360;
|
||||
private static final int BLACK_CROSS_BADGE = 1361;
|
||||
private static final int BLACK_LION_MARK = 1369;
|
||||
// Monsters
|
||||
private static final Map<Integer, int[]> MONSTERS = new HashMap<>();
|
||||
//@formatter:off
|
||||
static
|
||||
{
|
||||
MONSTERS.put(20053, new int[] {61, RED_CROSS_BADGE}); // Ol Mahum Patrol
|
||||
MONSTERS.put(20058, new int[] {61, RED_CROSS_BADGE}); // Ol Mahum Guard
|
||||
MONSTERS.put(20061, new int[] {57, BLUE_CROSS_BADGE}); // Ol Mahum Remnants
|
||||
MONSTERS.put(20063, new int[] {63, BLUE_CROSS_BADGE}); // Ol Mahum Shooter
|
||||
MONSTERS.put(20066, new int[] {59, BLACK_CROSS_BADGE}); // Ol Mahum Captain
|
||||
MONSTERS.put(20436, new int[] {55, BLUE_CROSS_BADGE}); // Ol Mahum Supplier
|
||||
MONSTERS.put(20437, new int[] {59, RED_CROSS_BADGE}); // Ol Mahum Recruit
|
||||
MONSTERS.put(20438, new int[] {60, BLACK_CROSS_BADGE}); // Ol Mahum General
|
||||
MONSTERS.put(20439, new int[] {62, BLUE_CROSS_BADGE}); // Ol Mahum Officer
|
||||
}
|
||||
//@formatter:on
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 21;
|
||||
|
||||
public Q00326_VanquishRemnants()
|
||||
{
|
||||
super(326);
|
||||
addStartNpc(LEOPOLD);
|
||||
addTalkId(LEOPOLD);
|
||||
addKillId(MONSTERS.keySet());
|
||||
registerQuestItems(RED_CROSS_BADGE, BLUE_CROSS_BADGE, BLACK_CROSS_BADGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
String htmltext = null;
|
||||
if (qs != null)
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "30435-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30435-07.html":
|
||||
{
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30435-08.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && qs.isStarted() && (getRandom(100) < MONSTERS.get(npc.getId())[0]))
|
||||
{
|
||||
giveItems(killer, MONSTERS.get(npc.getId())[1], 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = null;
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30435-02.htm" : "30435-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
final long red_badges = getQuestItemsCount(player, RED_CROSS_BADGE);
|
||||
final long blue_badges = getQuestItemsCount(player, BLUE_CROSS_BADGE);
|
||||
final long black_badges = getQuestItemsCount(player, BLACK_CROSS_BADGE);
|
||||
final long sum = red_badges + blue_badges + black_badges;
|
||||
if (sum > 0)
|
||||
{
|
||||
if ((sum >= 100) && !hasQuestItems(player, BLACK_LION_MARK))
|
||||
{
|
||||
giveItems(player, BLACK_LION_MARK, 1);
|
||||
}
|
||||
giveAdena(player, ((red_badges * 10) + (blue_badges * 10) + (black_badges * 12) + ((sum >= 10) ? 1000 : 0)), true);
|
||||
takeItems(player, -1, RED_CROSS_BADGE, BLUE_CROSS_BADGE, BLACK_CROSS_BADGE);
|
||||
htmltext = (sum >= 100) ? (hasQuestItems(player, BLACK_LION_MARK)) ? "30435-09.html" : "30435-06.html" : "30435-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30435-04.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
@@ -1,10 +0,0 @@
|
||||
<html><body>Magister Iris:<br>
|
||||
So the rumors are true ... That the mercenaries fighting the Orcs on the northwest shores are secretly selling relics of the ancient kingdom ...<br>
|
||||
How could they sell such valuable historical artifacts to businessmen ...! Objects that represent the lives of our ancestors ... They'll be degraded into mere decorations and displays ... This should not happen!<br>
|
||||
Please ... If any relics of the ancient kingdom should chance to fall into your hands ... Don't sell them at the shop, but bring them to me ... I can't pay you, but ... I will try to share some of my knowledge with you ... And I will make sure that the relics that are recovered will all be used as research material for the researchers of the Ivory Tower.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-03.html">Give Clay Pot piece</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-04.html">Give brass decoration piece</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-05.html">Give Bronze Mirror Piece</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-06.html">Give Jade Necklace Bead</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-07.html">Give all completed ancient relics</Button>
|
||||
</body></html>
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Magister Iris:<br>
|
||||
Why are you trying to give me something you don't even have? I can't understand you at all.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Magister Iris:<br>
|
||||
This Clay Pot piece ...? By the looks of the repetitive spiral designs, it looks like it was made in the early kingdom style. That such delicate craftsmanship was available thousands of years ago ... It's unbelievable.<br>
|
||||
Thank you very much. The relics you have brought me will all be used as research material by the historical research society of the Ivory Tower. Take pride in the fact that you have played a part in revealing our forgotten past.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Magister Iris:<br>
|
||||
This brass piece? It is part of a crown! However ... it's not the crown of a ruler, but a portion of the crown worn by priests during ceremonies. Look at these delicate carvings ... Beautiful, aren't they? It doesn't look like this item was made thousands of years ago, does it?<br>
|
||||
Thank you very much. The relics you have brought me will all be used as research material by the historical research society of the Ivory Tower. Take pride in the fact that you have played a part in revealing our forgotten past.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Magister Iris:<br>
|
||||
This is a piece of a broken mirror. This is probably a portion of one of the bronze mirrors used by noblewomen of the Elmoreden age. Truly this is a very valuable artifact, that holds images of the lives of the ancient ones.<br>
|
||||
Thank you very much. The relics you have brought me will all be used as research material by the historical research society of the Ivory Tower. Take pride in the fact that you have played a part in revealing our forgotten past.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Magister Iris:<br>
|
||||
... The bead appears to be part of a necklace ... Yes, that is probably it. It is the jade necklace worn by magicians of the royal Elmoreden court. Truly, it is a very valuable cultural artifact that records the lives and traditions of the ancient ones.<br>
|
||||
Thank you very much. The relics you have brought me will all be used as research material by the historical research society of the Ivory Tower. Take pride in the fact that you have played a part in revealing our forgotten past.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Magister Iris:<br>
|
||||
These artifacts...? Who restored them? Restoring broken artifacts to their original state is a job that requires great delicacy... Whoever worked on these is very talented.<br>
|
||||
I will send them all to the Ivory Tower. They will be precious resources for historical study. I will make sure that your name appears in the Ivory Tower scholars' research paper.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30034-01.html">Back</Button>
|
||||
</body></html>
|
@@ -1,8 +0,0 @@
|
||||
<html><body>Trader Asha:<br>
|
||||
Um ... um ... You're fighting with the orcs on the northern coast, right? They say there are many relics of the ancient empire in that region ...<br>
|
||||
Uh, um ... I majored in ancient relics when I studied at the Ivory Tower, you see ... So ... Um ... . If you bring back pieces of relics, I can restore them to their original state ...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-03.html">Request assembly of clay jar</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-05.html">Request assembly of brass accessory</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-07.html">Request assembly of bronze mirror</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-09.html">Request assembly of jade necklace</Button>
|
||||
</body></html>
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Trader Asha:<br>
|
||||
Uh ... Well ... You must have five clay jar pieces to restore it to its original state ... I am so sorry ...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Trader Asha:<br>
|
||||
... I see you have collected five clay jar pieces ... All, all right ... I think I can restore the jar with this ...<br>
|
||||
Look at the pattern engraved on this piece ... It is in the style of the early empire age ... If I match the pieces where the pattern continues ...<br>
|
||||
Ah! It is done! ... You can see the lines of the cracks, but ... One way or another ... I have assembled the jar to its original state ... A relic of the empire that is over one thousand years old ... this is a very precious legacy of history ...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Trader Asha:<br>
|
||||
Ahh ... Oh dear. You must have five accessory pieces ... Only then ... Can I restore it to its original state ...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Asha:<br>
|
||||
That I am assembling such a precious relic with my own hands ... It is so exciting ... However, I have not seen this accessory in the book ... Should this piece go on top? And if the rest are connected to the bottom ...<br>
|
||||
See! It is a three-level crown used by the priests of Elmoreden ... Isn't it absolutely beautiful?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Asha:<br>
|
||||
Ahh ... I'm sorry! I must have five Bronze Mirror Pieces to restore it to its original shape ...<br>
|
||||
Please take a look at this diagram ... "Bronze mirror used by noblewomen in the Elmoreden age" ... According to this diagram, to assemble the mirror, it is impossible to do so with only the pieces you have ...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Asha:<br>
|
||||
Wow! You have brought five pieces of bronze mirror fragments ... With this, I can restore the mirror as it is seen in this illustration ... This piece goes with this piece ... And if I connect it underneath with this ... And so! It is complete!<br>
|
||||
Do you know? This mirror was used by the noblewomen of the Elmoreden age ... It contains the life of the ancient people ... It is a very precious relic ...!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Trader Asha:<br>
|
||||
... Uh ... To restore the jade necklace to its original state ... umm ... well ... Please take a look at this diagram ... To assemble the necklace as you can see in this illustration ... You need five beads in all ...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Asha:<br>
|
||||
... You have found five jade beads ...! Yes ... I believe I can assemble it ... As it is shown in this diagram ... That I am restoring such a precious relic with my own hands! I am so excited my hands are trembling ...<br>
|
||||
... Like this ... I line up the beads and connect them ... Ahh ...! It is done! See! It is the same as the picture, is it not? This jade necklace ... The explanation reads that it was an ornament worn on the necks of court magicians ... It is truly a precious relic ...!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Asha:<br>
|
||||
Ah ...! Oh dear. What am I to do ...?<br>
|
||||
By mistake, I have ... smashed the relic pieces ... I am sorry. Terribly sorry ...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30313-01.html">Return</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Trader Nestle:<br>
|
||||
Are you the mercenary Piotur hired? What is going on over at the Orc Barracks? They say that ancient relics have recently been discovered there. Have you found any?<br>
|
||||
Old relics wouldn't be of any use to a mercenary like yourself, now would they? If you bring some of them I will give you several useful items.<br>
|
||||
What do you say? <br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-02.html">"I will trade relics for items."</Button>
|
||||
</body></html>
|
@@ -1,9 +0,0 @@
|
||||
<html><body>Trader Nestle:<br>
|
||||
I have no interest is small pieces or fragments of relics. <font color="LEVEL">Trader Asha</font> would be interested in the smaller pieces, she is an expert in restoring relics.<br>
|
||||
Do you have any relics I might be interested in?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-03.html">Give him a Clay Pot.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-04.html">Give him an Ancient Brass Tiara.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-05.html">Give him an Ancient Bronze Mirror.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-06.html">Give him an Ancient Jade Necklace.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-09.html">Quit</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Trader Nestle:<br>
|
||||
Oh, my! Look at the spiral pattern on the surface... the delicate carving of the handle... This is a genuine Imperial urn! It is exquisite! Thank you!<br>
|
||||
You shall have your reward!<br>
|
||||
Take these! I have packed several items that will be useful to a mercenary!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-08.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Nestle:<br>
|
||||
Oh, my! It is gorgeous! An actual tiara from the Imperial era! Isn't it beautiful? Thank you for your hard work.<br>
|
||||
You shall have your reward! <br>Here are some things that a mercenary will find useful.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-08.html">Return</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Nestle:<br>
|
||||
Oh, my, how stunning! A bronze mirror from the Imperial period! I imagine it was used by a female aristocrat of the Elmoreden kingdom... Good job!<br>
|
||||
You shall have your reward. Here are some items that you will find useful.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-08.html">Return</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Trader Nestle:<br>
|
||||
Oh, isn't it lovely! A jade necklace worn by the Mystics of the Imperial court! How did you find such a precious item? However you did it, good job!<br>
|
||||
You shall have your reward as promised.<br>
|
||||
Here are some items you will find useful.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-08.html">Return</Button>
|
||||
</body></html>
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Trader Nestle:<br>
|
||||
Are you some kind of idiot? You can't sell something you don't have!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-08.html">Return</Button>
|
||||
</body></html>
|
@@ -1,8 +0,0 @@
|
||||
<html><body>Trader Nestle:<br>
|
||||
You should get rid of all that excess baggage! I'll take all the relics you have!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-03.html">Give him a Clay Pot.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-04.html">Give him an Ancient Brass Tiara.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-05.html">Give him an Ancient Bronze Mirror.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-06.html">Give him an Ancient Jade Necklace.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30314-09.html">Quit</Button>
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Trader Nestle:<br>
|
||||
It's been a pleasure doing business with you. Bring me relics anytime!
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Guard Leikan:<br>
|
||||
At one time the land northwest of Gludio was fertile farmland, yielding bountiful harvests of wheat and barley. During the dark days of the invasion of Gracia, when the farmers were in hiding, the land was taken over by the filthy Turek orcs.<br>
|
||||
Some day, my people will drive them out and restore the farmland to its previous state...<br>
|
||||
(This quest may only be undertaken by a character of level 25 or above.)
|
||||
</body></html>
|
@@ -1,7 +0,0 @@
|
||||
<html><body>Guard Leikan:<br>
|
||||
At one time the land northwest of Gludio was fertile farmland, yielding bountiful harvests of wheat and barley. During the dark days of the invasion of Gracia, when the farmers were in hiding, the land was taken over by the filthy Turek orcs.<br>
|
||||
Some day, my people will drive them out and restore the farmland to its previous state...<br>
|
||||
One of the farmers, Piotur, has taken the initiative to drive the <font color="LEVEL">Turek orcs </font>from his land. He is looking for a few good mercenaries.<br>
|
||||
This should be easy for you. Do you wish to help the farmers regain their land?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30382-03.htm">"I will aid the farmers."</Button>
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Guard Leikan:<br>
|
||||
Excellent. Take this letter to <font color="LEVEL">Farmer Piotur</font>. He is bravely tending his crops while being overrun by filthy orcs. His farm is <font color="LEVEL">near the east entrance of the Orc Barracks</font>.
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Guard Leikan:<br>
|
||||
You must hurry and take this letter to <font color="LEVEL">Piotur</font>. His farm is near the <font color="LEVEL">east entrance of the Orc Barracks</font>. I pray that you are able to recover the lands for the farmers of Gludio.
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Guard Leikan:<br>
|
||||
Ah, you again! How was Piotur?<br>
|
||||
By the way, in case you're interested, I've heard that some <font color="LEVEL">relics from the ancient empire</font> have been discovered near the Orc Barracks. You could make quite a bit of money selling those.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30382-05a.html">"Tell me about the relics from the ancient empire."</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Guard Leikan:<br>
|
||||
Bear in mind that this is a rumor, I've not seen it myself. I was told that mercenaries have been seen returning from the area near the Orc Barracks with relics from the Elmo-Aden period.<br>
|
||||
Although they are little more than pottery shards, they fetch a high price. If you are interested you should visit a <font color="LEVEL">relics expert</font>.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30382-05b.html">"Where can I find a relics expert?"</Button>
|
||||
</body></html>
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Guard Leikan:<br>
|
||||
I know that <font color="LEVEL">Trader Asha</font> is an expert in the restoration of relics. He can be found at his magic store. <font color="LEVEL">Magister Iris</font> is researching relics of ancient empires at the temple...<br>
|
||||
Also, <font color="LEVEL">Trader Nestle</font> is an avid collector of relics. He can be found at the grocery store in the southwest part of the village.
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Piotur:<br>
|
||||
When we were at war with Gracia, all the farmers of this region sought refuge in the east at Castle Gludio. However, when we returned to this land after the war, the turek orcs were occupying the surrounding area!<br>
|
||||
The lord is at the height of pursuing reconstruction, but his attention does not extend to remote farm villages like this one. However, we cannot wait forever for the lord's help, can we? We are thinking of collecting money to hire mercenaries We will recover the blessed land that we inherited from our ancestors!<br>
|
||||
<font color="LEVEL">(Minimum level necessary to undertake the quest is 25.)</font>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Piotur:<br>
|
||||
When we were at war with Gracia, all the farmers of this region sought refuge in the east at Castle Gludio. However, when we returned to this land after the war, the turek orcs were occupying the surrounding area!<br>
|
||||
The lord is at the height of pursuing reconstruction, but his attention does not extend to remote farm villages like this one. However, we cannot wait forever for the lord's help, can we? My brother and I have decided to collect money and hire mercenaries. We will recover the blessed land that we inherited from our ancestors!<br>
|
||||
Now that I come to mention it, you look like quite an experienced mercenary yourself. What do you think? Will you lend us your strength to recover the farmland that the orcs took away from us? I will give you ample compensation.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30597-03.htm">Say you will drive off the orcs</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Piotur:<br>
|
||||
Very well! Drive out the turek orcs that are camping around this area! If you bring the necklaces the orcs all wear, I will reward you according to the number.<br>
|
||||
They may be lowly orcs, but they seem to have ranks among them. The one that seems to be the leader has a luxurious necklace. I will reward you a little more for that one.<br>
|
||||
Ah! And as you know, this area was once the holy grounds for the ancient Elmoreden Empire. In the past, one could find three or four ancient relics each day when digging the earth to till the soil. Orcs also seem to understand about the value of those relics, and some collect them. Do away with the orcs and keep the relics that you find. You will be able to sell them for a high price at a store in the village.<br>
|
||||
Now it is time for you to leave. Please make an effort to recover the land for the farmers that lost their way of life. May the blessing of the goddess be with you.
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Piotur:<br>
|
||||
Very well! Drive out the turek orcs that are camping around this area! If you bring the necklaces the orcs all wear, I will reward you according to the number.<br>
|
||||
They may be lowly orcs, but they seem to have ranks among them. The one that seems to be the leader has a luxurious necklace. I will reward you a little more for that one.<br>
|
||||
Ah! And as you know, this area was once the holy grounds for the ancient Elmoreden Empire. In the past, one could find three or four ancient relics each day when digging the earth to till the soil. Orcs also seem to understand about the value of those relics, and some collect them. Do away with the orcs and keep the relics that you find. You will be able to sell them for a high price at a store in the village.<br>
|
||||
Now it is time for you to leave. Please make an effort to recover the land for the farmers that lost their way of life. May the blessing of the goddess be with you.
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Piotur:<br>
|
||||
You must be the mercenary sent by Guard Leikan. It is good to see you. I have a sad story to tell you...<br>
|
||||
During the war with Gracia the farmers of this area were driven off of our land. After the war was over we returned to our farms only to find them occupied by Turek orcs!<br>
|
||||
I'll give the Lord credit for his many restoration projects, but unfortunately we are far from the castle and haven't gotten any significant help from him. We must take responsibility for recovering our farms! Would you help us drive the orcs from our lands? You will be well compensated for you efforts.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30597-03.html">"I will drive the orcs away for you farmers."</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Piotur:<br>
|
||||
Please help the farmers who lost their way of living recover their land from the orcs. As I told you, kill the turek orcs and bring their necklaces back as proof, and I will give you a reward.<br>
|
||||
Also, do not discard the ancient relics that the orcs keep with them. Collect them all. You can sell them for quite a high price at the village. Why don't you think of it as a kind of bonus for this task?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30597-06.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30597-07.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Piotur:<br>
|
||||
Young soldier, you have fought well. By the Contract, I will give you a reward according to the number of turek Orc necklaces you have brought. Thanks to your efforts, the farmers who lost their way of living are one day closer to recovering their land.<br>
|
||||
Ah! Also, do not dispose of the ancient relics that the orcs kept on them, but collect them all. You can sell them for quite a high price in the village. Why don't you think of it as a kind of bonus for the work you've done? Now that I think about it, there is supposed to be a specialist of archeology in Gludin ... That person will be able to tell you the value of these objects in more detail.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30597-06.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00327_RecoverTheFarmland 30597-07.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Piotur:<br>
|
||||
I am sad to see you go, but it seems that our fates which brought us together for a time now must separate. However, only the gods know the destiny of people. I may request your help again someday. Or a day may come when I will help you ... we never know.<br>
|
||||
May the goddess' blessing be upon your future days.
|
||||
</body></html>
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Piotur:<br>
|
||||
They say that the turek orcs have trained the ferocious wolves to use as military hounds. Even the smallest creature knows its master. When orcs are attacked, the wolves fight as well, so be careful.<br>
|
||||
May the goddess' blessing be with you.
|
||||
</body></html>
|
@@ -1,457 +0,0 @@
|
||||
/*
|
||||
* 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.Q00327_RecoverTheFarmland;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
/**
|
||||
* Recover the Farmland (327).
|
||||
* @author GKR
|
||||
*/
|
||||
|
||||
public class Q00327_RecoverTheFarmland extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int IRIS = 30034;
|
||||
private static final int ASHA = 30313;
|
||||
private static final int NESTLE = 30314;
|
||||
private static final int LEIKAN = 30382;
|
||||
private static final int PIOTUR = 30597;
|
||||
private static final int TUREK_ORK_WARLORD = 20495;
|
||||
private static final int TUREK_ORK_ARCHER = 20496;
|
||||
private static final int TUREK_ORK_SKIRMISHER = 20497;
|
||||
private static final int TUREK_ORK_SUPPLIER = 20498;
|
||||
private static final int TUREK_ORK_FOOTMAN = 20499;
|
||||
private static final int TUREK_ORK_SENTINEL = 20500;
|
||||
private static final int TUREK_ORK_SHAMAN = 20501;
|
||||
|
||||
// Items
|
||||
private static final int TUREK_DOG_TAG = 1846;
|
||||
private static final int TUREK_MEDALLION = 1847;
|
||||
private static final int LEIKANS_LETTER = 5012;
|
||||
private static final int CLAY_URN_FRAGMENT = 1848;
|
||||
private static final int BRASS_TRINKET_PIECE = 1849;
|
||||
private static final int BRONZE_MIRROR_PIECE = 1850;
|
||||
private static final int JADE_NECKLACE_BEAD = 1851;
|
||||
private static final int ANCIENT_CLAY_URN = 1852;
|
||||
private static final int ANCIENT_BRASS_TIARA = 1853;
|
||||
private static final int ANCIENT_BRONZE_MIRROR = 1854;
|
||||
private static final int ANCIENT_JADE_NECKLACE = 1855;
|
||||
private static final int QUICK_STEP_POTION = 734;
|
||||
private static final int SWIFT_ATTACK_POTION = 735;
|
||||
private static final int SCROLL_OF_ESCAPE = 736;
|
||||
private static final int SCROLL_OF_RESURRECTION = 737;
|
||||
private static final int HEALING_POTION = 1061;
|
||||
private static final int SOULSHOT_D = 1463;
|
||||
private static final int SPIRITSHOT_D = 2510;
|
||||
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 25;
|
||||
private static final Map<String, ItemHolder> FRAGMENTS_REWARD_DATA = new HashMap<>(4);
|
||||
private static final Map<Integer, Integer> FRAGMENTS_DROP_PROB = new HashMap<>(7);
|
||||
private static final ItemHolder[] FULL_REWARD_DATA =
|
||||
{
|
||||
new ItemHolder(ANCIENT_CLAY_URN, 2766),
|
||||
new ItemHolder(ANCIENT_BRASS_TIARA, 3227),
|
||||
new ItemHolder(ANCIENT_BRONZE_MIRROR, 3227),
|
||||
new ItemHolder(ANCIENT_JADE_NECKLACE, 3919)
|
||||
};
|
||||
static
|
||||
{
|
||||
FRAGMENTS_REWARD_DATA.put("30034-03.html", new ItemHolder(CLAY_URN_FRAGMENT, 307));
|
||||
FRAGMENTS_REWARD_DATA.put("30034-04.html", new ItemHolder(BRASS_TRINKET_PIECE, 368));
|
||||
FRAGMENTS_REWARD_DATA.put("30034-05.html", new ItemHolder(BRONZE_MIRROR_PIECE, 368));
|
||||
FRAGMENTS_REWARD_DATA.put("30034-06.html", new ItemHolder(JADE_NECKLACE_BEAD, 430));
|
||||
|
||||
FRAGMENTS_DROP_PROB.put(TUREK_ORK_ARCHER, 21);
|
||||
FRAGMENTS_DROP_PROB.put(TUREK_ORK_FOOTMAN, 19);
|
||||
FRAGMENTS_DROP_PROB.put(TUREK_ORK_SENTINEL, 18);
|
||||
FRAGMENTS_DROP_PROB.put(TUREK_ORK_SHAMAN, 22);
|
||||
FRAGMENTS_DROP_PROB.put(TUREK_ORK_SKIRMISHER, 21);
|
||||
FRAGMENTS_DROP_PROB.put(TUREK_ORK_SUPPLIER, 20);
|
||||
FRAGMENTS_DROP_PROB.put(TUREK_ORK_WARLORD, 26);
|
||||
}
|
||||
|
||||
public Q00327_RecoverTheFarmland()
|
||||
{
|
||||
super(327);
|
||||
addStartNpc(LEIKAN, PIOTUR);
|
||||
addTalkId(LEIKAN, PIOTUR, IRIS, ASHA, NESTLE);
|
||||
addKillId(TUREK_ORK_WARLORD, TUREK_ORK_ARCHER, TUREK_ORK_SKIRMISHER, TUREK_ORK_SUPPLIER, TUREK_ORK_FOOTMAN, TUREK_ORK_SENTINEL, TUREK_ORK_SHAMAN);
|
||||
registerQuestItems(TUREK_DOG_TAG, TUREK_MEDALLION, LEIKANS_LETTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String html = null;
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "30034-01.html":
|
||||
case "30313-01.html":
|
||||
case "30314-02.html":
|
||||
case "30314-08.html":
|
||||
case "30314-09.html":
|
||||
case "30382-05a.html":
|
||||
case "30382-05b.html":
|
||||
case "30597-03.html":
|
||||
case "30597-07.html":
|
||||
{
|
||||
html = event;
|
||||
break;
|
||||
}
|
||||
case "30382-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
giveItems(player, LEIKANS_LETTER, 1);
|
||||
qs.setCond(2);
|
||||
html = event;
|
||||
break;
|
||||
}
|
||||
case "30597-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
html = event;
|
||||
break;
|
||||
}
|
||||
case "30597-06.html":
|
||||
{
|
||||
qs.exitQuest(true, true);
|
||||
html = event;
|
||||
break;
|
||||
}
|
||||
case "30034-03.html":
|
||||
case "30034-04.html":
|
||||
case "30034-05.html":
|
||||
case "30034-06.html":
|
||||
{
|
||||
final ItemHolder item = FRAGMENTS_REWARD_DATA.get(event);
|
||||
if (!hasQuestItems(player, item.getId()))
|
||||
{
|
||||
html = "30034-02.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
addExpAndSp(player, getQuestItemsCount(player, item.getId()) * item.getCount(), 0);
|
||||
takeItems(player, item.getId(), -1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
html = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30034-07.html":
|
||||
{
|
||||
boolean rewarded = false;
|
||||
for (ItemHolder it : FULL_REWARD_DATA)
|
||||
{
|
||||
if (hasQuestItems(player, it.getId()))
|
||||
{
|
||||
addExpAndSp(player, getQuestItemsCount(player, it.getId()) * it.getCount(), 0);
|
||||
takeItems(player, it.getId(), -1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
rewarded = true;
|
||||
}
|
||||
}
|
||||
html = rewarded ? event : "30034-02.html";
|
||||
break;
|
||||
}
|
||||
case "30313-03.html":
|
||||
{
|
||||
if (getQuestItemsCount(player, CLAY_URN_FRAGMENT) < 5)
|
||||
{
|
||||
html = "30313-02.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
takeItems(player, CLAY_URN_FRAGMENT, 5);
|
||||
if (getRandom(6) < 5)
|
||||
{
|
||||
giveItems(player, ANCIENT_CLAY_URN, 1);
|
||||
html = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "30313-10.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30313-05.html":
|
||||
{
|
||||
if (getQuestItemsCount(player, BRASS_TRINKET_PIECE) < 5)
|
||||
{
|
||||
html = "30313-04.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
takeItems(player, BRASS_TRINKET_PIECE, 5);
|
||||
if (getRandom(7) < 6)
|
||||
{
|
||||
giveItems(player, ANCIENT_BRASS_TIARA, 1);
|
||||
html = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "30313-10.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30313-07.html":
|
||||
{
|
||||
if (getQuestItemsCount(player, BRONZE_MIRROR_PIECE) < 5)
|
||||
{
|
||||
html = "30313-06.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
takeItems(player, BRONZE_MIRROR_PIECE, 5);
|
||||
if (getRandom(7) < 6)
|
||||
{
|
||||
giveItems(player, ANCIENT_BRONZE_MIRROR, 1);
|
||||
html = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "30313-10.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30313-09.html":
|
||||
{
|
||||
if (getQuestItemsCount(player, JADE_NECKLACE_BEAD) < 5)
|
||||
{
|
||||
html = "30313-08.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
takeItems(player, JADE_NECKLACE_BEAD, 5);
|
||||
if (getRandom(8) < 7)
|
||||
{
|
||||
giveItems(player, ANCIENT_JADE_NECKLACE, 1);
|
||||
html = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "30313-10.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30314-03.html":
|
||||
{
|
||||
if (!hasQuestItems(player, ANCIENT_CLAY_URN))
|
||||
{
|
||||
html = "30314-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems(player, SOULSHOT_D, getRandom(70, 110));
|
||||
takeItems(player, ANCIENT_CLAY_URN, 1);
|
||||
html = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30314-04.html":
|
||||
{
|
||||
if (!hasQuestItems(player, ANCIENT_BRASS_TIARA))
|
||||
{
|
||||
html = "30314-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
final int rnd = getRandom(100);
|
||||
if (rnd < 40)
|
||||
{
|
||||
rewardItems(player, HEALING_POTION, 1);
|
||||
}
|
||||
else if (rnd < 84)
|
||||
{
|
||||
rewardItems(player, QUICK_STEP_POTION, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems(player, SWIFT_ATTACK_POTION, 1);
|
||||
}
|
||||
takeItems(player, ANCIENT_BRASS_TIARA, 1);
|
||||
html = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30314-05.html":
|
||||
{
|
||||
if (!hasQuestItems(player, ANCIENT_BRONZE_MIRROR))
|
||||
{
|
||||
html = "30314-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems(player, (getRandom(100) < 59) ? SCROLL_OF_ESCAPE : SCROLL_OF_RESURRECTION, 1);
|
||||
takeItems(player, ANCIENT_BRONZE_MIRROR, 1);
|
||||
html = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30314-06.html":
|
||||
{
|
||||
if (!hasQuestItems(player, ANCIENT_JADE_NECKLACE))
|
||||
{
|
||||
html = "30314-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems(player, SPIRITSHOT_D, getRandom(50, 90));
|
||||
takeItems(player, ANCIENT_JADE_NECKLACE, 1);
|
||||
html = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if (qs != null)
|
||||
{
|
||||
if ((npc.getId() == TUREK_ORK_SHAMAN) || (npc.getId() == TUREK_ORK_WARLORD))
|
||||
{
|
||||
giveItems(killer, TUREK_MEDALLION, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
giveItems(killer, TUREK_DOG_TAG, 1);
|
||||
}
|
||||
|
||||
if (getRandom(100) < FRAGMENTS_DROP_PROB.get(npc.getId()))
|
||||
{
|
||||
giveItems(killer, getRandom(CLAY_URN_FRAGMENT, JADE_NECKLACE_BEAD), 1);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String html = getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case LEIKAN:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
html = ((player.getLevel() >= MIN_LEVEL) ? "30382-02.htm" : "30382-01.htm");
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
if (hasQuestItems(player, LEIKANS_LETTER))
|
||||
{
|
||||
html = "30382-04.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "30382-05.html";
|
||||
qs.setCond(5, true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PIOTUR:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
html = ((player.getLevel() >= MIN_LEVEL) ? "30597-02.htm" : "30597-01.htm");
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
if (hasQuestItems(player, LEIKANS_LETTER))
|
||||
{
|
||||
html = "30597-03a.htm";
|
||||
takeItems(player, LEIKANS_LETTER, -1);
|
||||
qs.setCond(3, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!hasQuestItems(player, TUREK_DOG_TAG) && !hasQuestItems(player, TUREK_MEDALLION))
|
||||
{
|
||||
html = "30597-04.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "30597-05.html";
|
||||
final long dogTags = getQuestItemsCount(player, TUREK_DOG_TAG);
|
||||
final long medallions = getQuestItemsCount(player, TUREK_MEDALLION);
|
||||
final long rewardCount = (dogTags * 8) + (medallions * 8) + (((dogTags + medallions) >= 10) ? 1000 : 0);
|
||||
giveAdena(player, rewardCount, true);
|
||||
takeItems(player, TUREK_DOG_TAG, -1);
|
||||
takeItems(player, TUREK_MEDALLION, -1);
|
||||
qs.setCond(4, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IRIS:
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
html = "30034-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ASHA:
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
html = "30313-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case NESTLE:
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
html = "30314-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return html;
|
||||
}
|
||||
}
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Sarien:<br>
|
||||
I know it is hard to believe, but a long time ago southern Gludio also used to be fertile farmland. However, as you can see, now it is nothing more than barren wasteland. It may seem like barren land to normal people, but true businessmen like me find opportunities in any place.<br>
|
||||
I believe there are valuable commodities to be found here in the Wastelands that cannot be found elsewhere. If I am able to find them, I may begin a <font color="LEVEL">new business</font> here. When that time comes, I may need your help.<br>
|
||||
(Quest for characters level 21 and above.)
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Sarien:<br>
|
||||
I know it is hard to believe, but a long time ago southern Gludio also used to be fertile farmland. However, as you can see, now it is nothing more than barren wastelands. It may seem like barren land to normal people, but true businessmen like me find opportunities in any place.<br>
|
||||
In the end, I was able to find something valuable in these Wastelands that could not be found elsewhere. Therefore I have decided to begin a <font color="LEVEL">new business</font> here. I would like to have a reliable partner. What do you think about working with me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00328_SenseForBusiness 30436-03.htm">Accept proposal</Button>
|
||||
</body></html>
|
@@ -1,7 +0,0 @@
|
||||
<html><body>Trader Sarien:<br>
|
||||
Good. Spit on the ground and shake on it. Now we have a contract with the goddess of earth, Maphr, as our witness. Now listen to what I have to say.<br>
|
||||
Do you remember the eight basic ingredients used for magic research I told you about earlier? We can find some of them in this area. If you'll hunt <font color="LEVEL">monster eyes</font>, you can get their useful <font color="LEVEL">monster eye carcasses,</font> and once in a while, you can even obtain a <font color="LEVEL">monster eye lens</font>, and this is a very valuable item. They say Dwarves use these to make something called "eye glasses."<br>
|
||||
Also, if you hunt the <font color="LEVEL">basilisk</font>, you can get its gizzard. The basilisk swallows the pebbles of the wastelands to aid its digestion, but inside, they are mixed with jade shards. So we can obtain jade from the <font color="LEVEL">basilisk gizzard</font>.<br>
|
||||
You can find monster eyes on the coast near here. The basilisk can be found within the Wastelands. There are also monster eyes in the Wastelands, but they are much more dangerous than those on the coast, so you must be careful. But you may be able to find items that are that much more precious, so it is worth taking the challenge to hunt<br>
|
||||
From now on, the items you bring to me I will sell to the Ivory Tower. I have already signed a contract with the magicians of the Ivory Tower and fixed the price as well. I will give you 30% of the item price I have agreed to take. So please bring back as much as possible. Well then, may the blessing of the earth be with you, partner.
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Sarien:<br>
|
||||
Ho, why are your hands empty, partner? Were you not supposed to find me <font color="LEVEL">monster eye carcasses</font> and <font color="LEVEL">lenses</font>, and the <font color="LEVEL">gizzards of the basilisk</font>? You aren't going to quit by any chance, are you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00328_SenseForBusiness 30436-06.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00328_SenseForBusiness 30436-07.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Sarien:<br>
|
||||
Come, partner. I am glad you have returned safely from the rugged land. First, relax and catch your breath. As your sack is bulging, you must have gathered quite a few products. Let us take a look at the outcome of the hunt! As promised, I will pay you according to how many items you brought.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00328_SenseForBusiness 30436-06.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00328_SenseForBusiness 30436-07.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Trader Sarien:<br>
|
||||
I am sorry to hear that. And there I was, thinking I had met a partner whom I could work with for a long time. However, I have no choice but to look for another partner... Well, I wish you happiness in your future.
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Trader Sarien:<br>
|
||||
Then please continue your efforts. I must look for a coach that will deliver the products to Oren's Ivory Tower. I must earn more money to achieve the large business I have planned in my head.
|
||||
</body></html>
|
@@ -1,162 +0,0 @@
|
||||
/*
|
||||
* 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.Q00328_SenseForBusiness;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Sense for Business (328)
|
||||
* @author xban1x
|
||||
*/
|
||||
public class Q00328_SenseForBusiness extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int SARIEN = 30436;
|
||||
private static final Map<Integer, int[]> MONSTER_EYES = new HashMap<>();
|
||||
private static final Map<Integer, Integer> MONSTER_BASILISKS = new HashMap<>();
|
||||
// @formatter:off
|
||||
static
|
||||
{
|
||||
MONSTER_EYES.put(20055, new int[] { 61, 62 });
|
||||
MONSTER_EYES.put(20059, new int[] { 61, 62 });
|
||||
MONSTER_EYES.put(20067, new int[] { 72, 74 });
|
||||
MONSTER_EYES.put(20068, new int[] { 78, 79 });
|
||||
MONSTER_BASILISKS.put(20070, 60);
|
||||
MONSTER_BASILISKS.put(20072, 63);
|
||||
}
|
||||
// @formatter:on
|
||||
// Items
|
||||
private static final int MONSTER_EYE_CARCASS = 1347;
|
||||
private static final int MONSTER_EYE_LENS = 1366;
|
||||
private static final int BASILISK_GIZZARD = 1348;
|
||||
// Misc
|
||||
private static final int MONSTER_EYE_CARCASS_ADENA = 2;
|
||||
private static final int MONSTER_EYE_LENS_ADENA = 10;
|
||||
private static final int BASILISK_GIZZARD_ADENA = 2;
|
||||
private static final int BONUS = 100;
|
||||
private static final int BONUS_COUNT = 10;
|
||||
private static final int MIN_LEVEL = 21;
|
||||
|
||||
public Q00328_SenseForBusiness()
|
||||
{
|
||||
super(328);
|
||||
addStartNpc(SARIEN);
|
||||
addTalkId(SARIEN);
|
||||
addKillId(MONSTER_EYES.keySet());
|
||||
addKillId(MONSTER_BASILISKS.keySet());
|
||||
registerQuestItems(MONSTER_EYE_CARCASS, MONSTER_EYE_LENS, BASILISK_GIZZARD);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
String htmltext = null;
|
||||
if (qs != null)
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "30436-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30436-06.html":
|
||||
{
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = player.getLevel() < MIN_LEVEL ? "30436-01.htm" : "30436-02.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
final long carcass = getQuestItemsCount(player, MONSTER_EYE_CARCASS);
|
||||
final long lens = getQuestItemsCount(player, MONSTER_EYE_LENS);
|
||||
final long gizzards = getQuestItemsCount(player, BASILISK_GIZZARD);
|
||||
if ((carcass + lens + gizzards) > 0)
|
||||
{
|
||||
giveAdena(player, ((carcass * MONSTER_EYE_CARCASS_ADENA) + (lens * MONSTER_EYE_LENS_ADENA) + (gizzards * BASILISK_GIZZARD_ADENA) + ((carcass + lens + gizzards) >= BONUS_COUNT ? BONUS : 0)), true);
|
||||
takeItems(player, -1, MONSTER_EYE_CARCASS, MONSTER_EYE_LENS, BASILISK_GIZZARD);
|
||||
htmltext = "30436-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30436-04.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance player, boolean isPet)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isStarted())
|
||||
{
|
||||
final int chance = getRandom(100);
|
||||
if (MONSTER_EYES.containsKey(npc.getId()))
|
||||
{
|
||||
if (chance < MONSTER_EYES.get(npc.getId())[0])
|
||||
{
|
||||
giveItems(player, MONSTER_EYE_CARCASS, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
else if (chance < MONSTER_EYES.get(npc.getId())[1])
|
||||
{
|
||||
giveItems(player, MONSTER_EYE_LENS, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
else if (MONSTER_BASILISKS.containsKey(npc.getId()))
|
||||
{
|
||||
if (chance < MONSTER_BASILISKS.get(npc.getId()))
|
||||
{
|
||||
giveItems(player, BASILISK_GIZZARD, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, player, isPet);
|
||||
}
|
||||
}
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Trader Rolento:<br>
|
||||
As Elves are infatuated with poetry and songs and Orcs rave over war, we Dwarves love to make things with our very own hands. Ever since I was young, I immensely enjoyed fooling around with toys with springs or pocket watches. My dream is to make a <font color="LEVEL">golem</font> with my own hands some day.<br>
|
||||
However, I am not talking about the animate, monster golems that you can see frequently. The golems made by the dwarves are automatic dolls that move according to minute mechanical devices. It is totally different from stone golems or granite golems, which are magically blessed with life.<br>However, I always wondered what the energy source of a magically created golem would be. No matter how carefully I looked at it, I could not find the part that generated power... . There are many golems in the wastelands here. They say it is because the devil Beleth and the magicians of the Ivory Tower used them as weapons of war in this land. If that is true, then that means that more than a thousand years have passed since the golems were abandoned in this land. Don't you find it surprising that they are still moving? What do you think? Aren't you getting curious, too? If you have time later, let's research it together.<br>
|
||||
(Quest for characters level 33 and above.)
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Trader Rolento:<br>
|
||||
As Elves are infatuated with poetry and songs and Orcs rave over war, we Dwarves love to make things with our very own hands. Ever since I was young, I immensely enjoyed fooling around with toys with springs or pocket watches. My dream is to make a <font color="LEVEL">golem</font> with my own hands someday.<br>
|
||||
However, I am not talking about the animate, monster golems that you can see frequently. The golems made by the dwarves are automatic dolls that move according to minute mechanical devices. It is totally different from stone golems or granite golems, which were magically blessed with life.<br>
|
||||
However, I always wondered what the energy source of a magically created golem would be. No matter how carefully I looked at it, I could not find the part that generated power... There are many golems in the Wastelands here. They say it is because the devil Beleth and the magicians of the Ivory Tower used them as weapons of war in this land. If that is true, then that means that more than a thousand years have passed since the golems were abandoned in this land. What do you think? Aren't you getting curious, too? If you grant my request, it will be a great help to my studies... will you help me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00329_CuriosityOfADwarf 30437-03.htm">Say you will help</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Trader Rolento:<br>
|
||||
Good! We understand each other well. Actually, I recently had a chance to see a destroyed granite golem, and within the remains I saw a piece of stone of a different hue. I asked Sarien, who has profound knowledge of magic, and he said the stone was a <font color="LEVEL">heartstone</font>. I found out that all the golems made by the magicians had a heartstone in the center of their bodies.<br>
|
||||
What was it that he said? Something about putting a symbolic heart that resembles the living body into a still stone figure, and then gathering the magic forces before beginning the spells... . Of course I didn't understand a word of what he was talking about, but anyway, it seems almost certain that the heartstone is the power source of the golem.<br>
|
||||
So, I would like you to go into the Wastelands and get me the <font color="LEVEL">heartstone of a golem</font>. There are many <font color="LEVEL">granite golems</font> in the Wastelands. There are also granite golems that are nicknamed <font color="LEVEL">punchers,</font> because they Brandish their fists about fiercely.<br>
|
||||
Most heartstones shatter or crack when the golem is killed, but very rarely you can obtain whole, perfect heartstones. I would like you to bring me all the heartstones you can find -- whether they be broken or whole. I will compensate you for as many as you bring back. Of course, I will be more generous for <font color="LEVEL">perfect heartstones</font>.
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><head><body>Trader Rolento:<br>
|
||||
Oh dear, your hands are still empty. As I already told you, I need the <font color="LEVEL">heartstones of granite golems and punchers</font>. Please go to the Wastelands and find heartstones for me.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00329_CuriosityOfADwarf 30437-06.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00329_CuriosityOfADwarf 30437-07.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Trader Rolento:<br>
|
||||
Oh, you have found some! I will reveal whether or not the power to move rocks like living humans for hundreds of years lies within this small stone. I must begin my research immediately -- starting tonight. Although it is difficult because I do not have any proper tools or measuring devices, because this is not a workshop, I can measure the size with a ruler and the weight with a scale, and pound it with my hammer to fathom its solidity and density. Hmm ... so this goes like this ... and ...<br>
|
||||
Oh dear, I've been wrapped up too much in my own thoughts, forgive me! As we promised, I will reward you by the number of heartstones you have brought.<br>But I wish to have some more heartstones to send to my guild brothers in Giran. What do you say? Could I ask you another favor?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00329_CuriosityOfADwarf 30437-06.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00329_CuriosityOfADwarf 30437-07.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Trader Rolento:<br>
|
||||
I'm sorry that you are quitting, it is too bad. I'll have to ask someone else. Thanks anyway. May the divine blessing of Maphr, our God of the Earth, be with you!
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Trader Rolento:<br>
|
||||
I want to thank you. Thank you so much for helping me satisfy my curiosity. If my studies produce results, then we Dwarves may be able to develop a new power tool that moves mechanical devices. It is all thanks to you. That granted, please help me a little more.
|
||||
</body></html>
|
@@ -1,149 +0,0 @@
|
||||
/*
|
||||
* 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.Q00329_CuriosityOfADwarf;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
import org.l2jmobius.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* Curiosity Of A Dwarf (329)
|
||||
* @author ivantotov
|
||||
*/
|
||||
public class Q00329_CuriosityOfADwarf extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int TRADER_ROLENTO = 30437;
|
||||
// Items
|
||||
private static final int GOLEM_HEARTSTONE = 1346;
|
||||
private static final int BROKEN_HEARTSTONE = 1365;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 33;
|
||||
// Monsters
|
||||
private static final Map<Integer, List<ItemHolder>> MONSTER_DROPS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTER_DROPS.put(20083, Arrays.asList(new ItemHolder(GOLEM_HEARTSTONE, 3), new ItemHolder(BROKEN_HEARTSTONE, 54))); // Granitic Golem
|
||||
MONSTER_DROPS.put(20085, Arrays.asList(new ItemHolder(GOLEM_HEARTSTONE, 3), new ItemHolder(BROKEN_HEARTSTONE, 58))); // Puncher
|
||||
}
|
||||
|
||||
public Q00329_CuriosityOfADwarf()
|
||||
{
|
||||
super(329);
|
||||
addStartNpc(TRADER_ROLENTO);
|
||||
addTalkId(TRADER_ROLENTO);
|
||||
addKillId(MONSTER_DROPS.keySet());
|
||||
registerQuestItems(GOLEM_HEARTSTONE, BROKEN_HEARTSTONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
String htmltext = null;
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "30437-03.htm":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30437-06.html":
|
||||
{
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30437-07.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, killer, true))
|
||||
{
|
||||
final int rnd = getRandom(100);
|
||||
for (ItemHolder drop : MONSTER_DROPS.get(npc.getId()))
|
||||
{
|
||||
if (rnd < drop.getCount())
|
||||
{
|
||||
giveItemRandomly(killer, npc, drop.getId(), 1, 0, 1.0, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = player.getLevel() >= MIN_LEVEL ? "30437-02.htm" : "30437-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (hasAtLeastOneQuestItem(player, getRegisteredItemIds()))
|
||||
{
|
||||
final long broken = getQuestItemsCount(player, BROKEN_HEARTSTONE);
|
||||
final long golem = getQuestItemsCount(player, GOLEM_HEARTSTONE);
|
||||
giveAdena(player, ((broken * 5) + (golem * 40) + ((broken + golem) >= 700 ? 700 : 1000)), true);
|
||||
takeItems(player, -1, getRegisteredItemIds());
|
||||
htmltext = "30437-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30437-04.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
@@ -1,7 +0,0 @@
|
||||
<html><body>Guard Beltkam:<br>
|
||||
My family all lost their lives to <font color="LEVEL">Antharas the Land Dragon.</font> My mother and younger sister perished ten years ago, when many southern villages in Giran burned to the ground in the heat of Antharas' rampage. Then, three years ago, when the land dragon extermination force was formed at the lord's command, my father and older brother were recruited as soldiers, sent to the Dragon Valley, and eventually died meaningless deaths.<br>
|
||||
I swore an oath before my family graves that I would slay that great evil creature. Everyone holds me back, saying that it is a futile effort, but I will definitely bring Antharas down. It's the only way I know to bring peace to my family's spirits.<br>
|
||||
I have prepared diligently during this past year for my revenge. I consulted with many mercenaries, and I even researched documents relating to the dragon in the Ivory Tower's library. The dwarf bounty hunter "Terrin Wymslayer," who is a famous dragon hunter, especially gave me many words of advice. I finally came to the conclusion that <font color="LEVEL">arrows</font> were the most effective weapons.<br>
|
||||
Now, then. I do not mind telling you of my troubles, but I cannot ask you to help me in this endeavor, at least not as you are now. One day, perhaps, I may be in your debt.<br>
|
||||
(Only characters above level 32 are permitted to take on this quest.)
|
||||
</body></html>
|
@@ -1,7 +0,0 @@
|
||||
<html><body>Guard Beltkam:<br>
|
||||
I lost my whole family to <font color="LEVEL">Antharas the Land Dragon.</font> My mother and younger sister perished ten years ago, when many southern villages in Giran burned to the ground in the heat of Antharas' rampage. Then, three years ago, when the land dragon extermination force was formed at the lord's command, my father and older brother were recruited as soldiers, sent to the Dragon Valley, and eventually died meaningless deaths.<br>
|
||||
I swore an oath before my family graves that I would slay that great evil creature. Everyone holds me back, saying that it is a futile effort, but I will definitely bring Antharas down. Don't you think that's the only way to bring peace to the spirits of my family?<br>
|
||||
I have prepared diligently during this past year for my revenge. I consulted with many mercenaries, and I even researched documents relating to the dragon in the Ivory Tower's library. The dwarf bounty hunter "Terrin Wymslayer," who is a famous dragon hunter, especially gave me many words of advice. I finally came to the conclusion that <font color="LEVEL">arrows</font> were the most effective weapons.<br>
|
||||
For the past six months, I have repledged my oath of revenge every day, while working to forge an arrow that will kill Antharas. But the ingredients needed to create the arrow are all difficult to obtain. That is why I must frequently ask travelers like you to collect these ingredients for me. Can I also ask this favor of you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00331_ArrowOfVengeance 30125-03.htm">Say that you will help him.</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Guard Belton:<br>
|
||||
I am not foolish enough to think that I can avenge the death of my family alone. I have received the aid of many, and will continue to ask favors of those like yourself.<br>
|
||||
The materials you must find for me are the <font color="LEVEL">Silver Feathers of a Harpy, Wyrm Teeth</font> and the <font color="LEVEL">venom from a Medusa</font>. The Harpy's Feathers are used to make the fletching for the arrows, while the Wyrm Teeth will be used for arrowheads. They say that if one applies the venomous poison of the Medusa on the tip of the arrow and dries it properly, the poison will retain its effects for many years.<br>
|
||||
As soon as you have obtained these three materials, bring them to me, for I will give you a reward for each. I've inherited quite a fortune from my deceased parents, so be confident that your reward will be grand. I have no use material things as avenging my family is all I know now.
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Guard Belton:<br>
|
||||
You've come back empty-handed. Did you not promise to bring me harpy's <font color="LEVEL">Silver Feathers, the teeth of a Wyrm</font> and the <font color="LEVEL">venom of a medusa</font>?<br>
|
||||
As soon as you obtain these three materials, bring them to me. I will reward you for each that you bring back. I've inherited quite a fortune from my deceased parents, so don't worry about the reward. Please don't quit, help me.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00331_ArrowOfVengeance 30125-6.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00331_ArrowOfVengeance 30125-7.html">Say you will collect the materials</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Guard Belton:<br>
|
||||
I'm feeling an exceptionally strong longing for my family today. But I cannot risk falling into my fancies and having my determination shaken or my will for revenge weakened. Every day as I make arrows, sharpen the teeth of the wyrms, and put feathers on my arrows, I think of my dead family. And as I apply the poison of the medusa on the end of the arrowhead, I curse Antharas.<br>
|
||||
Now, shall we take a look at the materials you have brought? Good. This should be enough material to make arrows for a few days. As promised, I will reward you according to the number of materials you have brought me. This should be enough, I presume? If you are not planning to leave any time soon, could you help me some more? I beg you!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00331_ArrowOfVengeance 30125-6.html">Say you will quit</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00331_ArrowOfVengeance 30125-7.html">Say you will continue</Button>
|
||||
</body></html>
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Guard Belton:<br>
|
||||
I understand. This revenge is mine alone, anyway. I cannot rely on the kindness of others forever.<br>
|
||||
Are you planning to leave again? Then I guess this is goodbye. But a person's future is not certain. Perhaps I may be the one to come to your aid later. Or I may be slain by Antharas without having fulfilled my revenge, and meet my family in the afterlife. The laws of the gods and of fate are truly mysterious.
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Guard Belton:<br>
|
||||
Then please continue your efforts. I am certain that my revenge will be complete, thanks to those like you who have come to my aid. The gods control our fates, but I believe that if the will is strong enough and the conviction steadfast, the gods will be moved and allow one's fate to be reforged. One day I will surely shoot an arrow into the heart of Antharas!
|
||||
</body></html>
|
@@ -1,158 +0,0 @@
|
||||
/*
|
||||
* 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.Q00331_ArrowOfVengeance;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Arrow for Vengeance (331)
|
||||
* @author xban1x
|
||||
*/
|
||||
public class Q00331_ArrowOfVengeance extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int BELTON = 30125;
|
||||
// Items
|
||||
private static final int HARPY_FEATHER = 1452;
|
||||
private static final int MEDUSA_VENOM = 1453;
|
||||
private static final int WYRMS_TOOTH = 1454;
|
||||
// Monster
|
||||
private static final Map<Integer, Integer> MONSTERS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MONSTERS.put(20145, 59); // Harpy
|
||||
MONSTERS.put(20158, 61); // Medusa
|
||||
MONSTERS.put(20176, 60); // Wyrm
|
||||
}
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 32;
|
||||
private static final int HARPY_FEATHER_ADENA = 6;
|
||||
private static final int MEDUSA_VENOM_ADENA = 7;
|
||||
private static final int WYRMS_TOOTH_ADENA = 9;
|
||||
private static final int BONUS = 1000;
|
||||
private static final int BONUS_COUNT = 10;
|
||||
|
||||
public Q00331_ArrowOfVengeance()
|
||||
{
|
||||
super(331);
|
||||
addStartNpc(BELTON);
|
||||
addTalkId(BELTON);
|
||||
addKillId(MONSTERS.keySet());
|
||||
registerQuestItems(HARPY_FEATHER, MEDUSA_VENOM, WYRMS_TOOTH);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
String htmltext = null;
|
||||
if (qs != null)
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "30125-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30125-06.html":
|
||||
{
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30125-07.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = player.getLevel() < MIN_LEVEL ? "30125-01.htm" : "30125-02.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
final long harpyFeathers = getQuestItemsCount(player, HARPY_FEATHER);
|
||||
final long medusaVenoms = getQuestItemsCount(player, MEDUSA_VENOM);
|
||||
final long wyrmsTeeth = getQuestItemsCount(player, WYRMS_TOOTH);
|
||||
if ((harpyFeathers + medusaVenoms + wyrmsTeeth) > 0)
|
||||
{
|
||||
giveAdena(player, ((harpyFeathers * HARPY_FEATHER_ADENA) + (medusaVenoms * MEDUSA_VENOM_ADENA) + (wyrmsTeeth * WYRMS_TOOTH_ADENA) + ((harpyFeathers + medusaVenoms + wyrmsTeeth) >= BONUS_COUNT ? BONUS : 0)), true);
|
||||
takeItems(player, -1, HARPY_FEATHER, MEDUSA_VENOM, WYRMS_TOOTH);
|
||||
htmltext = "30125-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30125-04.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance player, boolean isPet)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && (getRandom(100) < MONSTERS.get(npc.getId())))
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case 20145:
|
||||
{
|
||||
giveItems(player, HARPY_FEATHER, 1);
|
||||
break;
|
||||
}
|
||||
case 20158:
|
||||
{
|
||||
giveItems(player, MEDUSA_VENOM, 1);
|
||||
break;
|
||||
}
|
||||
case 20176:
|
||||
{
|
||||
giveItems(player, WYRMS_TOOTH, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
return super.onKill(npc, player, isPet);
|
||||
}
|
||||
}
|
@@ -1,4 +0,0 @@
|
||||
<html><body>Abyssal Celebrant Undrias:<br>
|
||||
This sacred shrine is the only one of its kind on the entire continent. Yet the Humans spread lies about the goddess Shilen, denying that she is the giver of both life and death.<br>
|
||||
When they invaded the Temple alongside those filthy Elves, many sacred objects were plundered. I especially mourn the loss of some exquisitely-crafted statues of Shilen. In fact, I have offered a sizable reward to anyone who recovers them...
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Abyssal Celebrant Undrias:<br>
|
||||
Is this a piece from one of the lost statues of Shilen? Where did you find it? If you can recover enough pieces to reconstruct a whole statue, you will be richly rewarded!
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Abyssal Celebrant Undrias:<br>
|
||||
One of the lost statues of Shilen! Give it to me and you will be richly rewarded, that I promise you!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00333_HuntOfTheBlackLion 30130-04.html">Give him the statue.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00333_HuntOfTheBlackLion 30130-05.html">Refuse to give him the statue.</Button>
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Abyssal Celebrant Undrias:<br>
|
||||
You have helped restore some of the splendor of the Temple of Shilen that was robbed from it by those Human and Elven vermin. Take this reward with my thanks. I will give you even more if you are able to recover any other lost statues. Go and serve your goddess faithfully!
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Abyssal Celebrant Undrias:<br>
|
||||
This statue is sacred to us! It is of no use to you. In fact, the Humans would burn you at the stake if they found it in your possession! Now come to your senses and give me the statue. As I told you, you will be richly rewarded for your efforts.
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Blacksmith Rupio:<br>
|
||||
Are you a Black Lion mercenary? Why are you here? Have you come to have a weapon made?
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Blacksmith Rupio:<br>
|
||||
What can I do to help?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00333_HuntOfTheBlackLion 30471-03.html">"Please put together the statue."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00333_HuntOfTheBlackLion 30471-06.html">"Please put together the stone tablet."</Button>
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Blacksmith Rupio:<br>
|
||||
How did you know that my hobby was relic restoration? The restoration of a stone item to its original condition requires all the pieces. If you wish for me to restore this statue of the goddess, I must have all of the pieces, the <font color="LEVEL">head, torso, arms and legs</font>. Do you understand?
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Blacksmith Rupio:<br>
|
||||
Do you care to watch the master at work? First, I will attach the legs to the base... Then the torso above that... Now we match the joints of the arms and head properly... Voila! It's finished! The joints are still visible, but overall, it looks wonderful, don't you think? Hmm... Is this a statue of the goddess of Shilen? The detail is really quite enchanting...
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Blacksmith Rupio:<br>
|
||||
Do you care to watch the master at work? First, I will attach the legs to the base... Then the torso above that... Now we match the joints of the arms and head properly... Oh my! I didn't expect that to happen! It just crumbled away... I realize that it was very old and fragile but.. I just applied some light pressure to connect... Oh, I am so sorry!
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Blacksmith Rupio:<br>
|
||||
How did you know that my hobby was relic restoration? Relics like tablets upon which words are written cannot be deciphered if there is even one piece missing. It isn't worth the effort to put the other pieces together. In my experience, square relics such as stone tablets often break into <font color="LEVEL">four pieces</font>.
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Blacksmith Rupio:<br>
|
||||
Would you care to watch the master at work? This fragment looks like it connects to the bottom of the tablet... And this piece goes above that... Like putting together a puzzle, isn't it?... Here we go! Finished! An ancient stone tablet... I wonder whether some secrets of history are written here? Hmm... It looks vaguely familiar.. These letters look like the language of the Titans... How in the world...?!
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Blacksmith Rupio:<br>
|
||||
Would you care to watch the master at work? Let's see, this fragment attaches to the bottom of the tablet... And this piece goes above that... Oh no! Why did it crumble like that? I suppose that it deteriorated from so many years exposed to the elements... I should have been more careful! How could I have been so careless! My most sincere apologies.
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>First Elder Lockirin:<br>
|
||||
I am fascinated by the civilization of the Titans. I'd pay anything to actually hold in my hands a Clay Tablet on which titan writing exists. I am sure that someone as well-traveled as yourself is familiar with such things. I have heard that Ancient Clay Tablets are often found in the Dion region...
|
||||
</body></html>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user