Addition of quests 10971, 10972 and 10973.

Contributed by quangnguyen.
This commit is contained in:
MobiusDevelopment 2021-01-28 20:04:45 +00:00
parent 72c7dd30da
commit db463e2793
29 changed files with 457 additions and 117 deletions

View File

@ -18,9 +18,6 @@
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

View File

@ -0,0 +1,6 @@
<html><body>Captain Bathis:<br>
Talisman of Aden can be enchanted with a special enchanting scroll.<br>
<font color="LEVEL">Double-click</font> on the <font color="LEVEL">Scroll: Enchant Talisman of Aden</font>, point the <font color="LEVEL">Talisman of Aden</font> and click on the <font color="LEVEL">Ok</font> button to start enchanting.<br>
But keep in mind that you can enchant your Talisman of Aden <font color="LEVEL">safety to +1</font>. After that there's a chance to <font color="LEVEL">fail the process</font>, and in that case the item will be <font color="LEVEL">destroyed</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10971_TalismanEnchant 30332-02.htm">"What should I do?"</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Captain Bathis:<br>
Dont be so impatient. Follow my guidance and you will make a name for youself as a skilled adventurer in no time.<br>
First, let me tell you a couple of things that are of the highest importance no matter what you do in future. They are about <font color=LEVEL>auto-hunting</font>, which will come in handy if you learn about them before you starting fighting in earnest.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10971_TalismanEnchant 30332-03.htm">"What should I do?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Captain Bathis:<br>
Don't worry. The talisman I gave you is new, so you can enchant it safely to +1.<br>
Enchant your Talisman of Aden using the enchanting scroll and then speak to me.<br>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Captain Bathis:<br>
Excellent. Do not forget enchant talisman you have!
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Captain Bathis:<br>
To make a talisman more effective you have to <font color="LEVEL">enchant it using a special scroll</font>.<br>
I have a <font color="LEVEL">Talisman of Aden</font> and <font color="LEVEL">Scroll: Enchant Talisman of Aden</font> for you.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10971_TalismanEnchant 30332-01.htm">Learn more</Button>
</body></html>

View File

@ -0,0 +1,117 @@
/*
* 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.Q10971_TalismanEnchant;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.ExTutorialShowId;
/**
* @author Mobius, quangnguyen
*/
public class Q10971_TalismanEnchant extends Quest
{
// NPC
private static final int CAPTAIN_BATHIS = 30332;
// Item
private static final int TALISMAN_OF_ADEN = 91745;
// Misc
private static final int MIN_LEVEL = 25;
public Q10971_TalismanEnchant()
{
super(10971);
addStartNpc(CAPTAIN_BATHIS);
addTalkId(CAPTAIN_BATHIS);
addCondMinLevel(MIN_LEVEL, "no_lvl.html");
setQuestNameNpcStringId(NpcStringId.LV_25_ENCHANT_TALISMAN);
}
@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 "30332.htm":
case "30332-00.html":
case "30332-01.htm":
case "30332-02.htm":
{
htmltext = event;
break;
}
case "30332-03.htm":
{
qs.startQuest();
player.sendPacket(new ExTutorialShowId(47));
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated())
{
htmltext = "30332.htm";
}
else if (qs.isStarted())
{
boolean foundEnchant = false;
SEARCH: for (ItemInstance item : player.getInventory().getItemsByItemId(TALISMAN_OF_ADEN))
{
if (item.getEnchantLevel() > 0)
{
foundEnchant = true;
break SEARCH;
}
}
if (foundEnchant)
{
addExpAndSp(player, 100000, 0);
qs.exitQuest(false, true);
htmltext = "30332-04.html";
}
else
{
htmltext = "30332-03.htm";
player.sendPacket(new ExTutorialShowId(47));
}
}
else if (qs.isCompleted())
{
htmltext = getAlreadyCompletedMsg(player);
}
return htmltext;
}
}

View File

@ -0,0 +1,3 @@
<html><body>Captain bathis:<br>
You do not meet the requirements of the quest (Quest is only available to 20-25 levels).
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Captain Bathis:<br>
I see a rough jewel with half an eye.<br>
But this one is really not bad.<br>
Also it can be enchanted through synthesis.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10972_CombiningGems 30332-02.htm">"Tell me about synthesis."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Captain Bathis:<br>
For synthesis you need jewels of the same level.<br>
You have one and now I'm going to give you another.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10972_CombiningGems 30332-03.htm">"I want to make a synthesis."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Captain Bathis:<br>
To make a <font color="LEVEL">synthesis</font> you need <font color="LEVEL">two jewels of the same level</font>.<br>
Click on the <font color="LEVEL">Synthesis</font> buttton in <font color="LEVEL">Inventory</font> and you will see items that can be combined through systhesis. I'll give you the second jewel so you can make a systhesis.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Captain Bathis:<br>
Have you synthetized jewels?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10972_CombiningGems 30332-05.html">Nod</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Captain Bathis:<br>
Good. I hope someday you'll get excellent jewels.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Captain Bathis:<br>
Now you have a gem. So, what do you think?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10972_CombiningGems 30332-01.htm">Shrug</Button>
</body></html>

View File

@ -0,0 +1,116 @@
/*
* 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.Q10972_CombiningGems;
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.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.ExTutorialShowId;
/**
* @author Mobius, quangnguyen
*/
public class Q10972_CombiningGems extends Quest
{
// NPC
private static final int CAPTAIN_BATHIS = 30332;
// Items
private static final int ADVENTURE_ROUGH_JEWEL_LV1 = 91936;
private static final int ADVENTURE_ROUGH_JEWEL_LV2 = 93065;
// Misc
private static final int MIN_LEVEL = 30;
public Q10972_CombiningGems()
{
super(10972);
addStartNpc(CAPTAIN_BATHIS);
addTalkId(CAPTAIN_BATHIS);
addCondMinLevel(MIN_LEVEL, "no_lvl.html");
setQuestNameNpcStringId(NpcStringId.LV_30_JEWEL_COMPOUNDING);
}
@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 "30332.htm":
case "30332-00.html":
case "30332-01.htm":
case "30332-02.htm":
{
htmltext = event;
break;
}
case "30332-03.htm":
{
qs.startQuest();
player.sendPacket(new ExTutorialShowId(47));
giveItems(player, ADVENTURE_ROUGH_JEWEL_LV1, 1);
htmltext = event;
break;
}
case "30332-05.html":
{
if (qs.isStarted())
{
if (getQuestItemsCount(player, ADVENTURE_ROUGH_JEWEL_LV2) > 0)
{
addExpAndSp(player, 100000, 0);
qs.exitQuest(false, true);
htmltext = event;
break;
}
htmltext = "no_items.html";
player.sendPacket(new ExTutorialShowId(47));
break;
}
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated())
{
htmltext = "30332.htm";
}
else if (qs.isStarted())
{
htmltext = "30332-04.html";
}
else if (qs.isCompleted())
{
htmltext = getAlreadyCompletedMsg(player);
}
return htmltext;
}
}

View File

@ -0,0 +1,4 @@
<html><body>Captain Bathis:<br>
Jewels shouldn't remain useless.<br>
Combine jewels through synthesis to get a jewel of Lv. 2 and then speak to me.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Captain Bathis:<br>
You do not meet the requirements of the quest (Quest is only available to 30+ levels).
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>High Priest Raymond:<br>
To enchant agathions you need a special enchanting scroll.<br>
At the same time there's a special enchanting scroll for Adventurer's Agathion - Griffin.<br>
If you want I can help you to enchant Adventurer's Agathion - Griffin.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10973_EnchantingAgathions 30289-02.htm">Agree</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>High Priest Raymond:<br>
So, we have a special enchanting scroll for Adventurer's Agathion - Griffin.<br>
Double-click on Scroll: Enchant Adventurer's Agathion - Griffin, choose Adventurer's Agathion - Griffin and click on the Start button to enchant it.<br>
Enchant your agathion and then speak to me.<br>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>High Priest Raymond:<br>
So, we have a special enchanting scroll for Adventurer's Agathion - Griffin.<br>
Double-click on Scroll: Enchant Adventurer's Agathion - Griffin, choose Adventurer's Agathion - Griffin and click on the Start button to enchant it.<br>
Enchant your agathion and then speak to me.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>High Priest Raymond:<br>
So, did you do it?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10973_EnchantingAgathions 30289-05.html">Nod</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>High Priest Raymond:<br>
Great! But you should know one more thing. Adventurer's Agathion - Griffin is an agathion for newbie adventurer's, so it can be enchanted to +1 only. Other agathions can become much stronger.<br>
However, when you enchant agathion to +4 and higher there is a chance to fail enchanting, in that case the agathion disappears.
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>High Priest Raymond:<br>
To enchant agathions you need special enchanting scrolls.<br>
It's about you Adventurer's Agathion - Griffin too.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10973_EnchantingAgathions 30289-01.htm">Learn more</Button>
</body></html>

View File

@ -0,0 +1,127 @@
/*
* 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.Q10973_EnchantingAgathions;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.ExTutorialShowId;
/**
* @author Mobius, quangnguyen
*/
public class Q10973_EnchantingAgathions extends Quest
{
// NPC
private static final int RAYMOND = 30289;
// Item
private static final int TRAVELER_AGATHION_GRIFFIN = 91935;
private static final int ENCHANT_SCROLL_AGATHION_GRIFFIN = 93040;
// Misc
private static final int MIN_LEVEL = 35;
public Q10973_EnchantingAgathions()
{
super(10973);
addStartNpc(RAYMOND);
addTalkId(RAYMOND);
addCondMinLevel(MIN_LEVEL, "no_lvl.html");
setQuestNameNpcStringId(NpcStringId.LV_35_ENCHANT_AGATHION);
}
@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 "30289.htm":
case "30289-00.html":
case "30289-01.htm":
{
htmltext = event;
break;
}
case "30289-02.htm":
{
qs.startQuest();
giveItems(player, ENCHANT_SCROLL_AGATHION_GRIFFIN, 1);
player.sendPacket(new ExTutorialShowId(47));
htmltext = event;
break;
}
case "30289-05.html":
{
if (qs.isStarted())
{
boolean foundEnchant = false;
SEARCH: for (ItemInstance item : player.getInventory().getItemsByItemId(TRAVELER_AGATHION_GRIFFIN))
{
if (item.getEnchantLevel() > 0)
{
foundEnchant = true;
break SEARCH;
}
}
if (foundEnchant)
{
addExpAndSp(player, 100000, 0);
qs.exitQuest(false, true);
htmltext = event;
break;
}
htmltext = "30289-03.htm";
player.sendPacket(new ExTutorialShowId(47));
break;
}
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated())
{
htmltext = "30289.htm";
}
else if (qs.isStarted())
{
if (qs.isCond(1))
{
htmltext = "30289-04.html";
}
}
else if (qs.isCompleted())
{
htmltext = getAlreadyCompletedMsg(player);
}
return htmltext;
}
}

View File

@ -0,0 +1,3 @@
<html><body>Captain bathis:<br>
You do not meet the requirements of the quest (Quest is only available to 35+ levels).
</body></html>

View File

@ -33,6 +33,9 @@ import quests.Q10964_SecretGarden.Q10964_SecretGarden;
import quests.Q10965_DeathMysteries.Q10965_DeathMysteries;
import quests.Q10966_ATripBegins.Q10966_ATripBegins;
import quests.Q10967_CulturedAdventurer.Q10967_CulturedAdventurer;
import quests.Q10971_TalismanEnchant.Q10971_TalismanEnchant;
import quests.Q10972_CombiningGems.Q10972_CombiningGems;
import quests.Q10973_EnchantingAgathions.Q10973_EnchantingAgathions;
import quests.Q10981_UnbearableWolvesHowling.Q10981_UnbearableWolvesHowling;
import quests.Q10982_SpiderHunt.Q10982_SpiderHunt;
import quests.Q10983_TroubledForest.Q10983_TroubledForest;
@ -46,9 +49,6 @@ import quests.Q10990_PoisonExtraction.Q10990_PoisonExtraction;
import quests.not_done.Q10968_ThePowerOfTheMagicLamp;
import quests.not_done.Q10969_SporeInfestedPlace;
import quests.not_done.Q10970_RespectForGraves;
import quests.not_done.Q10971_TalismanEnchant;
import quests.not_done.Q10972_CombiningGems;
import quests.not_done.Q10973_EnchantingAgathions;
import quests.not_done.Q10974_NewStylishEquipment;
import quests.not_done.Q10975_LetsPayRespectsToOurFallenBrethren;
import quests.not_done.Q10976_MemoryOfTheGloriousPast;
@ -91,9 +91,9 @@ public class QuestMasterHandler
Q10968_ThePowerOfTheMagicLamp.class, // TODO: Not done.
Q10969_SporeInfestedPlace.class, // TODO: Not done.
Q10970_RespectForGraves.class, // TODO: Not done.
Q10971_TalismanEnchant.class, // TODO: Not done.
Q10972_CombiningGems.class, // TODO: Not done.
Q10973_EnchantingAgathions.class, // TODO: Not done.
Q10971_TalismanEnchant.class,
Q10972_CombiningGems.class,
Q10973_EnchantingAgathions.class,
Q10974_NewStylishEquipment.class, // TODO: Not done.
Q10975_LetsPayRespectsToOurFallenBrethren.class, // TODO: Not done.
Q10976_MemoryOfTheGloriousPast.class, // TODO: Not done.

View File

@ -1,36 +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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10971_TalismanEnchant extends Quest
{
private static final int START_NPC = 30332;
public Q10971_TalismanEnchant()
{
super(10971);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -1,36 +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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10972_CombiningGems extends Quest
{
private static final int START_NPC = 30332;
public Q10972_CombiningGems()
{
super(10972);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -1,36 +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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10973_EnchantingAgathions extends Quest
{
private static final int START_NPC = 30289;
public Q10973_EnchantingAgathions()
{
super(10973);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}