Addition of quests 11015, 11016 and 11017.
Contributed by Stayway.
This commit is contained in:
11
L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90249.htm
vendored
Normal file
11
L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90249.htm
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<html><body>Supplies Certificate:<br>
|
||||
Payne sent this note to Vollodos when ordering the Shiels from him. It includes his comments for the order.<br>
|
||||
<font color="LEVEL">Order Deatails</font>.<br>
|
||||
Order for making and sale of the Shield of Silence.<br>
|
||||
<font color="LEVEL">1. Stone Giant Guardian's Core</font>.<br>
|
||||
Please base the Shield on Stone Giant Guardian's Core and reinforce it with brass from the sides.<br>
|
||||
<font color="LEVEL">2. Crystalline Beast's Shinedust</font>.<br>
|
||||
Not as good at dispelling magic as we thought. My advice is to use a thicker layer of it for better protection.<br>
|
||||
<font color="LEVEL">3. Giant Spider Skin Fragment</font><br>
|
||||
Patterns in the form of knots are popular in Giran Castle nowadays. You can glue together parts of the Shield and interlay them with leather straps braided into knots.
|
||||
</body></html>
|
11
L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90253.htm
vendored
Normal file
11
L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90253.htm
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<html><body>Supplies Certificate:<br>
|
||||
Payne sent this note to Vollodos when ordering the Shiels from him. It includes his comments for the order.<br>
|
||||
<font color="LEVEL">Order Deatails</font>.<br>
|
||||
Order for making and sale of the Shield of Silence.<br>
|
||||
<font color="LEVEL">1. Stone Giant Guardian's Core</font>.<br>
|
||||
Please base the Shield on Stone Giant Guardian's Core and reinforce it with brass from the sides.<br>
|
||||
<font color="LEVEL">2. Crystalline Beast's Shinedust</font>.<br>
|
||||
Not as good at dispelling magic as we thought. My advice is to use a thicker layer of it for better protection.<br>
|
||||
<font color="LEVEL">3. Giant Spider Skin Fragment</font><br>
|
||||
Patterns in the form of knots are popular in Giran Castle nowadays. You can glue together parts of the Shield and interlay them with leather straps braided into knots.
|
||||
</body></html>
|
11
L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90257.htm
vendored
Normal file
11
L2J_Mobius_Classic_2.0_Zaken/dist/game/data/html/item/90257.htm
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<html><body>Supplies Certificate:<br>
|
||||
Payne sent this note to Vollodos when ordering the Shiels from him. It includes his comments for the order.<br>
|
||||
<font color="LEVEL">Order Deatails</font>.<br>
|
||||
Order for making and sale of the Shield of Silence.<br>
|
||||
<font color="LEVEL">1. Stone Giant Guardian's Core</font>.<br>
|
||||
Please base the Shield on Stone Giant Guardian's Core and reinforce it with brass from the sides.<br>
|
||||
<font color="LEVEL">2. Crystalline Beast's Shinedust</font>.<br>
|
||||
Not as good at dispelling magic as we thought. My advice is to use a thicker layer of it for better protection.<br>
|
||||
<font color="LEVEL">3. Giant Spider Skin Fragment</font><br>
|
||||
Patterns in the form of knots are popular in Giran Castle nowadays. You can glue together parts of the Shield and interlay them with leather straps braided into knots.
|
||||
</body></html>
|
@@ -29,9 +29,6 @@
|
||||
11011 New Potion Development (3/3)
|
||||
11012 Future Elves
|
||||
11014 Surprise Gift
|
||||
11015 Prepare for trade (1/3)
|
||||
11016 Prepare for trade (2/3)
|
||||
11017 Prepare for trade (3/3)
|
||||
11018 Future: Dark Elves
|
||||
11020 Blacksmith's Request
|
||||
11021 Red Gem Necklace (1/3)
|
||||
|
@@ -1,3 +1,3 @@
|
||||
<html><bodyWeapon Merchant Lector:<br>
|
||||
<html><body>Weapon Merchant Lector:<br>
|
||||
Thank you! If you started something, you need to carry it through! Good decision! Best of all!<br>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Trader Payne:<br>
|
||||
I have a request for you. I'm designing a new model of shield together with Grocer Vollodos, but there haven't been any news from him for a while. Could you visit him and ask about his progress?<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11015_PrepareForTrade1 30136-02.htm">Say you will go to Vollodos</Button><br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Payne:<br>
|
||||
Thank you! I can't go myself - I have nobody to look after the store!<br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Payne:<br>
|
||||
Hurry and go to the Grocery Shop. Find Vollodos there and ask him why he still haven't sent me anything.<br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
Greetings! You're the one Payne sent to me? He ordered some materials for making a shield from me, but they're turned to be pretty hard to get. I gathered everything except <font color="LEVEL">Stone Giant Guardian's Core</font>, <font color="LEVEL">Crystalline Beast's Shinedust </font>and <font color="LEVEL">Giant Spider Skin Fragment</font>. This <font color="LEVEL">Supplies Certificate</font> tells all details of where you can obtain them. May I ask you to take the gathering of these materials upon yourself?<br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
This is not an easy task, I know. Bring me a bit more, please.
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
Good job! I wouldn't make it without you. I'd like to thank you for your help. Unfortunately, I have no idea what is better for you, so here are two rewards to pick from. You may choose whatever you like.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11015_PrepareForTrade1 reward1">Take a Soulshots Pack</Button><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11015_PrepareForTrade1 reward2">Take a Spiritshot Pack</Button><br>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
So you prefer Soulshots. Soulshots are very useful items.<br>
|
||||
By the way, I still need shield-making materials. Maybe you could get me some more?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11016_PrepareForTrade2 30137-02.htm">Agree</Button><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11016_PrepareForTrade2 abort.html">Abort</Button><br>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
So you've chosen Spiritshots... I understand, those who use magic need them.<br>
|
||||
By the way, I still need shield-making materials. Maybe you could get me some more?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11016_PrepareForTrade2 30001-02.htm">Agree</Button><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11016_PrepareForTrade2 abort.html">Abort</Button><br>
|
||||
</body></html>
|
@@ -0,0 +1,254 @@
|
||||
/*
|
||||
* 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.Q11015_PrepareForTrade1;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.Race;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
|
||||
/**
|
||||
* Prepare for Trade (1/3) (11015)
|
||||
* @author Stayway
|
||||
*/
|
||||
public class Q11015_PrepareForTrade1 extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int PAYNE = 30136;
|
||||
private static final int VOLLODOS = 30137;
|
||||
// Items
|
||||
private static final int STONE_GIANTS_GUARDIANS_CORE = 90250;
|
||||
private static final int CRYSTALLINE_BEASTS_SHINEDUST = 90251;
|
||||
private static final int GIANT_SPIDER_SKIN_FRAGMENT = 90252;
|
||||
private static final int SUPPLIES_CERTIFICATE = 90249;
|
||||
// Rewards
|
||||
private static final int SCROLL_OF_ESCAPE = 10650;
|
||||
private static final int HEALING_POTION = 1073;
|
||||
private static final int MP_RECOVERY_POTION = 90310;
|
||||
private static final int SOULSHOTS_NO_GRADE = 5789;
|
||||
private static final int SPIRITSHOT_NO_GRADE = 5790;
|
||||
// Monsters
|
||||
private static final int STONE_GIANT_GUARDIANS = 20380;
|
||||
private static final int CRYSTALLINE_BEAST = 20418;
|
||||
private static final int PROWLER = 20034;
|
||||
private static final int GIANT_VENOMOUS_SPIDER = 20038;
|
||||
private static final int ARACHNID_TRACKER = 20043;
|
||||
// Misc
|
||||
private static final int MIN_LVL = 15;
|
||||
private static final int MAX_LVL = 20;
|
||||
|
||||
public Q11015_PrepareForTrade1()
|
||||
{
|
||||
super(11015);
|
||||
addStartNpc(PAYNE);
|
||||
addTalkId(PAYNE, VOLLODOS);
|
||||
addKillId(STONE_GIANT_GUARDIANS, CRYSTALLINE_BEAST, PROWLER, GIANT_VENOMOUS_SPIDER, ARACHNID_TRACKER);
|
||||
addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom
|
||||
addCondRace(Race.DARK_ELF, "no-race.html"); // Custom
|
||||
registerQuestItems(SUPPLIES_CERTIFICATE, STONE_GIANTS_GUARDIANS_CORE, CRYSTALLINE_BEASTS_SHINEDUST, GIANT_SPIDER_SKIN_FRAGMENT);
|
||||
setQuestNameNpcStringId(NpcStringId.LV_15_20_PREPARE_FOR_TRADE_1_3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "30136-02.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "reward1":
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
takeItems(player, SUPPLIES_CERTIFICATE, 1);
|
||||
takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
|
||||
takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
|
||||
takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
|
||||
giveItems(player, SCROLL_OF_ESCAPE, 5);
|
||||
giveItems(player, HEALING_POTION, 40);
|
||||
giveItems(player, MP_RECOVERY_POTION, 40);
|
||||
giveItems(player, SOULSHOTS_NO_GRADE, 1000);
|
||||
addExpAndSp(player, 70000, 3600);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = "30137-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "reward2":
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
takeItems(player, SUPPLIES_CERTIFICATE, 1);
|
||||
takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
|
||||
takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
|
||||
takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
|
||||
giveItems(player, SCROLL_OF_ESCAPE, 5);
|
||||
giveItems(player, HEALING_POTION, 40);
|
||||
giveItems(player, MP_RECOVERY_POTION, 40);
|
||||
giveItems(player, SPIRITSHOT_NO_GRADE, 1000);
|
||||
addExpAndSp(player, 70000, 3600);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = "30137-04.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance talker)
|
||||
{
|
||||
final QuestState qs = getQuestState(talker, true);
|
||||
String htmltext = getNoQuestMsg(talker);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (npc.getId() == PAYNE)
|
||||
{
|
||||
htmltext = "30136-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (npc.getId() == PAYNE)
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "30136-02a.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
else if (npc.getId() == VOLLODOS)
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "30137-01.htm";
|
||||
qs.setCond(2, true);
|
||||
showOnScreenMsg(talker, NpcStringId.GO_HUNTING_AND_KILL_STONE_GIANT_GUARDIANS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
giveItems(talker, SUPPLIES_CERTIFICATE, 1);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "30137-01a.html";
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
htmltext = "30137-02.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(talker);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if (qs != null)
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case STONE_GIANT_GUARDIANS:
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) < 20))
|
||||
{
|
||||
if (getRandom(100) < 90)
|
||||
{
|
||||
giveItems(killer, STONE_GIANTS_GUARDIANS_CORE, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) >= 20)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_STONE_GIANT_GUARDIANS_N_GO_HUNTING_AND_KILL_CRYSTALLINE_BEASTS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CRYSTALLINE_BEAST:
|
||||
{
|
||||
if (qs.isCond(3) && (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) < 10))
|
||||
{
|
||||
if (getRandom(100) < 87)
|
||||
{
|
||||
giveItems(killer, CRYSTALLINE_BEASTS_SHINEDUST, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) >= 10)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_CRYSTALLINE_BEASTS_N_GO_HUNTING_AND_KILL_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(4);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PROWLER:
|
||||
case GIANT_VENOMOUS_SPIDER:
|
||||
case ARACHNID_TRACKER:
|
||||
{
|
||||
if (qs.isCond(4) && (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) < 20))
|
||||
{
|
||||
if (getRandom(100) < 90)
|
||||
{
|
||||
giveItems(killer, GIANT_SPIDER_SKIN_FRAGMENT, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) >= 20)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS_NRETURN_TO_GROCER_VOLLODOS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(5);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Trader Payne:<br>
|
||||
You ought to gain more experience. Come back later.<br>
|
||||
<font color="LEVEL">(This quest is available to characters of Level 15 or higher.)</font><br>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Trader Payne:<br>
|
||||
I can see you're a stranger here. Pardon me, but I am asking only citizens for help.<br>
|
||||
<font color="LEVEL">(This quest is available to Dark Elves only.)</font><br>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
I was waiting for you. Please, help me one last time. I promise I'll stopt bothering you once I send all collected materials to Payne.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11016_PrepareForTrade2 30137-02.htm">"Okay"</Button><br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
You made the right decision! I hope you can help us. And I'm going to work on preparing shield-reinforcing components in the meantime. I hope we'll make a lot of money after selling them. So. what do you say? Do you think our shields are going to be popular?<br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
This is not an easy task, I know. Bring me a bit more, please.
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
Good job! I prepared a reward for you to show my gratitude. Choose whatever you like.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11016_PrepareForTrade2 reward1">Take a Soulshots Pack</Button><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11016_PrepareForTrade2 reward2">Take a Spiritshot Pack</Button><br>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
So you prefer Soulshots. Soulshots are very useful items.<br>
|
||||
I've already asked you for this, I know but could you bring me one more set of materials? It will be better if I have everything with me beforehand.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11017_PrepareForTrade3 30137-02.htm">Agree</Button><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11017_PrepareForTrade3 abort.html">Abort</Button><br>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Weapon Merchant Lector:<br>
|
||||
So you've chosen Spiritshots... I understand, those who use magic need them.<br>
|
||||
I've already asked you for this, I know but could you bring me one more set of materials? It will be better if I have everything with me beforehand.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11017_PrepareForTrade3 30137-02.htm">Agree</Button><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11017_PrepareForTrade3 abort.html">Abort</Button><br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
(Only characters who are level 15 or above and who have completed the <font color="LEVEL">Prepare for Trade (1/3)</font> quests may undertake this quest.)
|
||||
</body></html>
|
@@ -0,0 +1,239 @@
|
||||
/*
|
||||
* 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.Q11016_PrepareForTrade2;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.Race;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
|
||||
import quests.Q11015_PrepareForTrade1.Q11015_PrepareForTrade1;
|
||||
|
||||
/**
|
||||
* Prepare for Trade (2/3) (11016)
|
||||
* @author Stayway
|
||||
*/
|
||||
public class Q11016_PrepareForTrade2 extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int VOLLODOS = 30137;
|
||||
// Items
|
||||
private static final int STONE_GIANTS_GUARDIANS_CORE = 90254;
|
||||
private static final int CRYSTALLINE_BEASTS_SHINEDUST = 90255;
|
||||
private static final int GIANT_SPIDER_SKIN_FRAGMENT = 90256;
|
||||
private static final int SUPPLIES_CERTIFICATE = 90253;
|
||||
// Rewards
|
||||
private static final int SCROLL_OF_ESCAPE = 10650;
|
||||
private static final int HEALING_POTION = 1073;
|
||||
private static final int MP_RECOVERY_POTION = 90310;
|
||||
private static final int SOULSHOTS_NO_GRADE = 5789;
|
||||
private static final int SPIRITSHOT_NO_GRADE = 5790;
|
||||
// Monsters
|
||||
private static final int STONE_GIANT_GUARDIANS = 20380;
|
||||
private static final int CRYSTALLINE_BEAST = 20418;
|
||||
private static final int PROWLER = 20034;
|
||||
private static final int GIANT_VENOMOUS_SPIDER = 20038;
|
||||
private static final int ARACHNID_TRACKER = 20043;
|
||||
// Misc
|
||||
private static final int MIN_LVL = 15;
|
||||
private static final int MAX_LVL = 20;
|
||||
|
||||
public Q11016_PrepareForTrade2()
|
||||
{
|
||||
super(11016);
|
||||
addStartNpc(VOLLODOS);
|
||||
addTalkId(VOLLODOS);
|
||||
addKillId(STONE_GIANT_GUARDIANS, CRYSTALLINE_BEAST, PROWLER, GIANT_VENOMOUS_SPIDER, ARACHNID_TRACKER);
|
||||
addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom
|
||||
addCondRace(Race.DARK_ELF, "no-race.html"); // Custom
|
||||
addCondCompletedQuest(Q11015_PrepareForTrade1.class.getSimpleName(), "30137-06.html");
|
||||
registerQuestItems(SUPPLIES_CERTIFICATE, STONE_GIANTS_GUARDIANS_CORE, CRYSTALLINE_BEASTS_SHINEDUST, GIANT_SPIDER_SKIN_FRAGMENT);
|
||||
setQuestNameNpcStringId(NpcStringId.LV_15_PREPARE_FOR_TRADE_2_3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "abort.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30137-02.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
qs.setCond(1);
|
||||
qs.setCond(2);
|
||||
showOnScreenMsg(player, NpcStringId.GO_HUNTING_AND_KILL_STONE_GIANT_GUARDIANS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
giveItems(player, SUPPLIES_CERTIFICATE, 1);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "reward1":
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
takeItems(player, SUPPLIES_CERTIFICATE, 1);
|
||||
takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
|
||||
takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
|
||||
takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
|
||||
giveItems(player, SCROLL_OF_ESCAPE, 5);
|
||||
giveItems(player, HEALING_POTION, 40);
|
||||
giveItems(player, MP_RECOVERY_POTION, 40);
|
||||
giveItems(player, SOULSHOTS_NO_GRADE, 1000);
|
||||
addExpAndSp(player, 70000, 3600);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = "30137-04.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "reward2":
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
takeItems(player, SUPPLIES_CERTIFICATE, 1);
|
||||
takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
|
||||
takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
|
||||
takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
|
||||
giveItems(player, SCROLL_OF_ESCAPE, 5);
|
||||
giveItems(player, HEALING_POTION, 40);
|
||||
giveItems(player, MP_RECOVERY_POTION, 40);
|
||||
giveItems(player, SPIRITSHOT_NO_GRADE, 1000);
|
||||
addExpAndSp(player, 70000, 3600);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = "30137-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance talker)
|
||||
{
|
||||
final QuestState qs = getQuestState(talker, true);
|
||||
String htmltext = getNoQuestMsg(talker);
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "30137-01.html";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "30137-02a.html";
|
||||
}
|
||||
else if (qs.isCond(5))
|
||||
{
|
||||
htmltext = "30137-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(talker);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if (qs != null)
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case STONE_GIANT_GUARDIANS:
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) < 20))
|
||||
{
|
||||
if (getRandom(100) < 90)
|
||||
{
|
||||
giveItems(killer, STONE_GIANTS_GUARDIANS_CORE, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) >= 20)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_STONE_GIANT_GUARDIANS_N_GO_HUNTING_AND_KILL_CRYSTALLINE_BEASTS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CRYSTALLINE_BEAST:
|
||||
{
|
||||
if (qs.isCond(3) && (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) < 10))
|
||||
{
|
||||
if (getRandom(100) < 87)
|
||||
{
|
||||
giveItems(killer, CRYSTALLINE_BEASTS_SHINEDUST, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) >= 10)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_CRYSTALLINE_BEASTS_N_GO_HUNTING_AND_KILL_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(4);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PROWLER:
|
||||
case GIANT_VENOMOUS_SPIDER:
|
||||
case ARACHNID_TRACKER:
|
||||
{
|
||||
if (qs.isCond(4) && (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) < 20))
|
||||
{
|
||||
if (getRandom(100) < 90)
|
||||
{
|
||||
giveItems(killer, GIANT_SPIDER_SKIN_FRAGMENT, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) >= 20)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS_NRETURN_TO_GROCER_VOLLODOS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(5);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
It's a shame. If you happen to change your mind, come back any time.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Trader Payne:<br>
|
||||
You ought to gain more experience. Come back later.<br>
|
||||
<font color="LEVEL">(This quest is available to characters of Level 15 or higher.)</font><br>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Trader Payne:<br>
|
||||
I can see you're a stranger here. Pardon me, but I am asking only citizens for help.<br>
|
||||
<font color="LEVEL">(This quest is available to Dark Elves only.)</font><br>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
You've changed your mind? It's a shame... I really need your help.<br>
|
||||
Please, think over your decision.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11017_PrepareForTrade3 30137-02.htm">"Okay, I will help you."</Button><br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
Thank you! To complete the job, I need <font color="LEVEL">Stone Giant Guardian's Core</font>, <font color="LEVEL">Crystalline Beast's Shinedust</font> and <font color="LEVEL">Giant Spider Skin Fragment</font>. And while you're busy looking for them, I'll just have time to prepare the shield glue.<br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
This is not an easy task, I know. Bring me a bit more, please.
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
Good job! I wouldn't make it without you. I'd like to thank you for your help. Unfortunately, I have no idea what is better for you, so here are two rewards to pick from. You may choose whatever you like.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11017_PrepareForTrade3 reward1">Take a Soulshots Pack</Button><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11017_PrepareForTrade3 reward2">Take a Spiritshot Pack</Button><br>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
Thank you very much. Alas, Dark Elves don't use shields often. I only hope that we can sell them in Oren or somewhere else... If our shields won't be in much of a demand, we're going to go bankrupt!
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
Thank you very much. Alas, Dark Elves don't use shields often. I only hope that we can sell them in Oren or somewhere else... If our shields won't be in much of a demand, we're going to go bankrupt!
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
(Only characters who are level 15 or above and who have completed the <font color="LEVEL">Prepare for Trade (1/3)</font> quests may undertake this quest.)
|
||||
</body></html>
|
@@ -0,0 +1,238 @@
|
||||
/*
|
||||
* 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.Q11017_PrepareForTrade3;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.Race;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
|
||||
import quests.Q11016_PrepareForTrade2.Q11016_PrepareForTrade2;
|
||||
|
||||
/**
|
||||
* Prepare for Trade (3/3) (11017)
|
||||
* @author Stayway
|
||||
*/
|
||||
public class Q11017_PrepareForTrade3 extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int VOLLODOS = 30137;
|
||||
// Items
|
||||
private static final int STONE_GIANTS_GUARDIANS_CORE = 90258;
|
||||
private static final int CRYSTALLINE_BEASTS_SHINEDUST = 90259;
|
||||
private static final int GIANT_SPIDER_SKIN_FRAGMENT = 90260;
|
||||
private static final int SUPPLIES_CERTIFICATE = 90257;
|
||||
// Rewards
|
||||
private static final int SCROLL_OF_ESCAPE = 10650;
|
||||
private static final int HEALING_POTION = 1073;
|
||||
private static final int MP_RECOVERY_POTION = 90310;
|
||||
private static final int SOULSHOTS_NO_GRADE = 5789;
|
||||
private static final int SPIRITSHOT_NO_GRADE = 5790;
|
||||
// Monsters
|
||||
private static final int STONE_GIANT_GUARDIANS = 20380;
|
||||
private static final int CRYSTALLINE_BEAST = 20418;
|
||||
private static final int PROWLER = 20034;
|
||||
private static final int GIANT_VENOMOUS_SPIDER = 20038;
|
||||
private static final int ARACHNID_TRACKER = 20043;
|
||||
// Misc
|
||||
private static final int MIN_LVL = 15;
|
||||
private static final int MAX_LVL = 20;
|
||||
|
||||
public Q11017_PrepareForTrade3()
|
||||
{
|
||||
super(11017);
|
||||
addStartNpc(VOLLODOS);
|
||||
addTalkId(VOLLODOS);
|
||||
addKillId(STONE_GIANT_GUARDIANS, CRYSTALLINE_BEAST, PROWLER, GIANT_VENOMOUS_SPIDER, ARACHNID_TRACKER);
|
||||
addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom
|
||||
addCondRace(Race.DARK_ELF, "no-race.html"); // Custom
|
||||
addCondCompletedQuest(Q11016_PrepareForTrade2.class.getSimpleName(), "30137-06.html");
|
||||
registerQuestItems(SUPPLIES_CERTIFICATE, STONE_GIANTS_GUARDIANS_CORE, CRYSTALLINE_BEASTS_SHINEDUST, GIANT_SPIDER_SKIN_FRAGMENT);
|
||||
setQuestNameNpcStringId(NpcStringId.LV_15_PREPARE_FOR_TRADE_3_3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "abort.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30137-02.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
qs.setCond(2);
|
||||
showOnScreenMsg(player, NpcStringId.LECTOR_WANTS_YOU_TO_BRING_HIM_MATERIALS_FOR_NEW_ARMOR_N_GO_HUNTING_AND_KILL_GIANT_SPIDERS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
giveItems(player, SUPPLIES_CERTIFICATE, 1);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "reward1":
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
takeItems(player, SUPPLIES_CERTIFICATE, 1);
|
||||
takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
|
||||
takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
|
||||
takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
|
||||
giveItems(player, SCROLL_OF_ESCAPE, 5);
|
||||
giveItems(player, HEALING_POTION, 40);
|
||||
giveItems(player, MP_RECOVERY_POTION, 40);
|
||||
giveItems(player, SOULSHOTS_NO_GRADE, 1000);
|
||||
addExpAndSp(player, 70000, 3600);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = "30137-04.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "reward2":
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
takeItems(player, SUPPLIES_CERTIFICATE, 1);
|
||||
takeItems(player, STONE_GIANTS_GUARDIANS_CORE, 20);
|
||||
takeItems(player, CRYSTALLINE_BEASTS_SHINEDUST, 10);
|
||||
takeItems(player, GIANT_SPIDER_SKIN_FRAGMENT, 20);
|
||||
giveItems(player, SCROLL_OF_ESCAPE, 5);
|
||||
giveItems(player, HEALING_POTION, 40);
|
||||
giveItems(player, MP_RECOVERY_POTION, 40);
|
||||
giveItems(player, SPIRITSHOT_NO_GRADE, 1000);
|
||||
addExpAndSp(player, 70000, 3600);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = "30137-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance talker)
|
||||
{
|
||||
final QuestState qs = getQuestState(talker, true);
|
||||
String htmltext = getNoQuestMsg(talker);
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "30137-01.html";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "30137-02a.html";
|
||||
}
|
||||
else if (qs.isCond(5))
|
||||
{
|
||||
htmltext = "30137-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(talker);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if (qs != null)
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case STONE_GIANT_GUARDIANS:
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) < 20))
|
||||
{
|
||||
if (getRandom(100) < 90)
|
||||
{
|
||||
giveItems(killer, STONE_GIANTS_GUARDIANS_CORE, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, STONE_GIANTS_GUARDIANS_CORE) >= 20)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_STONE_GIANT_GUARDIANS_N_GO_HUNTING_AND_KILL_CRYSTALLINE_BEASTS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CRYSTALLINE_BEAST:
|
||||
{
|
||||
if (qs.isCond(3) && (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) < 10))
|
||||
{
|
||||
if (getRandom(100) < 85)
|
||||
{
|
||||
giveItems(killer, CRYSTALLINE_BEASTS_SHINEDUST, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, CRYSTALLINE_BEASTS_SHINEDUST) >= 10)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_CRYSTALLINE_BEASTS_N_GO_HUNTING_AND_KILL_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(4);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PROWLER:
|
||||
case GIANT_VENOMOUS_SPIDER:
|
||||
case ARACHNID_TRACKER:
|
||||
{
|
||||
if (qs.isCond(4) && (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) < 20))
|
||||
{
|
||||
if (getRandom(100) < 90)
|
||||
{
|
||||
giveItems(killer, GIANT_SPIDER_SKIN_FRAGMENT, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (getQuestItemsCount(killer, GIANT_SPIDER_SKIN_FRAGMENT) >= 20)
|
||||
{
|
||||
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_PROWLERS_GIANT_VENOMOUS_SPIDERS_AND_ARACHNID_TRACKERS_NRETURN_TO_GROCER_VOLLODOS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(5);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Trader Vollodos:<br>
|
||||
I see. Looks like you're too busy. Nothing to be done. A pity that you had to refuse... Although I wanted to visit the Ivory Tower anyway. Maybe I could buy what materials I lack here.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Trader Payne:<br>
|
||||
You ought to gain more experience. Come back later.<br>
|
||||
<font color="LEVEL">(This quest is available to characters of Level 15 or higher.)</font><br>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Trader Payne:<br>
|
||||
I can see you're a stranger here. Pardon me, but I am asking only citizens for help.<br>
|
||||
<font color="LEVEL">(This quest is available to Dark Elves only.)</font><br>
|
||||
</body></html>
|
@@ -159,6 +159,9 @@ import quests.Q11007_NoiseInWoods.Q11007_NoiseInWoods;
|
||||
import quests.Q11008_PreparationForDungeon.Q11008_PreparationForDungeon;
|
||||
import quests.Q11013_ShilensHunt.Q11013_ShilensHunt;
|
||||
import quests.Q11014_SurpriseGift.Q11014_SurpriseGift;
|
||||
import quests.Q11015_PrepareForTrade1.Q11015_PrepareForTrade1;
|
||||
import quests.Q11016_PrepareForTrade2.Q11016_PrepareForTrade2;
|
||||
import quests.Q11017_PrepareForTrade3.Q11017_PrepareForTrade3;
|
||||
import quests.Q11019_TribalBenefit.Q11019_TribalBenefit;
|
||||
|
||||
/**
|
||||
@@ -310,6 +313,9 @@ public class QuestMasterHandler
|
||||
Q11008_PreparationForDungeon.class,
|
||||
Q11013_ShilensHunt.class,
|
||||
Q11014_SurpriseGift.class,
|
||||
Q11015_PrepareForTrade1.class,
|
||||
Q11016_PrepareForTrade2.class,
|
||||
Q11017_PrepareForTrade3.class,
|
||||
Q11019_TribalBenefit.class,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user