Addition of quest Temples Decorations (10996).

Contributed by Stayway.
This commit is contained in:
MobiusDev 2018-04-03 19:40:39 +00:00
parent 52dc86e25d
commit 15d344eae5
16 changed files with 366 additions and 2 deletions

View File

@ -0,0 +1,11 @@
<html><body>Temple Reconstruction Request:<br>
(A note from Priest Zimenf that lists materials required for reconstruction work.)<br>
Request to conduct repairs in Maphr's Temple.<br>
<font color="LEVEL">Barbed Bat Wing Sac</font> curtains<br>
Door and window cracks are letting drafts in. We can make Temple's inside warmer if we hang curtains.<br><br>
<font color="LEVEL">Puma Fur</font> carpet<br>
Puma Fur carpet needs to be put in Priest Daichir's room. It is too cold in there, and he gets ill often.<br><br>
Wall hanging made from <font color="LEVEL">Goblin Jewels</font><br>
Request to make a wall hanging with Goblin Jewels mosaic. The mosaic can show Maphr's Temple and Her commandments.<br><br>
Hinges from <font color="LEVEL">Golem Ore</font><br>
</body></html>

View File

@ -20,7 +20,6 @@
10871 Death to the Pirate King!
10993 Future: Dwarves
10994 Future: Orcs
10996 Temple's Decorations
10997 Loser Priest (1/3)
10998 Loser Priest (2/3)
10999 Loser Priest (3/3)

View File

@ -1,4 +1,4 @@
<html><body>Weapon Merchant Reep:<br>
That you've found the reward to your liking. By the way, Priest Zimenf visited our shop not so long ago. I think he was worried about something. Please, ask if he needs some kind of help.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11014_SurpriseGift 30136-01.htm">"Okay, I will talk to Priest Zimenf."</Button><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10996_TemplesDecorations 30516-02.htm">"Okay, I will talk to Priest Zimenf."</Button><br>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Weapon Merchant Reep:<br>
We don't have any problems apart from the beasts who hang around the trade route in big numbers. But you've already dealt with them.<br>
By the way! Priest Zimenf has been visiting us often lately. He took over a job or reconstructing Maphr's Temple, and it seems like he needs more workers. Would you like help him?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10996_TemplesDecorations 30516-02.htm">"Okay, I will talk to Priest Zimenf"</Button><br><br>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Weapon Merchant Reep:<br>
So you want to talk to him? Priest <font color="LEVEL">Zimenf</font> is at <font color="LEVEL">Maphr's Temple</font> in lower part of the town right now. I hope you can help him.<br>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Weapon Merchant Reep:<br>
Priest <font color="LEVEL">Zimenf</font> is at <font color="LEVEL">Maphr's Temple</font> in lower part of the town right now.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Priest of the Earth Zimenf:<br>
Reep sent you to me, right? Excellent! I was just looking for someone who will help me put our Marphr's Temple to rights. Unfortunately, after over the last centuries it has lost its former splendor... I tried to do everything myself, but alas! I couldn't find the necessary materials. Could you help me? I will give you this <font color="LEVEL">Temple Reconstruction Request</font>, it lists everything I need.<br>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Priest of the Earth Zimenf:<br>
Temple reconstruction requires lots of resources. You have to get ready properly.
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Priest of the Earth Zimenf:<br>
Did you bring everything I asked for? You did well! Then choose your reward, you rightly deserve it.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10996_TemplesDecorations reward1">Select Warrior's Armor for Newbies</Button><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10996_TemplesDecorations reward2">Select Medium's Tunic for Newbies</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Priest of the Earth Zimenf:<br>
Thank you again for your help. I hope you've found the reward to your liking.<br>
By the way, I might have another request for you. Do you know <font color="LEVEL">Priest Gerald</font>? He was charged with repairing the broken statue of Maphr's, but looks like this task is too hard for <font color="LEVEL">him</font>.<br>
Could you visit <font color="LEVEL">Priest Gerald</font> and find out how to help him><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10997_LoserPriest1 30538-02.htm">"I will talk to him."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Priest of the Earth Zimenf:<br>
Thank you again for your help. I hope you've found the reward to your liking.<br>
By the way, I might have another request for you. Do you know <font color="LEVEL">Priest Gerald</font>? He was charged with repairing the broken statue of Maphr's, but looks like this task is too hard for <font color="LEVEL">him</font>.<br>
Could you visit <font color="LEVEL">Priest Gerald</font> and find out how to help him><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10997_LoserPriest1 30538-02.htm">"I will talk to him."</Button>
</body></html>

View File

@ -0,0 +1,273 @@
/*
* 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.Q10996_TemplesDecorations;
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;
/**
* Temples Decorations (10996)
* @author Stayway
*/
public class Q10996_TemplesDecorations extends Quest
{
// NPCs
private static final int ZIMENF = 30538;
private static final int REEP = 30516;
// Items
private static final int BARBED_BAT_WING_SAC = 90291;
private static final int PUMA_FUR = 90292;
private static final int GOBLIN_JEWEL = 90293;
private static final int GOLEM_ORE = 90294;
private static final int TEMPLE_RECONSTRUCTION_REQUEST = 90290; // Need finish htm
// Rewards
private static final int WARRIORS_ARMOR = 90306;
private static final int WARRIORS_GAITERS = 90307;
private static final int MEDIUMS_TUNIC = 90308;
private static final int MEDIUMS_STOCKINGS = 90309;
private static final int RING_NOVICE = 29497;
// Monsters
private static final int BARBED_BATS = 20370;
private static final int CRYSTAL_PUMA = 20510;
private static final int GOBLIN_LORD = 20528;
private static final int GOBLIN_BRIGAND_LEADER = 20323;
private static final int WINSTONE_GOLEM = 20521;
private static final int OBSIDIAN_GOLEM = 20526;
// Misc
private static final int MIN_LVL = 11;
private static final int MAX_LVL = 20;
public Q10996_TemplesDecorations()
{
super(10996);
addStartNpc(REEP);
addTalkId(ZIMENF, REEP);
addKillId(BARBED_BATS, CRYSTAL_PUMA, GOBLIN_LORD, GOBLIN_BRIGAND_LEADER, WINSTONE_GOLEM, OBSIDIAN_GOLEM);
addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom
addCondRace(Race.DWARF, "no-race.html"); // Custom
registerQuestItems(TEMPLE_RECONSTRUCTION_REQUEST, BARBED_BAT_WING_SAC, PUMA_FUR, GOBLIN_JEWEL, GOLEM_ORE);
setQuestNameNpcStringId(NpcStringId.LV_11_20_TEMPLE_S_DECORATIONS);
}
@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 "30516-02.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "reward1":
{
if (qs.isCond(6))
{
takeItems(player, TEMPLE_RECONSTRUCTION_REQUEST, 1);
takeItems(player, BARBED_BAT_WING_SAC, 20);
takeItems(player, PUMA_FUR, 20);
takeItems(player, GOBLIN_JEWEL, 20);
takeItems(player, GOLEM_ORE, 20);
giveItems(player, WARRIORS_ARMOR, 1);
giveItems(player, WARRIORS_GAITERS, 1);
giveItems(player, RING_NOVICE, 2);
addExpAndSp(player, 80000, 0);
qs.exitQuest(false, true);
htmltext = "30538-03.html";
}
break;
}
case "reward2":
{
if (qs.isCond(6))
{
takeItems(player, TEMPLE_RECONSTRUCTION_REQUEST, 1);
takeItems(player, BARBED_BAT_WING_SAC, 20);
takeItems(player, PUMA_FUR, 20);
takeItems(player, GOBLIN_JEWEL, 20);
takeItems(player, GOLEM_ORE, 20);
giveItems(player, MEDIUMS_TUNIC, 1);
giveItems(player, MEDIUMS_STOCKINGS, 1);
giveItems(player, RING_NOVICE, 2);
addExpAndSp(player, 80000, 0);
qs.exitQuest(false, true);
htmltext = "30538-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() == REEP)
{
htmltext = "30516-01.html";
}
break;
}
case State.STARTED:
{
if (npc.getId() == REEP)
{
if (qs.isCond(1))
{
htmltext = "30516-02a.html";
}
break;
}
else if (npc.getId() == ZIMENF)
{
switch (qs.getCond())
{
case 1:
{
htmltext = "30538-01.htm";
qs.setCond(2, true);
showOnScreenMsg(talker, NpcStringId.GO_HUNTING_AND_KILL_BARBED_BATS, ExShowScreenMessage.TOP_CENTER, 10000);
giveItems(talker, TEMPLE_RECONSTRUCTION_REQUEST, 1);
break;
}
case 2:
{
htmltext = "30538-01a.html";
break;
}
case 6:
{
htmltext = "30538-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 BARBED_BATS:
{
if (qs.isCond(2) && (getQuestItemsCount(killer, BARBED_BAT_WING_SAC) < 20))
{
if (getRandom(100) < 90)
{
giveItems(killer, BARBED_BAT_WING_SAC, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if (getQuestItemsCount(killer, BARBED_BAT_WING_SAC) >= 20)
{
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_BARBED_BATS_N_GO_HUNTING_AND_KILL_CRYSTAL_PUMAS, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(3);
}
}
}
break;
}
case CRYSTAL_PUMA:
{
if (qs.isCond(3) && (getQuestItemsCount(killer, PUMA_FUR) < 20))
{
if (getRandom(100) < 90)
{
giveItems(killer, PUMA_FUR, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if (getQuestItemsCount(killer, PUMA_FUR) >= 20)
{
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_CRYSTAL_PUMAS_N_GO_HUNTING_AND_KILL_GOBLIN_LORDS_AND_GOBLIN_BRIGAND_LEADERS, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(4);
}
}
}
break;
}
case GOBLIN_LORD:
case GOBLIN_BRIGAND_LEADER:
{
if (qs.isCond(4) && (getQuestItemsCount(killer, GOBLIN_JEWEL) < 20))
{
if (getRandom(100) < 90)
{
giveItems(killer, GOBLIN_JEWEL, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if ((getQuestItemsCount(killer, GOBLIN_JEWEL) >= 20))
{
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_GOBLIN_LORDS_AND_GOBLIN_BRIGAND_LEADERS_N_GO_HUNTING_AND_KILL_WHINSTONE_GOLEM_AND_OBSIDIAN_GOLEMS, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(5);
}
}
}
break;
}
case WINSTONE_GOLEM:
case OBSIDIAN_GOLEM:
{
if (qs.isCond(5) && (getQuestItemsCount(killer, GOLEM_ORE) < 20))
{
if (getRandom(100) < 90)
{
giveItems(killer, GOLEM_ORE, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if ((getQuestItemsCount(killer, GOLEM_ORE) >= 20))
{
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_WHINSTONE_GOLEM_AND_OBSIDIAN_GOLEMS_NRETURN_TO_PRIEST_OF_THE_EARTH_ZIMENF, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(6);
}
}
}
break;
}
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -0,0 +1,4 @@
<html><body>Weapon Merchant Reep:<br>
You ought to gain more experience. Come back later.<br>
<font color="LEVEL">(This quest is available to characters of Level 11 or higher.)</font><br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Weapon Merchant Reep:<br>
You're not a Dwarf. Don't get me wrong, I'm not a racist. It's just that. I feel awkward asking for help someone I have never seen before.<br>
<font color="LEVEL">(This quest is available to Dwarves only.)</font><br>
</body></html>

View File

@ -148,6 +148,7 @@ import quests.Q00662_AGameOfCards.Q00662_AGameOfCards;
import quests.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss;
import quests.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss;
import quests.Q10995_MutualBenefit.Q10995_MutualBenefit;
import quests.Q10996_TemplesDecorations.Q10996_TemplesDecorations;
import quests.Q11000_MoonKnight.Q11000_MoonKnight;
import quests.Q11001_TombsOfAncestors.Q11001_TombsOfAncestors;
import quests.Q11002_HelpWithTempleRestoration.Q11002_HelpWithTempleRestoration;
@ -294,6 +295,7 @@ public class QuestMasterHandler
Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.class,
Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.class,
Q10995_MutualBenefit.class,
Q10996_TemplesDecorations.class,
Q11000_MoonKnight.class,
Q11001_TombsOfAncestors.class,
Q11002_HelpWithTempleRestoration.class,

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
<spawn name="DwarvesTerritory">
<group>
<npc id="20370" x="133419" y="-205268" z="-3599" heading="35991" respawnTime="60sec" /> <!-- Barbed Bat -->
<npc id="20370" x="132484" y="-204031" z="-3547" heading="18497" respawnTime="60sec" /> <!-- Barbed Bat -->
<npc id="20370" x="133840" y="-203651" z="-3732" heading="62308" respawnTime="60sec" /> <!-- Barbed Bat -->
<npc id="20370" x="132117" y="-208256" z="-3606" heading="45466" respawnTime="60sec" /> <!-- Barbed Bat -->
<npc id="20370" x="133077" y="-203136" z="-3665" heading="3781" respawnTime="60sec" /> <!-- Barbed Bat -->
<npc id="20370" x="130352" y="-203049" z="-3438" heading="43611" respawnTime="60sec" /> <!-- Barbed Bat -->
<npc id="20370" x="130632" y="-204164" z="-3498" heading="15249" respawnTime="60sec" /> <!-- Barbed Bat -->
<npc id="20510" x="126339" y="-199137" z="-3708" heading="17094" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="126003" y="-200802" z="-3707" heading="39939" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="125881" y="-201878" z="-3570" heading="61528" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="126576" y="-202579" z="-3525" heading="57628" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="127856" y="-202777" z="-3652" heading="64136" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="128460" y="-201766" z="-3730" heading="11943" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="129595" y="-201737" z="-3549" heading="1027" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="128314" y="-200737" z="-3732" heading="29787" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="129141" y="-198654" z="-3539" heading="12938" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="127914" y="-198180" z="-3412" heading="29416" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="124968" y="-199088" z="-3652" heading="47878" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="125100" y="-200425" z="-3626" heading="50961" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="126698" y="-200306" z="-3732" heading="2720" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="125842" y="-198772" z="-3709" heading="22985" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="129749" y="-200080" z="-3414" heading="327" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20510" x="130277" y="-202546" z="-3438" heading="54523" respawnTime="60sec" /> <!-- Crystal Puma -->
<npc id="20323" x="132364" y="-207775" z="-3646" heading="47330" respawnTime="60sec" /> <!-- Goblin Brigand Leader -->
<npc id="20323" x="131777" y="-208920" z="-3584" heading="44487" respawnTime="60sec" /> <!-- Goblin Brigand Leader -->
<npc id="20323" x="129910" y="-209773" z="-3533" heading="43987" respawnTime="60sec" /> <!-- Goblin Brigand Leader -->
<npc id="20323" x="128907" y="-210694" z="-3401" heading="42431" respawnTime="60sec" /> <!-- Goblin Brigand Leader -->
<npc id="20323" x="127942" y="-211110" z="-3373" heading="31746" respawnTime="60sec" /> <!-- Goblin Brigand Leader -->
<npc id="20323" x="127645" y="-209232" z="-3405" heading="19812" respawnTime="60sec" /> <!-- Goblin Brigand Leader -->
<npc id="20323" x="126316" y="-207698" z="-3419" heading="21923" respawnTime="60sec" /> <!-- Goblin Brigand Leader -->
</group>
</spawn>
</list>