Addition of quests 10521 to 10524.
Contributed by gigilo1968.
This commit is contained in:
parent
b9bda5150b
commit
957e9482e8
@ -147,10 +147,6 @@
|
||||
10456 Operation: Rescue
|
||||
10457 Kefensis' Illusion
|
||||
10506 Diana's Request
|
||||
10521 Queen Navari's Letter: Varka Silenos Barracks Achieve Level 76
|
||||
10522 The Dark Secret of Varka Silenos Reveal the dark secret
|
||||
10523 The Assassination of the Varka Silenos Commander Defeat Varka's Commander Mos
|
||||
10524 The Assassination of the Varka Silenos Commander Chief Defeat Varka's Chief Horus
|
||||
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
|
||||
|
@ -0,0 +1,4 @@
|
||||
<html><body>High Priest Gregory:<br>
|
||||
Haha. Queen Navari has already contacted me, and I have waiting for you. Have you heard what is happening?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10521_QueenNavarisLetterVarkaSilenosBarracks 31279-02.htm">"Not Exactly."</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>High Priest Gregory:<br>
|
||||
Hahaha. That's what I thought<br>
|
||||
The Ertheia are quite impatient, and tend to rush over without asking too many questions when they're asked for help.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10521_QueenNavarisLetterVarkaSilenosBarracks 31279-03.htm">"How can I help you?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>High Priest Gregory:<br>
|
||||
I thought that the Ertheia had nothing to do with this, but the Varka Silenos seem to be up to no good nowadays we have our eyes on them.<br>
|
||||
We have been suspecting collision between the Embryo and the Varka Silenos for a long time now. Since the Ertheia also have something to do with the Embryo, you have been called on to provide help.<br>
|
||||
For details, find the <font color="LEVEL">Giant's Minion Hansen</font> in the <font color="LEVEL">Varka Silenos Barracks</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>High Priest Gregory:<br>
|
||||
In the Town of Goddard has told you to go to the Giant's Minion Hansen in the Varka Silenos Barracks.<br>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
You are...Ertheya.What brings you here?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10521_QueenNavarisLetterVarkaSilenosBarracks 33853-02.htm">"I have come because of the Delegation's Pledge."</Button>
|
||||
</body></html>
|
@ -0,0 +1,6 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
I was worried that I hadn't received a reply to my request for backup. I was starting to think that it was difficult for the Ertheia to make it all the way out here.<br>
|
||||
I wonder if you have heard about the ancient monster <font color="LEVEL">Sakum</font>. We have gained intelligence that the ancient monster, who should have vanished years ago, was actually cloned by the <font color="LEVEL">Embryo</font> and is currently in the <font color="LEVEL">Varka Silenos Barracks</font>.<br>
|
||||
It appears that the Embryo have colluded with the Varka Silenos. That means that we need to stop it right away. There is a lot work for us to do. Please come to me when you are done preparing.<br>
|
||||
(You can obtain the next Queen Navari's Letter at Lv. 81.)<br>
|
||||
</body></html>
|
@ -0,0 +1,136 @@
|
||||
/*
|
||||
* 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.Q10521_QueenNavarisLetterVarkaSilenosBarracks;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.QuestType;
|
||||
import com.l2jmobius.gameserver.model.Location;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.base.ClassId;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
|
||||
import quests.LetterQuest;
|
||||
|
||||
/**
|
||||
* Queen Navari's Letter: Varka Silenos Barracks (10521)
|
||||
* @URL https://l2wiki.com/Queen_Navari%27s_Letter:_Varka_Silenos_Barracks
|
||||
* @author Gigi
|
||||
* @date 2017-11-14 - [22:13:27]
|
||||
*/
|
||||
public class Q10521_QueenNavarisLetterVarkaSilenosBarracks extends LetterQuest
|
||||
{
|
||||
// NPCs
|
||||
private static final int GREGORY = 31279;
|
||||
private static final int HANSEN = 33853;
|
||||
// Items
|
||||
private static final int VARKA_SILENOS_BARRAKS = 46730;
|
||||
private static final int SOE_TOWN_OF_GODDARD = 46731;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 76;
|
||||
private static final int MAX_LEVEL = 80;
|
||||
// Teleport
|
||||
private static final Location TELEPORT_LOC = new Location(147711, -52920, -2728);
|
||||
|
||||
public Q10521_QueenNavarisLetterVarkaSilenosBarracks()
|
||||
{
|
||||
super(10521);
|
||||
addTalkId(GREGORY, HANSEN);
|
||||
setIsErtheiaQuest(true);
|
||||
setLevel(MIN_LEVEL, MAX_LEVEL);
|
||||
setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC);
|
||||
setStartQuestSound("Npcdialog1.serenia_quest_13");
|
||||
registerQuestItems(SOE_TOWN_OF_GODDARD, VARKA_SILENOS_BARRAKS);
|
||||
}
|
||||
|
||||
@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 "31279-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "31279-03.htm":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
giveItems(player, VARKA_SILENOS_BARRAKS, 1);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "33853-02.htm":
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
addExpAndSp(player, 1277640, 306);
|
||||
// TODO: giveStoryQuestReward(npc, player);
|
||||
showOnScreenMsg(player, NpcStringId.YOU_HAVE_FINISHED_ALL_OF_QUEEN_NAVARI_S_LETTERS_GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_LETTERS_FROM_A_MINSTREL_AT_LV_85, ExShowScreenMessage.TOP_CENTER, 8000);
|
||||
qs.exitQuest(QuestType.ONE_TIME, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isStarted())
|
||||
{
|
||||
if (npc.getId() == GREGORY)
|
||||
{
|
||||
htmltext = (qs.isCond(2)) ? "31279-01.htm" : "31279-04.htm";
|
||||
}
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "33853-01.html";
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canShowTutorialMark(L2PcInstance player)
|
||||
{
|
||||
return player.getClassId() == ClassId.RIPPER;
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
<html><body>The Queen's Letter:<br>
|
||||
I got an emergency request from the Town of Goddard. Near the Town of Goddard at Varka Sillenos Barracks.<br>
|
||||
It's different from the one we came in, but it's worth looking into. Go see <font color="LEVEL">High Priest Gregory</font>.<br>
|
||||
(A <font color="LEVEL">Scroll of Escape</font> is enclosed. If you want to go now, use it to travel immediately.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h %teleport%">"Here I go!"</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h tutorial_close">Close</button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>
|
||||
Your character's level exceeds the level limit for this quest.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
I am sorry, but I can't trust you.<br>
|
||||
(This quest is for Ertheia with Lv. 76 or above.)
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
We lost touch with Spirit Realm a long time ago, and there are many of us who do not know about the Ertheia. However, I am a Kamael who knows of the stories of old times. I have not forgotten the reputation and powerful impression of the Ertheia.<br>
|
||||
The Ertheia will be able to resolve the problems that with the Ertheia and the ancient monster Sakum.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10522_TheDarkSecretOfVarkaSilenos 33853-02.htm">"What is the problem?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
I trust that you already know about the Embryo. We have received information that the Embryo, who are behind all of these problems, have joined hands with the <font color="LEVEL">Varka Silenos</font>.<br>
|
||||
We have also discovered that they have handed over <font color="LEVEL">Kampf</font> as a token of cooperation. For now, in order to verify this intelligence, we will need to hide among the <font color="LEVEL">Varka Silenos</font> and help the dark <font color="LEVEL">Embryo</font> sympathizers who are helping them.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10522_TheDarkSecretOfVarkaSilenos 33853-03.htm">"Go on."</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
If I am right, the helpers <font color="LEVEL">Embryo</font> Sends will appear when <font color="LEVEL">Varka Silenos</font> soldiers are in danger.<br>
|
||||
When the Embryo sympathizers appear, defeat them.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10522_TheDarkSecretOfVarkaSilenos 33853-04.htm">"I will."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Slay the <font color="LEVEL">Varka Silenoses</font> here in the <font color="LEVEL">Varka Silenos Barracks</font> and lure out the Embryo sympathizers.<br>
|
||||
The Embryo sympathizers, I expect, will be <font color="LEVEL">Varka Backup Shooters</font> or <font color="LEVEL">Varka Backup Wizards</font> When the appear, take out <font color="LEVEL">100</font> of each, and then return to me.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Who is under cover in the Varka Silenos Barracks has asked you to find and defeat the Embryo Support Troops hiding in the Varka Silenos Barracks. He says that once the monsters at the Varka Silenos Barracks have been defeated, the Varka Backup Shooters and Varka Backup Wizards will appear.<br>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Good work. They must be very confused. Now that the situation has fallen into chaos, they will bring out <font color="LEVEL">Kampf</font>. They've been saving him as their last defense against us.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10522_TheDarkSecretOfVarkaSilenos 33853-07.html">"What should we do now?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
For now, let's wait a bit and watch their movements. We will soon be able to figure out <font color="LEVEL">Kampf</font>'s whereabouts. Until then, get some rest.<br>
|
||||
</body></html>
|
@ -0,0 +1,231 @@
|
||||
/*
|
||||
* 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.Q10522_TheDarkSecretOfVarkaSilenos;
|
||||
|
||||
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 Varka Silenos (10522)
|
||||
* @URL https://l2wiki.com/The_Dark_Secret_of_Varka_Silenos
|
||||
* @author Gigi
|
||||
* @date 2017-11-17 - [19:27:54]
|
||||
*/
|
||||
public class Q10522_TheDarkSecretOfVarkaSilenos extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int HANSEN = 33853;
|
||||
// Monsters
|
||||
private static final int VARKA_SILENOS_RECRUIT = 21350;
|
||||
private static final int VARKA_SILENOS_FOOTMAN = 21351;
|
||||
private static final int VARKA_SILENOS_SCOUT = 21353;
|
||||
private static final int VARKA_SILENOS_HUNTER = 21354;
|
||||
private static final int VARKA_SILENOS_COMANDER = 21369;
|
||||
private static final int VARKAS_ELITE_ESCORT = 21370;
|
||||
private static final int VARKA_SILENOS_WARRIOR = 21358;
|
||||
|
||||
private static final int VARKA_SILENOS_SHAMAN = 21357;
|
||||
private static final int VARKA_SILENOS_PRIEST = 21355;
|
||||
|
||||
private static final int VARKA_BACKUP_SHOOTER = 27514;
|
||||
private static final int VARKA_BACKUP_WIZARD = 27515;
|
||||
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 76;
|
||||
private static final int MAX_LEVEL = 80;
|
||||
|
||||
public Q10522_TheDarkSecretOfVarkaSilenos()
|
||||
{
|
||||
super(10522);
|
||||
addStartNpc(HANSEN);
|
||||
addTalkId(HANSEN);
|
||||
addKillId(VARKA_BACKUP_SHOOTER, VARKA_BACKUP_WIZARD, VARKA_SILENOS_RECRUIT, VARKA_SILENOS_FOOTMAN, VARKA_SILENOS_SCOUT, VARKA_SILENOS_HUNTER, VARKA_SILENOS_SHAMAN, VARKA_SILENOS_COMANDER, VARKAS_ELITE_ESCORT, VARKA_SILENOS_WARRIOR, VARKA_SILENOS_PRIEST);
|
||||
addCondRace(Race.ERTHEIA, "33853-00a.html");
|
||||
addCondStart(p -> p.isInCategory(CategoryType.FIGHTER_GROUP), "33853-00a.html");
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33853-00.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 "33853-02.htm":
|
||||
case "33853-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33853-04.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33853-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() == HANSEN)
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "33853-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33853-05.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "33853-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_" + VARKA_BACKUP_SHOOTER);
|
||||
int killedWizard = qs.getInt("killed_" + VARKA_BACKUP_WIZARD);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case VARKA_SILENOS_RECRUIT:
|
||||
case VARKA_SILENOS_FOOTMAN:
|
||||
case VARKA_SILENOS_SCOUT:
|
||||
case VARKA_SILENOS_HUNTER:
|
||||
case VARKA_SILENOS_COMANDER:
|
||||
case VARKAS_ELITE_ESCORT:
|
||||
case VARKA_SILENOS_WARRIOR:
|
||||
{
|
||||
final L2Npc mob = addSpawn(VARKA_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 VARKA_SILENOS_SHAMAN:
|
||||
case VARKA_SILENOS_PRIEST:
|
||||
{
|
||||
final L2Npc mob = addSpawn(VARKA_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 VARKA_BACKUP_SHOOTER:
|
||||
{
|
||||
if (killedShooter < 100)
|
||||
{
|
||||
qs.set("killed_" + VARKA_BACKUP_SHOOTER, ++killedShooter);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case VARKA_BACKUP_WIZARD:
|
||||
{
|
||||
if (killedWizard < 100)
|
||||
{
|
||||
qs.set("killed_" + VARKA_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(VARKA_BACKUP_SHOOTER, false, qs.getInt("killed_" + VARKA_BACKUP_SHOOTER)));
|
||||
holder.add(new NpcLogListHolder(VARKA_BACKUP_WIZARD, false, qs.getInt("killed_" + VARKA_BACKUP_WIZARD)));
|
||||
return holder;
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
I don't think it's time.<br>
|
||||
(Only Ertheia characters with Lv. 76 or above who have completed the quest "The Dark Secret of the Varka Silenos".)
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
I don't think it's time.<br>
|
||||
(This quest is for Ertheia Warriors with Lv. 76 or above.)
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
How are they keeping this so secret?.<br>
|
||||
<font color="LEVEL">Kampf</font> is nowhere to be found. We need to flush them out.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10523_TheAssassinationOfTheVarkaSilenosCommander 33853-02.htm">"What should I do?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
We intend to <font color="LEVEL">take out their commander</font>.<br>
|
||||
We have to assassinate their commander. When someone in such a high position is gone, they will have to bring out <font color="LEVEL">Kampf</font>. When that happens, kill <font color="LEVEL">Kampf</font> as well. Of course.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10523_TheAssassinationOfTheVarkaSilenosCommander 33853-03.htm">"Go on."</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Of course, we don't expect it to be an easy task, to take out the <font color="LEVEL">Varka Silenos Commander</font>.<br>
|
||||
Also, <font color="LEVEL">Kampf</font> still might not show up, if they're being careful. But it's the best plan we've got!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10523_TheAssassinationOfTheVarkaSilenosCommander 33853-04.htm">"Alright."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Find <font color="LEVEL">Varka's Silenos Commander Mos</font> in the <font color="LEVEL">Varka Silenos Barracks</font>, and defeat him.<br>
|
||||
Even if Kampf does not show himself, do not be disappointed. Please return to me and report on the situation.<br>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
You haven't finished the mission yet. Let me explain again.<br>
|
||||
Find <font color="LEVEL">Varka's Silenos Commander Mos</font> in the <font color="LEVEL">Varka Silenos Barracks</font>, and defeat him.<br>
|
||||
Even if Kampf does not show himself, do not be disappointed. Please return to me and report on the situation.<br>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Hmm.. You have taken out <font color="LEVEL">Varka's Silenos Commander Mos</font>, but <font color="LEVEL">Kampf</font> did not show himself. Anyways, it's a good thing that you have taken out <font color="LEVEL">Varka's Silenos Commander Mos</font>.<br>
|
||||
With in now being out in the open that the <font color="LEVEL">Embryo</font> and the <font color="LEVEL">Varka Silenos</font> has conspired together, leaving one such as him alive cannot be good for us.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10523_TheAssassinationOfTheVarkaSilenosCommander 33853-07.html">"Go on."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Anyways you've worked hard for the mission. Here you should take some rest. I'll try to come up with a way to find <font color="LEVEL">Kampf</font>.<br>
|
||||
</body></html>
|
@ -0,0 +1,147 @@
|
||||
/*
|
||||
* 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.Q10523_TheAssassinationOfTheVarkaSilenosCommander;
|
||||
|
||||
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.Q10522_TheDarkSecretOfVarkaSilenos.Q10522_TheDarkSecretOfVarkaSilenos;
|
||||
|
||||
/**
|
||||
* The Assassination of the Varka Silenos Commander Mos (10523)
|
||||
* @author Gigi
|
||||
* @date 2017-11-18 - [12:27:08]
|
||||
*/
|
||||
public class Q10523_TheAssassinationOfTheVarkaSilenosCommander extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int HANSEN = 33853;
|
||||
// Monsters
|
||||
private static final int VARKAS_COMMANDER_MOS = 27502;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 76;
|
||||
private static final int MAX_LEVEL = 80;
|
||||
|
||||
public Q10523_TheAssassinationOfTheVarkaSilenosCommander()
|
||||
{
|
||||
super(10523);
|
||||
addStartNpc(HANSEN);
|
||||
addTalkId(HANSEN);
|
||||
addKillId(VARKAS_COMMANDER_MOS);
|
||||
addCondRace(Race.ERTHEIA, "33853-00.html");
|
||||
addCondStart(p -> p.isInCategory(CategoryType.FIGHTER_GROUP), "33853-00a.htm");
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33853-00.html");
|
||||
addCondCompletedQuest(Q10522_TheDarkSecretOfVarkaSilenos.class.getSimpleName(), "33853-00.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 "33853-02.htm":
|
||||
case "33853-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33853-04.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33853-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() == HANSEN)
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "33853-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33853-05.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "33853-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);
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
I don't think it's time.<br>
|
||||
(Only Ertheia characters with Lv. 76 or above who have completed the quest "The Assassination of the Varka Silenos Commander".)
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
I don't think it's time.<br>
|
||||
(This quest may only be undertaken by an Ertheia Warrior class character with level 76 or above who has completed the quest "Assassination of the Varka Silenos Commander".)
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
The situation is not favorable to us. Since you assassinated their commander, security's been tight around here. But we won't give up!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief 33853-02.htm">"What should I do?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
It's a dangerous, but there is a way, nonetheless.<br>
|
||||
We have to <font color="LEVEL">assassinate their chief</font>. If they lose their chief on top of their commander, they will fail into chaos. So, I bet <font color="LEVEL">Kampf</font> will show up this time.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief 33853-03.htm">"Go on."</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Of course, talking out the <font color="LEVEL">Varka Silenos chief</font> won't be an easy thing do to. If the chief is taken out, Kampf is sure to reveal himself,
|
||||
making this whole thing even more dangerous. But I have a good feeling about you. Will you take the mission?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief 33853-04.htm">"I'll take care of everything."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Be careful<br>
|
||||
Find <font color="LEVEL">Varka's Silenos Chief Horus</font> in the <font color="LEVEL">Varka Silenos Barracks</font>, and defeat him. It won't be easy, but you'll be able to do it. When you're done, return to me, and report the situation.<br>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
You haven't finished the mission yet.<br>
|
||||
Find <font color="LEVEL">Varka's Silenos Chief Horus</font> in the <font color="LEVEL">Varka Silenos Barracks</font>, and defeat him. It won't be easy, but you'll be able to do it. When you're done, return to me, and report the situation.<br>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Hahahaha! I knew it! When you killed <font color="LEVEL">Varka's Chief Horus</font>, of course <font color="LEVEL">Kampf</font> showed up. See, what did I tell you? Well done! I will report to my superiors right away.<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 Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief 33853-07.html">"No problem."</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Hansen:<br>
|
||||
Thank you for your hard work. Our greatest headache <font color="LEVEL">Kampf</font> is gone, and we have even taken out the <font color="LEVEL">Varka Silenos Chief</font> who had colluded with the <font color="LEVEL">Embryo</font>!<br>
|
||||
I'll be sure to let <font color="LEVEL">Kekropus</font> know of your role in these dealings. You will always be honored among us, the Giant's Minions. Thank you.<br>
|
||||
</body></html>
|
@ -0,0 +1,153 @@
|
||||
/*
|
||||
* 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.Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief;
|
||||
|
||||
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.Q10523_TheAssassinationOfTheVarkaSilenosCommander.Q10523_TheAssassinationOfTheVarkaSilenosCommander;
|
||||
|
||||
/**
|
||||
* The Assassination of the Varka Silenos Commander Chief (10524)
|
||||
* @author Gigi
|
||||
* @date 2017-11-18 - [14:37:41]
|
||||
*/
|
||||
public class Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int HANSEN = 33853;
|
||||
// Monsters
|
||||
private static final int VARKAS_CHIEF_HORUS = 27503;
|
||||
private static final int KAMPF = 27516;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 76;
|
||||
private static final int MAX_LEVEL = 80;
|
||||
|
||||
public Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief()
|
||||
{
|
||||
super(10524);
|
||||
addStartNpc(HANSEN);
|
||||
addTalkId(HANSEN);
|
||||
addKillId(VARKAS_CHIEF_HORUS);
|
||||
addCondRace(Race.ERTHEIA, "33853-00.html");
|
||||
addCondStart(p -> p.isInCategory(CategoryType.FIGHTER_GROUP), "33853-00a.htm");
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33853-00.html");
|
||||
addCondCompletedQuest(Q10523_TheAssassinationOfTheVarkaSilenosCommander.class.getSimpleName(), "33853-00.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 "33853-02.htm":
|
||||
case "33853-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33853-04.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33853-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() == HANSEN)
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "33853-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33853-05.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "33853-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_KAMPF_PROTECT_ME);
|
||||
final L2Npc mob = addSpawn(KAMPF, npc, false, 120000);
|
||||
addAttackPlayerDesire(mob, killer);
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@ -327,6 +327,10 @@ import quests.Q10502_FreyaEmbroideredSoulCloak.Q10502_FreyaEmbroideredSoulCloak;
|
||||
import quests.Q10503_FrintezzaEmbroideredSoulCloak.Q10503_FrintezzaEmbroideredSoulCloak;
|
||||
import quests.Q10504_JewelOfAntharas.Q10504_JewelOfAntharas;
|
||||
import quests.Q10505_JewelOfValakas.Q10505_JewelOfValakas;
|
||||
import quests.Q10521_QueenNavarisLetterVarkaSilenosBarracks.Q10521_QueenNavarisLetterVarkaSilenosBarracks;
|
||||
import quests.Q10522_TheDarkSecretOfVarkaSilenos.Q10522_TheDarkSecretOfVarkaSilenos;
|
||||
import quests.Q10523_TheAssassinationOfTheVarkaSilenosCommander.Q10523_TheAssassinationOfTheVarkaSilenosCommander;
|
||||
import quests.Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief.Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief;
|
||||
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
|
||||
import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
|
||||
import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
|
||||
@ -744,6 +748,10 @@ public class QuestMasterHandler
|
||||
Q10503_FrintezzaEmbroideredSoulCloak.class,
|
||||
Q10504_JewelOfAntharas.class,
|
||||
Q10505_JewelOfValakas.class,
|
||||
Q10521_QueenNavarisLetterVarkaSilenosBarracks.class,
|
||||
Q10522_TheDarkSecretOfVarkaSilenos.class,
|
||||
Q10523_TheAssassinationOfTheVarkaSilenosCommander.class,
|
||||
Q10524_TheAssassinationOfTheVarkaSilenosCommanderChief.class,
|
||||
Q10534_HatchlingResearch.class,
|
||||
Q10541_TrainLikeTheRealThing.class,
|
||||
Q10542_SearchingForNewPower.class,
|
||||
|
Loading…
Reference in New Issue
Block a user