Updated quest 10966 and removed 10987.

Contributed by Elison.
This commit is contained in:
MobiusDevelopment
2022-04-01 23:35:02 +00:00
parent a99111eff5
commit db971a5109
14 changed files with 60 additions and 227 deletions

View File

@@ -1,7 +1,5 @@
<html><body>Gatekeeper Bella:<br>
Hm... You are a Sylph, aren't you?<br>
Nice to meet you! Since I heard that Sylphs had come to the continent, I've been whishing to meet one of them. Now my dream becomes true!<br>
I've heard Gatekeeper Mellos was sent to the Wind Village, but it seems you haven't met her.<br>
Well, you should learn to find suitable places to train then.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10290_ATripBegins 30256-02.html">Ask what to do</Button>
So you're an inexperienced warrior. Are you ready to meet adventures?<br>
Then I advise you to get into the habit of finding training grounds of your level.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10290_ATripBegins 30256-02.html">Ask what should be done</Button>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Gantaki Zu Urutu:<br>
It seems you haven't changed your class yet.<br>
Do it if you want to become stronger.<br>
I know a warrior in Gludio who always helps aspiring adventurers.<br>
His name is Bathis. I'm sure he will be glad to meet you.<br>
But I'd recommend you do some training before going to him. Show him true Orc courage, so to speak. What do you think?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10290_ATripBegins 30587-02.htm">Ask what needs to be done</button>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Gantaki Zu Urutu:<br>
First press <font color="LEVEL">Tab</font> or <font color="LEVEL">Alt+V</font> to open your <font color="LEVEL">inventory</font>.<br>
<font color="LEVEL">Equip</font><font color="LEVEL"> a weapon and armor</font> from there if you haven't done it already.<br>
You can open your <font color="LEVEL">skill list</font> by pressing <font color="LEVEL">Alt+K</font>.<br>
When you change class, new skills for learning will appear there. It's very important.<br>
So, have you completed your basic training?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10290_ATripBegins 30587-03.htm">Nod</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Gantaki Zu Urutu:<br>
And now you must choose a place to hunt and start training.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10290_ATripBegins 30587-04.htm">Ask where you can hunt</Button>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Gantaki Zu Urutu:<br>
If you are uncertain where to go, try asking <font color="LEVEL">the Gatekeepers</font>.<br>
We have our own <font color="LEVEL">Gatekeeper</font> here, in the Orc Village.<br>
So you can either talk to <font color="LEVEL">Tamil</font> or go to <font color="LEVEL">Gludio</font> and find <font color="LEVEL">Gatekeeper Bella</font> there.<br>
By the way, I can send you to Gludio without further ado.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10290_ATripBegins TELEPORT_TO_GLUDIO">"Yes, send me to Gludio."</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Gantaki Zu Urutu:<br>
So you can either talk to <font color="LEVEL">Tamil</font> or go to <font color="LEVEL">Gludio</font> and find <font color="LEVEL">Gatekeeper Bella</font> there.<br>
By the way, I can send you to Gludio without further ado.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10290_ATripBegins TELEPORT_TO_GLUDIO">"Yes, send me to Gludio."</Button>
</body></html>

View File

@@ -44,6 +44,7 @@ public class Q10290_ATripBegins extends Quest
private static final int MATHORN = 34139;
private static final int BELLA = 30256;
private static final int EVIA = 34211;
private static final int GANTAKI_ZU_URUTU = 30587;
// Items
private static final ItemHolder SOE_TO_CAPTAIN_BATHIS = new ItemHolder(91651, 1);
private static final ItemHolder SOE_TO_RUIN_OF_AGONY = new ItemHolder(91727, 1);
@@ -69,8 +70,8 @@ public class Q10290_ATripBegins extends Quest
public Q10290_ATripBegins()
{
super(10290);
addStartNpc(CAPTAIN_BATHIS, MATHORN, EVIA);
addTalkId(CAPTAIN_BATHIS, MATHORN, EVIA, BELLA);
addStartNpc(CAPTAIN_BATHIS, MATHORN, EVIA, GANTAKI_ZU_URUTU);
addTalkId(CAPTAIN_BATHIS, MATHORN, EVIA, GANTAKI_ZU_URUTU, BELLA);
addKillId(ARACHNID_PREDATOR, SKELETON_BOWMAN, RUIN_SPARTOI, RAGING_SPARTOI, RAGING_SPARTOI, TUMRAN_BUGBEAR, TUMRAN_BUGBEAR_WARRIOR);
addCondMinLevel(MIN_LEVEL, "no_lvl.html");
addCondMaxLevel(MAX_LEVEL, "no_lvl.html");
@@ -106,6 +107,9 @@ public class Q10290_ATripBegins extends Quest
case "30332.htm":
case "30332-01.htm":
case "30332-02.htm":
case "30587-01.htm":
case "30587-02.htm":
case "30587-03.htm":
{
htmltext = event;
break;
@@ -138,6 +142,12 @@ public class Q10290_ATripBegins extends Quest
htmltext = event;
break;
}
case "30587-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "30256-03.html":
{
qs.setCond(2, true);
@@ -215,6 +225,11 @@ public class Q10290_ATripBegins extends Quest
htmltext = "30256-01.html";
break;
}
case GANTAKI_ZU_URUTU:
{
htmltext = "30587-01.htm";
break;
}
case CAPTAIN_BATHIS:
{
htmltext = "30332.htm";
@@ -242,6 +257,14 @@ public class Q10290_ATripBegins extends Quest
}
break;
}
case GANTAKI_ZU_URUTU:
{
if (qs.isCond(1))
{
htmltext = "30587-05.htm";
}
break;
}
case BELLA:
{
if (qs.isCond(1))

View File

@@ -1,4 +0,0 @@
<html><body>Trader Uska:<br>
I heard someting that might help you. The Maraku Werewolves seem to be scheming something. Its something they always do, but it looks like it is something big this time. Even Captain Bathis from Gludio Castle is worried about what the Maraku Werewolves are up to. How about taking care of the Maraku Werewolves and going to Bathis?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10988_Conspiracy NEXT_QUEST">"I will try"</Button>
</body></html>

View File

@@ -1,4 +0,0 @@
<html><body>Trader Uska:<br>
I heard that you beat those guys up. Our ancestors will be able to rest in peace.Here is the item I was storing. Thank you.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10987_PlunderedGraves 30560-02.htm">Thank you</Button>
</body></html>

View File

@@ -1,6 +0,0 @@
<html><body>Newbie Guide:<br>
You know that many ancestora are resting in the Valley of Heroes, right?<br>
But it looks like the Kasha Wolves and Goblin Tomb Raiders have been damaging the tombs.<br1>
Will you take care of those bastards? I have left some rewards with Uska, so go after you finish the job.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10987_PlunderedGraves 30602-02.htm">"I cannot forgive them, no."</Button>
</body></html>

View File

@@ -1,6 +0,0 @@
<html><body>Newbie Guide:<br>
Hunt those Kasha Wolves, Goblin Tomb Raiders, and Rakeclaw Imps. They dared to damage the tombs of our ancestors.<br>
20 of them should be enough. And one you are done, go find Uska. I left some rewards with him.<br>
If you are going to hunting ground, I can send you there.
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10987_PlunderedGraves TELEPORT_TO_HUNTING_GROUND">"Go to the hunting ground."</Button>
</body></html>

View File

@@ -1,195 +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.Q10987_PlunderedGraves;
import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
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.ExShowScreenMessage;
/**
* Plundered Graves (10987)
* @author RobikBobik
* @Notee: Based on NA server September 2019
*/
public class Q10987_PlunderedGraves extends Quest
{
// NPCs
private static final int NEWBIE_GUIDE = 30602;
private static final int USKA = 30560;
// Monsters
private static final int KASHA_WOLF = 20475;
private static final int KASHA_TIMBER_WOLF = 20477; // NOTE: Kasha Forest Wolf in old client
private static final int GOBLIN_TOMB_RAIDER = 20319;
private static final int RAKECLAW_IMP_HUNTER = 20312;
// Items
private static final ItemHolder SOE_TO_USKA = new ItemHolder(91649, 1);
private static final ItemHolder SOE_NOVICE = new ItemHolder(10650, 10);
private static final ItemHolder RING_NOVICE = new ItemHolder(49041, 2);
private static final ItemHolder EARRING_NOVICE = new ItemHolder(49040, 2);
private static final ItemHolder NECKLACE_NOVICE = new ItemHolder(49039, 1);
// Misc
private static final int MAX_LEVEL = 20;
private static final String KILL_COUNT_VAR = "KillCount";
public Q10987_PlunderedGraves()
{
super(10987);
addStartNpc(NEWBIE_GUIDE);
addTalkId(NEWBIE_GUIDE, USKA);
addKillId(KASHA_WOLF, KASHA_TIMBER_WOLF, GOBLIN_TOMB_RAIDER, RAKECLAW_IMP_HUNTER);
addCondMaxLevel(MAX_LEVEL, "no_lvl.html");
setQuestNameNpcStringId(NpcStringId.LV_2_20_PLUNDERED_GRAVES);
}
@Override
public boolean checkPartyMember(Player member, Npc npc)
{
final QuestState qs = getQuestState(member, false);
return ((qs != null) && qs.isStarted());
}
@Override
public String onAdvEvent(String event, Npc npc, Player player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "TELEPORT_TO_HUNTING_GROUND":
{
giveStoryBuffReward(npc, player);
player.teleToLocation(-39527, -117654, -1840);
break;
}
case "30602-02.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "30560-02.htm":
{
if (qs.isStarted())
{
addExpAndSp(player, 260000, 6000);
giveItems(player, SOE_NOVICE);
giveItems(player, RING_NOVICE);
giveItems(player, EARRING_NOVICE);
giveItems(player, NECKLACE_NOVICE);
giveStoryBuffReward(npc, player);
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, Player killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1))
{
final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
if (killCount < 20)
{
qs.set(KILL_COUNT_VAR, killCount);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
sendNpcLogList(killer);
}
else
{
qs.setCond(2, true);
qs.unset(KILL_COUNT_VAR);
giveItems(killer, SOE_TO_USKA);
showOnScreenMsg(killer, NpcStringId.YOU_VE_KILLED_ALL_THE_MONSTERS_USE_THE_SCROLL_OF_ESCAPE_IN_YOUR_INVENTORY_TO_RETURN_TO_ACCESSORY_MERCHANT_USKA, ExShowScreenMessage.TOP_CENTER, 10000);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(Player player)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1))
{
final Set<NpcLogListHolder> holder = new HashSet<>();
holder.add(new NpcLogListHolder(NpcStringId.TRACK_DOWN_GRAVE_ROBBERS.getId(), true, qs.getInt(KILL_COUNT_VAR)));
return holder;
}
return super.getNpcLogList(player);
}
@Override
public String onTalk(Npc npc, Player player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs.isCreated())
{
htmltext = "30602-01.htm";
}
else if (qs.isStarted())
{
switch (npc.getId())
{
case NEWBIE_GUIDE:
{
if (qs.isCond(1))
{
htmltext = "30602-02.htm";
}
break;
}
case USKA:
{
if (qs.isCond(2))
{
htmltext = "30560.htm";
}
break;
}
}
}
else if (qs.isCompleted())
{
if (npc.getId() == NEWBIE_GUIDE)
{
htmltext = getAlreadyCompletedMsg(player);
}
}
return htmltext;
}
}

View File

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

View File

@@ -60,7 +60,6 @@ import quests.Q10983_TroubledForest.Q10983_TroubledForest;
import quests.Q10984_CollectSpiderweb.Q10984_CollectSpiderweb;
import quests.Q10985_CleaningUpTheGround.Q10985_CleaningUpTheGround;
import quests.Q10986_SwampMonster.Q10986_SwampMonster;
import quests.Q10987_PlunderedGraves.Q10987_PlunderedGraves;
import quests.Q10988_Conspiracy.Q10988_Conspiracy;
import quests.Q10989_DangerousPredators.Q10989_DangerousPredators;
import quests.Q10990_PoisonExtraction.Q10990_PoisonExtraction;
@@ -109,7 +108,6 @@ public class QuestMasterHandler
Q10984_CollectSpiderweb.class,
Q10985_CleaningUpTheGround.class,
Q10986_SwampMonster.class,
Q10987_PlunderedGraves.class,
Q10988_Conspiracy.class,
Q10989_DangerousPredators.class,
Q10990_PoisonExtraction.class,