Quest The Dark Secret of the Ketra Orcs (10526).
Contributed by gigilo1968.
This commit is contained in:
parent
3b3ba7946d
commit
3dc1d19278
@ -148,7 +148,6 @@
|
||||
10457 Kefensis' Illusion
|
||||
10506 Diana's Request
|
||||
10525 Queen Navari's Letter, Ketra Orc Outpost Achieve Level 76
|
||||
10526 The Dark Secret of the Ketra Orcs Reveal the dark secret
|
||||
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
|
||||
|
@ -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 a Ertheia Wizard class character with Lv. 76 or above.)
|
||||
</body></html>
|
@ -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>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
The Kamael and Ertheia have not traditionally been close, but I know very well of the skills of the Ertheia.<br>
|
||||
The Ertheia are sure to bring down <font color="LEVEL">Belos</font>, the clone of Sakum created by the <font color="LEVEL">Embryo</font>. However, before Belos is brought down, something must e done.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10526_TheDarkSecretOfTheKetraOrcs 33852-02.htm">"What do you want me to do?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
First, find the <font color="LEVEL">Embryo</font>, sympathizers among the <font color="LEVEL">Ketra Orcs</font>, and teach them a lesson.<br>
|
||||
This will make the work to follow much easier.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10526_TheDarkSecretOfTheKetraOrcs 33852-03.htm">"How can I find these sympathizers?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
If I am right, the <font color="LEVEL">Embryo Sympathizers</font> will appear when the <font color="LEVEL">Ketra Orcs</font> soldiers are in danger. Wait for this to happen taking out the Embryo Sympathizers.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10526_TheDarkSecretOfTheKetraOrcs 33852-04.htm">"Yes, I understand."</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
I will explain again.<br>
|
||||
If you kill some <font color="LEVEL">Ketra Orcs</font> here in the <font color="LEVEL">Ketra Orc Outpost</font>, <font color="LEVEL">Ketra Backup Shooters</font> and <font color="LEVEL">Ketra Backup Wizards</font> will appear.<br>
|
||||
Kill <font color="LEVEL">100</font> of each and come back to me.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
You're not yet done with the mission. I will explain again.<br>
|
||||
If you kill some <font color="LEVEL">Ketra Orcs</font> here in the <font color="LEVEL">Ketra Orc Outpost</font>, <font color="LEVEL">Ketra Backup Shooters</font> and <font color="LEVEL">Ketra Backup Wizards</font> will appear.<br>
|
||||
Kill <font color="LEVEL">100</font> of each and come back to me.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
You've certainly proved your worth! That was a devastating blow you struck. Now that the situation is desperate, they will bring out <font color="LEVEL">Belos</font>. They've been saving it as a last resort.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10526_TheDarkSecretOfTheKetraOrcs 33852-07.html">"What are you going to do now?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Giant's Minion Lugonnes:<br>
|
||||
For now, we should wait, watching their activity. We will soon be able to locate <font color="LEVEL">Belos</font> whereabouts. Get some rest.<br>
|
||||
</body></html
|
@ -0,0 +1,241 @@
|
||||
/*
|
||||
* 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.Q10526_TheDarkSecretOfTheKetraOrcs;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
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.holders.NpcLogListHolder;
|
||||
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;
|
||||
|
||||
/**
|
||||
* The Dark Secret of the Ketra Orcs (10526)
|
||||
* @URL https://l2wiki.com/The_Dark_Secret_of_the_Ketra_Orcs
|
||||
* @author Gigi
|
||||
* @date 2017-11-20 - [20:03:04]
|
||||
*/
|
||||
public class Q10526_TheDarkSecretOfTheKetraOrcs extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int LUGONNES = 33852;
|
||||
// Monsters
|
||||
private static final int KETRA_ORC_ELITE_SOLDIER = 21335;
|
||||
private static final int KETRA_ORC_CENTURION = 21336;
|
||||
private static final int KETRA_ORC_LIEUTENANT = 21332;
|
||||
private static final int KETRA_ORC_RAIDER = 21327;
|
||||
private static final int KETRA_ORC_WARRIOR = 21331;
|
||||
private static final int KETRA_ORC_SCOUT = 21328;
|
||||
private static final int KETRA_ORC_OFFICER = 21339;
|
||||
private static final int KETRA_ORC_BATTALION_COMMANDER = 21340;
|
||||
private static final int KETRA_ORC_HEAD_ROYAL_GUARD = 21346;
|
||||
|
||||
private static final int KETRAS_PROPHET = 21347;
|
||||
private static final int KETRA_ORC_GRAND_PRIEST = 21342;
|
||||
private static final int KETRAS_HEAD_SHAMAN = 21345;
|
||||
private static final int KETRA_ORC_SHAMAN = 21329;
|
||||
private static final int KETRA_ORC_MEDIUM = 21334;
|
||||
|
||||
private static final int KETRA_BACKUP_SHOOTER = 27511;
|
||||
private static final int KETRA_BACKUP_WIZARD = 27512;
|
||||
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 76;
|
||||
private static final int MAX_LEVEL = 80;
|
||||
|
||||
public Q10526_TheDarkSecretOfTheKetraOrcs()
|
||||
{
|
||||
super(10526);
|
||||
addStartNpc(LUGONNES);
|
||||
addTalkId(LUGONNES);
|
||||
addKillId(KETRA_ORC_HEAD_ROYAL_GUARD, KETRA_ORC_WARRIOR, KETRA_ORC_MEDIUM, KETRA_BACKUP_SHOOTER, KETRA_ORC_SHAMAN, KETRAS_HEAD_SHAMAN, KETRA_BACKUP_WIZARD, KETRA_ORC_ELITE_SOLDIER, KETRA_ORC_CENTURION, KETRA_ORC_LIEUTENANT, KETRA_ORC_RAIDER, KETRAS_PROPHET, KETRA_ORC_SCOUT, KETRA_ORC_OFFICER, KETRA_ORC_BATTALION_COMMANDER, KETRA_ORC_GRAND_PRIEST);
|
||||
addCondRace(Race.ERTHEIA, "33852-00a.html");
|
||||
addCondStart(p -> p.isInCategory(CategoryType.MAGE_GROUP), "33852-00.htm");
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33852-00.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, 492760460, 5519);
|
||||
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))
|
||||
{
|
||||
int killedShooter = qs.getInt("killed_" + KETRA_BACKUP_SHOOTER);
|
||||
int killedWizard = qs.getInt("killed_" + KETRA_BACKUP_WIZARD);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case KETRA_ORC_ELITE_SOLDIER:
|
||||
case KETRA_ORC_CENTURION:
|
||||
case KETRA_ORC_LIEUTENANT:
|
||||
case KETRA_ORC_RAIDER:
|
||||
case KETRA_ORC_SCOUT:
|
||||
case KETRA_ORC_OFFICER:
|
||||
case KETRA_ORC_BATTALION_COMMANDER:
|
||||
case KETRA_ORC_HEAD_ROYAL_GUARD:
|
||||
case KETRA_ORC_WARRIOR:
|
||||
{
|
||||
final L2Npc mob = addSpawn(KETRA_BACKUP_SHOOTER, npc, false, 60000);
|
||||
mob.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.YOU_DARE_INTERFERE_WITH_EMBRYO_SURELY_YOU_WISH_FOR_DEATH);
|
||||
addAttackPlayerDesire(mob, killer);
|
||||
break;
|
||||
}
|
||||
|
||||
case KETRAS_PROPHET:
|
||||
case KETRA_ORC_GRAND_PRIEST:
|
||||
case KETRA_ORC_SHAMAN:
|
||||
case KETRAS_HEAD_SHAMAN:
|
||||
case KETRA_ORC_MEDIUM:
|
||||
{
|
||||
final L2Npc mob = addSpawn(KETRA_BACKUP_WIZARD, npc, false, 60000);
|
||||
mob.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.YOU_DARE_INTERFERE_WITH_EMBRYO_SURELY_YOU_WISH_FOR_DEATH);
|
||||
addAttackPlayerDesire(mob, killer);
|
||||
break;
|
||||
}
|
||||
|
||||
case KETRA_BACKUP_SHOOTER:
|
||||
{
|
||||
if (killedShooter < 100)
|
||||
{
|
||||
qs.set("killed_" + KETRA_BACKUP_SHOOTER, ++killedShooter);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KETRA_BACKUP_WIZARD:
|
||||
{
|
||||
if (killedWizard < 100)
|
||||
{
|
||||
qs.set("killed_" + KETRA_BACKUP_WIZARD, ++killedWizard);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ((killedShooter >= 100) && (killedWizard >= 100))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
sendNpcLogList(killer);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>(2);
|
||||
holder.add(new NpcLogListHolder(KETRA_BACKUP_SHOOTER, false, qs.getInt("killed_" + KETRA_BACKUP_SHOOTER)));
|
||||
holder.add(new NpcLogListHolder(KETRA_BACKUP_WIZARD, false, qs.getInt("killed_" + KETRA_BACKUP_WIZARD)));
|
||||
return holder;
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
@ -331,6 +331,7 @@ import quests.Q10521_QueenNavarisLetterVarkaSilenosBarracks.Q10521_QueenNavarisL
|
||||
import quests.Q10522_TheDarkSecretOfVarkaSilenos.Q10522_TheDarkSecretOfVarkaSilenos;
|
||||
import quests.Q10523_TheAssassinationOfTheVarkaSilenosCommander.Q10523_TheAssassinationOfTheVarkaSilenosCommander;
|
||||
import quests.Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief.Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief;
|
||||
import quests.Q10526_TheDarkSecretOfTheKetraOrcs.Q10526_TheDarkSecretOfTheKetraOrcs;
|
||||
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
|
||||
import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
|
||||
import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
|
||||
@ -752,6 +753,7 @@ public class QuestMasterHandler
|
||||
Q10522_TheDarkSecretOfVarkaSilenos.class,
|
||||
Q10523_TheAssassinationOfTheVarkaSilenosCommander.class,
|
||||
Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief.class,
|
||||
Q10526_TheDarkSecretOfTheKetraOrcs.class,
|
||||
Q10534_HatchlingResearch.class,
|
||||
Q10541_TrainLikeTheRealThing.class,
|
||||
Q10542_SearchingForNewPower.class,
|
||||
|
Loading…
Reference in New Issue
Block a user