Addition of quests 10527 and 10528.

Contributed by gigilo1968.
This commit is contained in:
MobiusDev 2017-11-22 23:49:07 +00:00
parent 9cad7b3d20
commit 0e0e27a1cc
22 changed files with 386 additions and 2 deletions

View File

@ -147,8 +147,6 @@
10456 Operation: Rescue
10457 Kefensis' Illusion
10506 Diana's Request
10527 The Assassination of the Ketra Orc Commander Defeat Ketra's Commander Tayr
10528 The Assassination of the Ketra Orc Chief Defeat Ketra's Chief Brakki
10530 Kekropus' Letter, The Dragon's Transition Achieve Level 81
10531 Odd Happenings at Dragon Valley Strange Things Afoot in the Valley
10532 Uncovering the Conspiracy Eliminate the Undead and Dragons

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
I admire your valor, but we require someone more adept.<br>
(The quest is only for Ertheia characters.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
I admire your valor, but we require someone more adept.<br>
(This quest may only be undertaken by an Ertheia Wizard character with Lv. 76 or above who has completed the quest "The Dark Secret of the Ketra Orcs".)
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Lugonnes:<br>
Hmm... it appears that they are bring extremely cautious.<br>
<font color="LEVEL">Belos</font> is nowhere to be found. We need to flush them out.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10527_TheAssassinationOfTheKetraOrcCommander 33852-02.htm">"What should I do?"</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Lugonnes:<br>
We will go after their commander. There's no way they will keep<font color="LEVEL">Belos</font> hidden even when their commander is in danger.<br>
After creating a situation where they have no choice but to reveal Belos, we will slay Belos together once he shows himself.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10527_TheAssassinationOfTheKetraOrcCommander 33852-03.htm">"Go on."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
Of course, taking out the<font color="LEVEL">Ketra Orc</font> Commander will not be easy. Also, there is a chance that <font color="LEVEL">Belos</font> will not show himself. However, it is still worth a shot. Even if we only manage to slay their commander, we have nothing to lose from that.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10527_TheAssassinationOfTheKetraOrcCommander 33852-04.htm">"I understand."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
I will repeat my Instructions.<br>
Find and kill <font color="LEVEL">Ketra's Commander Tayr</font> here at the <font color="LEVEL">Ketra Orc Outpost</font> and report to me.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
Have you not found <font color="LEVEL">Ketra's Commander Tayr</font>?<br>
Again, find and kill <font color="LEVEL">Ketra's Commander Tayr</font> here at the <font color="LEVEL">Ketra Orc Outpost</font> and report to me.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
Hmm... Even after <font color="LEVEL">Ketra's Commander Tayr</font> was killed, <font color="LEVEL">Belos</font> didn't show up. I will think on this. Anyway, it is good that you killed Ketra's Commander Tayr. Now that the alliance between <font color="LEVEL">Embryo</font> and the <font color="LEVEL">Ketra Orcs</font> is proven, it is not good for us to have him alive.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10527_TheAssassinationOfTheKetraOrcCommander 33852-07.html">"Go on."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
Anyways, good work. You may get some rest now. I will devise another plan to bring <font color="LEVEL">Belos</font> out into the open.<br>
I will tell you when I come up with a good idea.
</body></html>

View File

@ -0,0 +1,148 @@
/*
* 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.Q10527_TheAssassinationOfTheKetraOrcCommander;
import com.l2jmobius.gameserver.enums.CategoryType;
import com.l2jmobius.gameserver.enums.QuestType;
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 quests.Q10526_TheDarkSecretOfTheKetraOrcs.Q10526_TheDarkSecretOfTheKetraOrcs;
/**
* The Assassination of the Ketra Orc Commander (10527)
* @URL https://l2wiki.com/The_Assassination_of_the_Ketra_Orc_Commander#Ertheia
* @author Gigi
* @date 2017-11-22 - [15:54:21]
*/
public class Q10527_TheAssassinationOfTheKetraOrcCommander extends Quest
{
// NPCs
private static final int LUGONNES = 33852;
// Monsters
private static final int KETRAS_COMMANDER_TAYR = 27500; // Ketra's Commander Tayr
// Misc
private static final int MIN_LEVEL = 76;
private static final int MAX_LEVEL = 80;
public Q10527_TheAssassinationOfTheKetraOrcCommander()
{
super(10527);
addStartNpc(LUGONNES);
addTalkId(LUGONNES);
addKillId(KETRAS_COMMANDER_TAYR);
addCondRace(Race.ERTHEIA, "33852-00.html");
addCondStart(p -> p.isInCategory(CategoryType.MAGE_GROUP), "33852-00a.htm");
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33852-00a.html");
addCondCompletedQuest(Q10526_TheDarkSecretOfTheKetraOrcs.class.getSimpleName(), "33852-00a.html");
}
@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 "33852-02.htm":
case "33852-03.htm":
{
htmltext = event;
break;
}
case "33852-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33852-07.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 327446943, 1839);
qs.exitQuest(QuestType.ONE_TIME, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
if (npc.getId() == LUGONNES)
{
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "33852-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33852-05.html";
}
else if (qs.isCond(2))
{
htmltext = "33852-06.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, true);
if ((qs != null) && qs.isCond(1))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
I admire your valor, but we require someone more adept.<br>
(The quest is only for Ertheia characters.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
I admire your valor, but we require someone more adept.<br>
(This quest may only be undertaken by an Ertheia Wizard character with Lv. 76 or above who has completed the quest "Assassination of the Ketra Orc Commander".)
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Lugonnes:<br>
The situation is not good. Since we took out their commander, their security has been tight. Though this was expected, it's hardly welcome.<br>
Of course, giving up now is not an option. We should simply do what we need to do.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10528_TheAssassinationOfTheKetraOrcChief 33852-02.htm">"What should I do?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Giant's Minion Lugonnes:<br>
The most dangerous thing that we can do may also be the most sure-fire way of bringing Belos out.<br>
We should find and slay their chief. Having already lost their Commander, if they also lose their chief to us, the Ketra Orcs will be plunged into confusion.<br>
At that point, no matter what agreement they entered into with the Embryo, they'll have no choice but to bring out <font color="LEVEL">Belos</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10528_TheAssassinationOfTheKetraOrcChief 33852-03.htm">"I agree."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Lugonnes:<br>
I knew you'd agree with me.<br>
Of course, slaying the <font color="LEVEL">Ketra Orcs'</font> chief won't be an easy undertaking. However according to my observations until now, you're up to the task.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10528_TheAssassinationOfTheKetraOrcChief 33852-04.htm">"I'll take care of everything."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
Let me repeat my instructions.<br>
Find and kill <font color="LEVEL">Ketra's Chief Brakki</font> here at the <font color="LEVEL">Ketra Orc Outpost</font> and report to me.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Lugonnes:<br>
Have you not slayed <font color="LEVEL">Ketra's Chief Brakki</font> yet?<br>
I will give you the instructions again. Find and kill <font color="LEVEL">Ketra's Chief Brakki</font> here at the <font color="LEVEL">Ketra Orc Outpost</font> and report to me.<br>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Lugonnes:<br>
Finally! Killing <font color="LEVEL">Ketra's Chief Brakki</font> was exactly what we needed to flush out <font color="LEVEL">Belos</font>. We should have done that first!<br>
Well, I think that's it for both of us now. Time for some rest.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10528_TheAssassinationOfTheKetraOrcChief 33852-07.html">"Go on."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Giant's Minion Lugonnes:<br>
So you got rid of <font color="LEVEL">Belos</font>, and killed the chief of <font color="LEVEL">Ketra Orcs</font>. working with <font color="LEVEL">Embryo</font>, huh? what progress!<br>
Of course, that doesn't mean we can let our guard down against <font color="LEVEL">Embryo</font>. They'll be up to on good somewhere else before long!<br>
We will not forget the help the Ertheia have given us. Anyway, I'll let <font color="LEVEL">Kekropus</font> know of your valor. He will be grateful as well. We the Giant's Minions will always remember you.
</body></html>

View File

@ -0,0 +1,154 @@
/*
* 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.Q10528_TheAssassinationOfTheKetraOrcChief;
import com.l2jmobius.gameserver.enums.CategoryType;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.enums.QuestType;
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 quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinationOfTheKetraOrcCommander;
/**
* The Assassination of the Ketra Orc Chief (10528)
* @URL https://l2wiki.com/The_Assassination_of_the_Ketra_Orc_Chief#Ertheia
* @author Gigi
* @date 2017-11-22 - [21:34:59]
*/
public class Q10528_TheAssassinationOfTheKetraOrcChief extends Quest
{
// NPCs
private static final int LUGONNES = 33852;
// Monsters
private static final int KETRAS_CHIEF_BRAKKI = 27501;
private static final int BELOS = 27513;
// Misc
private static final int MIN_LEVEL = 76;
private static final int MAX_LEVEL = 80;
public Q10528_TheAssassinationOfTheKetraOrcChief()
{
super(10528);
addStartNpc(LUGONNES);
addTalkId(LUGONNES);
addKillId(KETRAS_CHIEF_BRAKKI);
addCondRace(Race.ERTHEIA, "33852-00.html");
addCondStart(p -> p.isInCategory(CategoryType.MAGE_GROUP), "33852-00a.htm");
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33852-00a.htm");
addCondCompletedQuest(Q10527_TheAssassinationOfTheKetraOrcCommander.class.getSimpleName(), "33852-00a.htm");
}
@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 "33852-02.htm":
case "33852-03.htm":
{
htmltext = event;
break;
}
case "33852-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33852-07.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 351479151, 1839);
qs.exitQuest(QuestType.ONE_TIME, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
if (npc.getId() == LUGONNES)
{
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "33852-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33852-05.html";
}
else if (qs.isCond(2))
{
htmltext = "33852-06.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, true);
if ((qs != null) && qs.isCond(1))
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.COME_BELOS_PROTECT_ME);
final L2Npc mob = addSpawn(BELOS, npc, false, 120000);
addAttackPlayerDesire(mob, killer);
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -333,6 +333,8 @@ import quests.Q10523_TheAssassinationOfTheVarkaSilenosCommander.Q10523_TheAssass
import quests.Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief.Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief;
import quests.Q10525_QueenNavarisLetterKetraOrcOutpost.Q10525_QueenNavarisLetterKetraOrcOutpost;
import quests.Q10526_TheDarkSecretOfTheKetraOrcs.Q10526_TheDarkSecretOfTheKetraOrcs;
import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinationOfTheKetraOrcCommander;
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
@ -756,6 +758,8 @@ public class QuestMasterHandler
Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief.class,
Q10525_QueenNavarisLetterKetraOrcOutpost.class,
Q10526_TheDarkSecretOfTheKetraOrcs.class,
Q10527_TheAssassinationOfTheKetraOrcCommander.class,
Q10528_TheAssassinationOfTheKetraOrcChief.class,
Q10534_HatchlingResearch.class,
Q10541_TrainLikeTheRealThing.class,
Q10542_SearchingForNewPower.class,