Addition of Fortress of the Dead instance.

Contributed by Dmitri.
This commit is contained in:
MobiusDevelopment 2019-11-17 14:22:58 +00:00
parent 223e306184
commit d12beaec22
29 changed files with 298 additions and 180 deletions

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Fortress of the Dead-->
<instance id="254" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
<time empty="5" />
<locations>
<enter type="FIXED">
<location x="57976" y="-28943" z="568" />
</enter>
<exit type="FIXED">
<location x="-14180" y="123840" z="-3120" />
</exit>
</locations>
<conditions>
<condition type="Level">
<param name="min" value="76" />
</condition>
</conditions>
<spawnlist>
<group name="vampires">
<npc id="19567" x="57872" y="-28624" z="568" heading="61416" /> <!-- Vampiric Soldier -->
<npc id="19567" x="58064" y="-28720" z="568" heading="44856" /> <!-- Vampiric Soldier -->
<npc id="19567" x="57888" y="-28736" z="568" heading="57576" /> <!-- Vampiric Soldier -->
<npc id="19567" x="58016" y="-28624" z="568" heading="45860" /> <!-- Vampiric Soldier -->
</group>
</spawnlist>
</instance>

View File

@ -0,0 +1,4 @@
<html><body>Kain Van Halter:<br>
You're Ertheia. Child of the wind. Why would you try to kill Giselle all the way out here?<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest FortressOfTheDead 33979-02.html">"I didn't know that it was Giselle. She attacked first!"</button>
</body></html>

View File

@ -1,5 +1,5 @@
<html><body>Kain Van Halter:<br>
That's not a good reason. The fact that you came all the way here alone is suspicious.<br>
You were after Giselle's life in the first place!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-14.html">Tell him about High Priest Raymond</Button>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest FortressOfTheDead 33979-03.html">"I have Queen Navari's Mark."</button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Kain Van Halter:<br>
The Queen of Ertheia sent you?<br>
All right, then. Since Giselle became very aggressive after becoming a vampire, I will take your word on your dispute.<br>
But what brings you all the way here? Why were you looking for Giselle? I can't imagine Ertheia having business with her.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest FortressOfTheDead 33979-04.html">"I was looking for you."</button>
</body></html>

View File

@ -1,5 +1,5 @@
<html><body>Kain Van Halter:<br>
Me?<br>
What do you want with a wanderer like me? And I don't see why I should even help you. You tried to harm my sister! Good thing I stopped by to check on her.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-05.html">It's about the Prophecy Machine.</Button>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest FortressOfTheDead 33979-05.html">"It's about the Prophecy Machine."</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Kain Van Halter:<br>
Prophecy Machine?<br>
What about the Prophecy Machine?<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest FortressOfTheDead 33979-06.html">"Here, take a look."</button>
</body></html>

View File

@ -0,0 +1,9 @@
<html><body>Kain Van Halter:<br>
<center><font color="LEVEL">A red river flows...hard frost upon the earth...<br1>
One of half-noble blood,<br1>
descending with the winds to deliver from...<br1>
When joined by one...<br1>
The path will open to the Grail.</font></center><br1>
So why are you showing me this?<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest FortressOfTheDead 33979-07.html">"I know that you're interested in the Grail."</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Kain Van Halter:<br>
I see. Did Karla tell you? So she still remembers me mentioning the Grail that day.<br>
Check this out first.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest FortressOfTheDead 33979-08.html">"This?"</button>
</body></html>

View File

@ -2,5 +2,5 @@
Surprised? I found it while passing Goddard Territory.<br>
This looks similar to the Prophecy Machine that you showed me. It's probably a part of the whole.<br>
And about what's written on your machine... I think I know what it's saying.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-09.html">Do tell.</Button>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest FortressOfTheDead 33979-09.html">"Do tell."</button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Kain Van Halter:<br>
<font color="LEVEL">A red river flows...Hm. I think I can see where this is going.</font><br>
It's talking about this continent. A red river flows...hard frost upon the earth. You see, <font color="LEVEL">Elmore</font> rules over a cold part of the land, which it once shared with Aden as Elmoreden. Now the whole continent is swarming with Shilen's bloody works.<br>
But this part is surprising. When joined by one...the path will open to the Grail. Truly?<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest FortressOfTheDead 33979-10.html">"Who is this one?"</button>
</body></html>

View File

@ -1,7 +1,8 @@
<html><body>Kain Van Halter:<br>
<font color="LEVEL">One of half-noble blood...</font><br>
Ha! Even the prophecy of Ertheia describes me so, huh? Well, it's right. My mother was a commoner. A tragic farce, to be loved by the king! So here I am, a prince only in name. And descending with the winds to deliver from...yes, that is me. I happened to save <font color="LEVEL">Faeron</font> once. <font color="LEVEL">Kain</font> is your man!<br>
Ha! Even the prophecy of Ertheia describes me so, huh? Well, it's right. My mother was a commoner. A tragic farce, to be loved by the king! So here I am, a prince only in name. And descending with the winds to deliver from...yes, that is me. I happened to save Faeron once. <font color="LEVEL">Kain</font> is your man!<br>
The <font color="LEVEL">Grail</font>...if it's the same <font color="LEVEL">Grail</font>, then...anyway, you can read the rest of the prophecy with the fragment that I found, right?<br>
Take it. Your village needs it more than I.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-11.html">Receive the fragment.</Button>
Hmm? Wait...<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest FortressOfTheDead spawnWizard">"What?"</button>
</body></html>

View File

@ -0,0 +1,2 @@
<html><body>Kain Van Halter:<br>
Who is that person standing there?</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Kain Van Halter:<br>
You trespass on the land of death. Who are you?<br1>
No matter. You threatened Giselle with harm, and you will answer to me!<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h Quest FortressOfTheDead 33979-01.html">Quest</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Mysterious Wizard:<br>
It seems nothing happened.<br>
Did you find the person you were looking for?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FortressOfTheDead endCinematic">How did you come here?</Button>
</body></html>

View File

@ -0,0 +1,191 @@
/*
* 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 instances.FortressOfTheDead;
import org.l2jmobius.gameserver.enums.Movie;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.instancezone.Instance;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
import instances.AbstractInstance;
import quests.Q11026_PathOfDestinyConviction.Q11026_PathOfDestinyConviction;
/**
* Fortress of the Dead instance zone.
* @author Gladicek
*/
public class FortressOfTheDead extends AbstractInstance
{
// NPCs
private static final int VAMPIRIC_SOLDIER = 19567;
private static final int VON_HELLMAN = 19566;
private static final int MYSTERIOUS_WIZARD = 33980;
private static final int KAIN_VAN_HALTER = 33979;
// Items
private static final int KAIN_PROPHECY_MACHINE_FRAGMENT = 39538;
// Location
private static final Location VON_HELLMAN_LOC = new Location(57963, -28676, 568, 49980);
private static final Location MYSTERIOUS_WIZARD_LOC = new Location(57982, -28645, 568);
private static final Location KAIN_VAN_HALTER_LOC = new Location(57963, -28676, 568, 49980);
// Misc
private static final int TEMPLATE_ID = 254;
public FortressOfTheDead()
{
super(TEMPLATE_ID);
addStartNpc(KAIN_VAN_HALTER);
addFirstTalkId(KAIN_VAN_HALTER, MYSTERIOUS_WIZARD);
addTalkId(KAIN_VAN_HALTER, MYSTERIOUS_WIZARD);
addKillId(VAMPIRIC_SOLDIER, VON_HELLMAN);
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
if (event.equals("enterInstance"))
{
enterInstance(player, npc, TEMPLATE_ID);
}
else
{
final Instance world = npc.getInstanceWorld();
if (isInInstance(world))
{
switch (event)
{
case "33979-01.html":
case "33979-02.html":
case "33979-03.html":
case "33979-04.html":
case "33979-05.html":
case "33979-06.html":
case "33979-07.html":
case "33979-08.html":
case "33979-09.html":
case "33979-10.html":
{
htmltext = event;
break;
}
case "exitInstance":
{
world.finishInstance(0);
break;
}
case "vampire_dead":
{
addSpawn(VON_HELLMAN, VON_HELLMAN_LOC, false, 0, false, world.getId());
break;
}
case "hellman_dead":
{
addSpawn(KAIN_VAN_HALTER, KAIN_VAN_HALTER_LOC, false, 0, false, world.getId());
break;
}
case "spawnWizard":
{
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_MYSTERIOUS_WIZARD, ExShowScreenMessage.TOP_CENTER, 5000);
final Npc wizzard = addSpawn(MYSTERIOUS_WIZARD, MYSTERIOUS_WIZARD_LOC, true, 0, false, world.getId());
wizzard.setSummoner(player);
wizzard.setTitle(player.getAppearance().getVisibleName());
wizzard.broadcastInfo();
htmltext = "33979-11.html";
break;
}
case "endCinematic":
{
final QuestState qs = player.getQuestState(Q11026_PathOfDestinyConviction.class.getSimpleName());
if ((qs != null) && qs.isCond(3))
{
qs.setCond(4, true);
giveItems(player, KAIN_PROPHECY_MACHINE_FRAGMENT, 1);
}
world.getNpc(KAIN_VAN_HALTER).deleteMe();
world.getNpc(MYSTERIOUS_WIZARD).deleteMe();
playMovie(player, Movie.ERT_QUEST_B);
startQuestTimer("exitInstance", 25000, npc, player);
break;
}
}
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{
final Instance world = npc.getInstanceWorld();
if (isInInstance(world))
{
if (npc.getId() == VAMPIRIC_SOLDIER)
{
if (world.getAliveNpcs(VAMPIRIC_SOLDIER).isEmpty())
{
startQuestTimer("vampire_dead", 3000, npc, player);
}
}
else if (npc.getId() == VON_HELLMAN)
{
npc.deleteMe();
playMovie(player, Movie.ERT_QUEST_A);
startQuestTimer("hellman_dead", 6000, npc, player);
}
}
return super.onKill(npc, player, isSummon);
}
@Override
public String onFirstTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = player.getQuestState(Q11026_PathOfDestinyConviction.class.getSimpleName());
String htmltext = null;
switch (npc.getId())
{
case KAIN_VAN_HALTER:
{
if ((qs != null) && qs.isCond(3))
{
htmltext = "33979.html";
}
break;
}
case MYSTERIOUS_WIZARD:
{
if ((qs != null) && qs.isCond(3))
{
htmltext = "33980.html";
}
break;
}
}
return htmltext;
}
public static void main(String[] args)
{
new FortressOfTheDead();
}
}

View File

@ -3,5 +3,5 @@ That place... Is where the one with noble blood must face eternal pain.<br>
No one wants to go to the Fortress of the Dead.<br>
But... That man reached that place because he wanted to, and you must go there to meet that man.<br>
That's as far as I know from the oracle. All I can do is guide you to that place.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction teleport">Please send me there.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FortressOfTheDead enterInstance">Please send me there.</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>High Priest Raymond:<br>
Time to go to Tarti for the award.<br>
</body></html>

View File

@ -1,5 +0,0 @@
<html><body>Mysterious Wizard:<br>
It seems nothing happened.<br>
Did you find the person you were looking for?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction falver">How did you come here?</Button>
</body></html>

View File

@ -1,4 +0,0 @@
<html><body>Kain Van Halter:<br>
Who are you? Why would you try to kill Giselle all the way out here?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-02.html">I didn't know that it was Giselle. She attacked first!</Button>
</body></html>

View File

@ -1,5 +0,0 @@
<html><body>Kain Van Halter:<br>
That's not a good reason. The fast that you came all the way here alone is suspicious.<br>
You were after Giselle's life in the first place!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-03.html">Tell him about High Priest Raymond</Button>
</body></html>

View File

@ -1,6 +0,0 @@
<html><body>Kain Van Halter:<br>
The High Priest of Gludio?<br>
Alright, then. Let's say I believe that Giselle has attacked you first. Vampires have a hard time controlling themselves, that's for sure...<br>
However, what brings you all the way here? Why have you been looking for Giselle? I can't imagine you having business with her.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-04.html">I am here for you</Button>
</body></html>

View File

@ -1,5 +0,0 @@
<html><body>Kain Van Halter:<br>
Prophecy Machine?<br>
What about the Prophecy Machine?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-06.html">Here, take a look.</Button>
</body></html>

View File

@ -1,11 +0,0 @@
<html><body>Kain Van Halter:<br>
<font color="LEVEL">A red river flows...hard frost upon the earth... Listen.</font><br>
<font color="LEVEL">And One of half-noble blood,</font><br>
<font color="LEVEL">And One of half-noble blood, descending with the winds to deliver from torment, will come.</font><br>
<font color="LEVEL">Listen.</font><br>
<font color="LEVEL">When joined by one of nobility,</font><br>
<font color="LEVEL">The path will open to the Grail</font>.<br>
... ...<br>
So why are you showing me this?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-07.html">I know that you're interested in the Grail.</Button>
</body></html>

View File

@ -1,5 +0,0 @@
<html><body>Kain Van Halter:<br>
I see. Did Karla tell you? So sge still remembers me mentioning the Grail that day.<br>
Check this out first.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-08.html">This?</Button>
</body></html>

View File

@ -1,5 +0,0 @@
<html><body>Kain Van Halter:<br>
A red river flows... hard frost upon the earth. You see, Elmore rules over a <font color="LEVEL">cold part of the land</font>, which it once shared with Aden as Elmoreden. Now the whole continent is swarming with Shilen's bloody works.<br>
But this part is surprising. When joined by one... the path will open to the Grail. Truly?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-10.html">Who is this one?</Button>
</body></html>

View File

@ -1,3 +0,0 @@
<html><body>Kain Van Halter:<br>
Who is that person standing there?<br>
</body></html>

View File

@ -1,4 +0,0 @@
<html><body>Kain Van Halter:<br>
Who are you? Why would you try to kill Giselle all the way out here?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 34339-13.html">I didn't know that it was Giselle. She attacked first!</Button>
</body></html>

View File

@ -1,6 +0,0 @@
<html><body>Kain van Halter:<br>
The High Priest of Gludio?<br>
Alright, then. Let's say I believe that Giselle has attacked you first. Vampires have a hard time controlling themselves, that's for sure...<br>
However, what brings you all the way here? Why have you been looking for Giselle? I can't imagine you having business with her.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11026_PathOfDestinyConviction 33980-01.html">I am here for you.</Button>
</body></html>

View File

@ -19,9 +19,7 @@ package quests.Q11026_PathOfDestinyConviction;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.data.xml.impl.CategoryData;
import org.l2jmobius.gameserver.enums.CategoryType;
import org.l2jmobius.gameserver.enums.Movie;
import org.l2jmobius.gameserver.enums.Race;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.events.EventType;
@ -33,7 +31,6 @@ import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
import org.l2jmobius.gameserver.network.serverpackets.classchange.ExRequestClassChangeUi;
import quests.Q11025_PathOfDestinyProving.Q11025_PathOfDestinyProving;
@ -48,15 +45,8 @@ public class Q11026_PathOfDestinyConviction extends Quest
// NPCs
private static final int TARTI = 34505;
private static final int RAYMOND = 30289;
private static final int KAIN_VAN_HALTER = 34339;
private static final int MYSTERIOUS_MAGE = 31522;
private static final int VAMPIRE_SOLDIER = 21582;
private static final int VON_HELLMANN = 19566;
// Items
private static final int WIND_SPIRIT = 80673;
// Location
private static final Location TELEPORT_1 = new Location(57983, -28955, 568);
private static final Location TELEPORT_2 = new Location(-14180, 123840, -3120);
// Item
private static final int KAIN_PROPHECY_MACHINE_FRAGMENT = 39538;
// Misc
private static final int MIN_LEVEL = 76;
@ -64,12 +54,10 @@ public class Q11026_PathOfDestinyConviction extends Quest
{
super(11026);
addStartNpc(TARTI);
addTalkId(TARTI, RAYMOND, KAIN_VAN_HALTER, MYSTERIOUS_MAGE);
addFirstTalkId(KAIN_VAN_HALTER, MYSTERIOUS_MAGE);
addKillId(VAMPIRE_SOLDIER, VON_HELLMANN);
registerQuestItems(WIND_SPIRIT);
addCondMinLevel(41, "33963-06.html"); // Not retail, just don't want to see it as unavailable when picking up next quest.
addCondCompletedQuest(Q11025_PathOfDestinyProving.class.getSimpleName(), "33963-06.html");
addTalkId(TARTI, RAYMOND);
registerQuestItems(KAIN_PROPHECY_MACHINE_FRAGMENT);
addCondMinLevel(41, "34505-06.html"); // Not retail, just don't want to see it as unavailable when picking up next quest.
addCondCompletedQuest(Q11025_PathOfDestinyProving.class.getSimpleName(), "34505-06.html");
setQuestNameNpcStringId(NpcStringId.LV_40_PATH_OF_DESTINY_CONVICTION);
}
@ -89,15 +77,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
case "34505-09.html":
case "34505-11.html":
case "30289-03.html":
case "34339-02.html":
case "34339-03.html":
case "34339-04.html":
case "34339-05.html":
case "34339-06.html":
case "34339-07.html":
case "34339-08.html":
case "34339-09.html":
case "34339-11.html":
{
htmltext = event;
break;
@ -135,37 +114,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
htmltext = event;
break;
}
case "teleport":
{
if (qs.isCond(3))
{
final Npc mob = addSpawn(VAMPIRE_SOLDIER, 57983, -28955, 568, 0, true, 180000);
addAttackPlayerDesire(mob, player);
player.teleToLocation(TELEPORT_1);
}
break;
}
case "34339-10.html":
{
if (qs.isCond(3))
{
addSpawn(MYSTERIOUS_MAGE, npc.getX() + 40, npc.getY() + 40, npc.getZ(), npc.getHeading(), false, 120000);
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_MYSTERIOUS_WIZARD, ExShowScreenMessage.TOP_CENTER, 10000);
break;
}
}
case "falver":
{
if (qs.isCond(3))
{
qs.setCond(4, true);
playMovie(player, Movie.SI_CHOICE_OF_KAIN_A);
giveItems(player, WIND_SPIRIT, 1);
player.teleToLocation(TELEPORT_2);
htmltext = event;
}
break;
}
case "34505-10.html":
{
if (qs.isCond(4))
@ -238,21 +186,13 @@ public class Q11026_PathOfDestinyConviction extends Quest
{
htmltext = "30289-01.html";
}
break;
else if (qs.isCond(3))
{
htmltext = "30289-03.html";
}
case KAIN_VAN_HALTER:
else if (qs.isCond(4))
{
if (qs.isCond(3))
{
htmltext = "34339-01.html";
}
break;
}
case MYSTERIOUS_MAGE:
{
if (qs.isCond(3))
{
htmltext = "31522-01.html";
htmltext = "30289-04.html";
}
break;
}
@ -268,37 +208,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
return htmltext;
}
@Override
public String onFirstTalk(Npc npc, PlayerInstance player)
{
return npc.getId() + "-01.html";
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(3))
{
switch (npc.getId())
{
case VAMPIRE_SOLDIER:
{
final Npc mob = addSpawn(VON_HELLMANN, npc, false, 120000);
addAttackPlayerDesire(mob, killer);
break;
}
case VON_HELLMANN:
{
playMovie(killer, Movie.SI_CHOICE_OF_KAIN_B);
addSpawn(KAIN_VAN_HALTER, 57983, -28955, 568, 0, false, 120000);
break;
}
}
}
return super.onKill(npc, killer, isSummon);
}
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLogin(OnPlayerLogin event)