Addition of quest Special Mission: Defeat Spezion (576).

Contributed by Dmitri.
This commit is contained in:
MobiusDevelopment
2020-02-27 12:25:45 +00:00
parent f20321f61e
commit d8042c6f5c
48 changed files with 680 additions and 156 deletions

View File

@@ -3,7 +3,6 @@
572 Special Mission: Proof of Courage (Field Raid)
573 Special Mission: Proof of Strength (Field Raid)
575 Special Mission: Fortuna
576 Special Mission: Defeat Spezion
585 Can't Go Against the Time
586 Mutated Creatures
655 A Grand Plan for Taming Wild Beasts

View File

@@ -0,0 +1,4 @@
<html><body>Penny<br>
I don't know where you heard it, but the guild has decided to assign it to a more reliable guild member. Let's talk later when we trust each other more.<br>
(Only characters with Lv. 90-94 or above and Faction level 4 or above with the Adventure Guild may undertake this quest.)
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
What is it? Do you want to check new missions of the Adventure Guild?<br>
Come on. We are always in high demand.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-02.htm">Ask about the mission</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
Did you know that Spezion was a serious threat.<br>
The guild of Adventures said that Spezion needs to be destroyed.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-03.htm">"Really?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Penny:<br>
Do you detract from the intelligence of the Hunters Guild? This is all true!<br>
The important thing is that Spezion actions are somehow dangerous. So we agreed.<br>
With whom? Of course, with Aden.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-04.htm">Ask about the agreement</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill <font color="LEVEL">Spezion</font>. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill <font color="LEVEL">Spezion</font>. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
Did you kill Spezion?<br>
You ruined Spezion designs...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-07.html">"I figured out Spicula Zero"</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
Good job. This will help the Adventure Guild take the lead.
</body></html>

View File

@@ -0,0 +1,134 @@
/*
* 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.Q00576_SpecialMissionDefeatSpezion;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
/**
* Special Mission: Defeat Spezion (576)
* @URL https://l2wiki.com/Special_Mission:_Defeat_Spezion
* @author Dmitri
*/
public class Q00576_SpecialMissionDefeatSpezion extends Quest
{
// NPC
private static final int PENNY = 34413;
// Monster
private static final int SPEZION = 25779;
// Reward
private static final int SCROLL_OF_ESCAPE_PRISON_OF_DARKNESS = 39500;
// Misc
private static final int MIN_LEVEL = 90;
private static final int MAX_LEVEL = 94;
public Q00576_SpecialMissionDefeatSpezion()
{
super(576);
addStartNpc(PENNY);
addTalkId(PENNY);
addKillId(SPEZION);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "34413-00.htm");
addFactionLevel(Faction.ADVENTURE_GUILD, 4, "34413-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
giveItems(player, SCROLL_OF_ESCAPE_PRISON_OF_DARKNESS, 1);
addExpAndSp(player, 646727130, 646710);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 125);
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "34413-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34413-05.html" : "34413-06.html";
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{
executeForEachPlayer(player, npc, isSummon, true, false);
return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
{
qs.setCond(2, true);
}
}
}

View File

@@ -148,6 +148,7 @@ import quests.Q00568_SpecialMissionNornilsCave.Q00568_SpecialMissionNornilsCave;
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
import quests.Q00570_SpecialMissionKartiasLabyrinthParty.Q00570_SpecialMissionKartiasLabyrinthParty;
import quests.Q00574_SpecialMissionNornilsGarden.Q00574_SpecialMissionNornilsGarden;
import quests.Q00576_SpecialMissionDefeatSpezion.Q00576_SpecialMissionDefeatSpezion;
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
import quests.Q00581_ThePurificationRitual.Q00581_ThePurificationRitual;
import quests.Q00582_WashBloodWithBlood.Q00582_WashBloodWithBlood;
@@ -519,7 +520,6 @@ import quests.not_done.Q00571_SpecialMissionProofOfUnityFieldRaid;
import quests.not_done.Q00572_SpecialMissionProofOfCourageFieldRaid;
import quests.not_done.Q00573_SpecialMissionProofOfStrengthFieldRaid;
import quests.not_done.Q00575_SpecialMissionFortuna;
import quests.not_done.Q00576_SpecialMissionDefeatSpezion;
import quests.not_done.Q00585_CantGoAgainstTheTime;
import quests.not_done.Q00586_MutatedCreatures;
import quests.not_done.Q00655_AGrandPlanForTamingWildBeasts;
@@ -744,7 +744,7 @@ public class QuestMasterHandler
Q00573_SpecialMissionProofOfStrengthFieldRaid.class, // TODO: Not done.
Q00574_SpecialMissionNornilsGarden.class,
Q00575_SpecialMissionFortuna.class, // TODO: Not done.
Q00576_SpecialMissionDefeatSpezion.class, // TODO: Not done.
Q00576_SpecialMissionDefeatSpezion.class,
Q00580_BeyondTheMemories.class,
Q00581_ThePurificationRitual.class, // TODO: Not done.
Q00582_WashBloodWithBlood.class, // TODO: Not done.

View File

@@ -1,36 +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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00576_SpecialMissionDefeatSpezion extends Quest
{
private static final int START_NPC = 34413;
public Q00576_SpecialMissionDefeatSpezion()
{
super(576);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@@ -8,7 +8,6 @@
572 Special Mission: Proof of Courage (Field Raid)
573 Special Mission: Proof of Strength (Field Raid)
575 Special Mission: Fortuna
576 Special Mission: Defeat Spezion
585 Can't Go Against the Time
586 Mutated Creatures
591 Great Ambitions

View File

@@ -0,0 +1,4 @@
<html><body>Penny<br>
I don't know where you heard it, but the guild has decided to assign it to a more reliable guild member. Let's talk later when we trust each other more.<br>
(Only characters with Lv. 90-94 or above and Faction level 4 or above with the Adventure Guild may undertake this quest.)
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
What is it? Do you want to check new missions of the Adventure Guild?<br>
Come on. We are always in high demand.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-02.htm">Ask about the mission</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
Did you know that Spezion was a serious threat.<br>
The guild of Adventures said that Spezion needs to be destroyed.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-03.htm">"Really?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Penny:<br>
Do you detract from the intelligence of the Hunters Guild? This is all true!<br>
The important thing is that Spezion actions are somehow dangerous. So we agreed.<br>
With whom? Of course, with Aden.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-04.htm">Ask about the agreement</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill <font color="LEVEL">Spezion</font>. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill <font color="LEVEL">Spezion</font>. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
Did you kill Spezion?<br>
You ruined Spezion designs...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-07.html">"I figured out Spicula Zero"</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
Good job. This will help the Adventure Guild take the lead.
</body></html>

View File

@@ -0,0 +1,134 @@
/*
* 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.Q00576_SpecialMissionDefeatSpezion;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
/**
* Special Mission: Defeat Spezion (576)
* @URL https://l2wiki.com/Special_Mission:_Defeat_Spezion
* @author Dmitri
*/
public class Q00576_SpecialMissionDefeatSpezion extends Quest
{
// NPC
private static final int PENNY = 34413;
// Monster
private static final int SPEZION = 25779;
// Reward
private static final int SCROLL_OF_ESCAPE_PRISON_OF_DARKNESS = 39500;
// Misc
private static final int MIN_LEVEL = 90;
private static final int MAX_LEVEL = 94;
public Q00576_SpecialMissionDefeatSpezion()
{
super(576);
addStartNpc(PENNY);
addTalkId(PENNY);
addKillId(SPEZION);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "34413-00.htm");
addFactionLevel(Faction.ADVENTURE_GUILD, 4, "34413-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
giveItems(player, SCROLL_OF_ESCAPE_PRISON_OF_DARKNESS, 1);
addExpAndSp(player, 646727130, 646710);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 125);
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "34413-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34413-05.html" : "34413-06.html";
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{
executeForEachPlayer(player, npc, isSummon, true, false);
return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
{
qs.setCond(2, true);
}
}
}

View File

@@ -126,6 +126,7 @@ import quests.Q00568_SpecialMissionNornilsCave.Q00568_SpecialMissionNornilsCave;
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
import quests.Q00570_SpecialMissionKartiasLabyrinthParty.Q00570_SpecialMissionKartiasLabyrinthParty;
import quests.Q00574_SpecialMissionNornilsGarden.Q00574_SpecialMissionNornilsGarden;
import quests.Q00576_SpecialMissionDefeatSpezion.Q00576_SpecialMissionDefeatSpezion;
import quests.Q00577_BasicMissionSilentValley.Q00577_BasicMissionSilentValley;
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
import quests.Q00581_ThePurificationRitual.Q00581_ThePurificationRitual;
@@ -476,7 +477,6 @@ import quests.not_done.Q00571_SpecialMissionProofOfUnityFieldRaid;
import quests.not_done.Q00572_SpecialMissionProofOfCourageFieldRaid;
import quests.not_done.Q00573_SpecialMissionProofOfStrengthFieldRaid;
import quests.not_done.Q00575_SpecialMissionFortuna;
import quests.not_done.Q00576_SpecialMissionDefeatSpezion;
import quests.not_done.Q00585_CantGoAgainstTheTime;
import quests.not_done.Q00586_MutatedCreatures;
import quests.not_done.Q00591_GreatAmbitions;
@@ -688,7 +688,7 @@ public class QuestMasterHandler
Q00573_SpecialMissionProofOfStrengthFieldRaid.class, // TODO: Not done.
Q00574_SpecialMissionNornilsGarden.class,
Q00575_SpecialMissionFortuna.class, // TODO: Not done.
Q00576_SpecialMissionDefeatSpezion.class, // TODO: Not done.
Q00576_SpecialMissionDefeatSpezion.class,
Q00577_BasicMissionSilentValley.class,
Q00580_BeyondTheMemories.class,
Q00581_ThePurificationRitual.class,

View File

@@ -1,36 +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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00576_SpecialMissionDefeatSpezion extends Quest
{
private static final int START_NPC = 34413;
public Q00576_SpecialMissionDefeatSpezion()
{
super(576);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@@ -10,7 +10,6 @@
571 Special Mission: Proof of Unity (Field Raid)
572 Special Mission: Proof of Courage (Field Raid)
573 Special Mission: Proof of Strength (Field Raid)
576 Special Mission: Defeat Spezion
578 Basic Mission: Cemetery
579 Basic Mission: Blazing Swamp
585 Can't Go Against the Time

View File

@@ -0,0 +1,4 @@
<html><body>Penny<br>
I don't know where you heard it, but the guild has decided to assign it to a more reliable guild member. Let's talk later when we trust each other more.<br>
(Only characters with Lv. 90-94 or above and Faction level 4 or above with the Adventure Guild may undertake this quest.)
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
What is it? Do you want to check new missions of the Adventure Guild?<br>
Come on. We are always in high demand.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-02.htm">Ask about the mission</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
Did you know that Spezion was a serious threat.<br>
The guild of Adventures said that Spezion needs to be destroyed.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-03.htm">"Really?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Penny:<br>
Do you detract from the intelligence of the Hunters Guild? This is all true!<br>
The important thing is that Spezion actions are somehow dangerous. So we agreed.<br>
With whom? Of course, with Aden.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-04.htm">Ask about the agreement</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill <font color="LEVEL">Spezion</font>. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill <font color="LEVEL">Spezion</font>. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
Did you kill Spezion?<br>
You ruined Spezion designs...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-07.html">"I figured out Spicula Zero"</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
Good job. This will help the Adventure Guild take the lead.
</body></html>

View File

@@ -0,0 +1,134 @@
/*
* 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.Q00576_SpecialMissionDefeatSpezion;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
/**
* Special Mission: Defeat Spezion (576)
* @URL https://l2wiki.com/Special_Mission:_Defeat_Spezion
* @author Dmitri
*/
public class Q00576_SpecialMissionDefeatSpezion extends Quest
{
// NPC
private static final int PENNY = 34413;
// Monster
private static final int SPEZION = 25779;
// Reward
private static final int SCROLL_OF_ESCAPE_PRISON_OF_DARKNESS = 39500;
// Misc
private static final int MIN_LEVEL = 90;
private static final int MAX_LEVEL = 94;
public Q00576_SpecialMissionDefeatSpezion()
{
super(576);
addStartNpc(PENNY);
addTalkId(PENNY);
addKillId(SPEZION);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "34413-00.htm");
addFactionLevel(Faction.ADVENTURE_GUILD, 4, "34413-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
giveItems(player, SCROLL_OF_ESCAPE_PRISON_OF_DARKNESS, 1);
addExpAndSp(player, 646727130, 646710);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 125);
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "34413-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34413-05.html" : "34413-06.html";
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{
executeForEachPlayer(player, npc, isSummon, true, false);
return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
{
qs.setCond(2, true);
}
}
}

View File

@@ -126,6 +126,7 @@ import quests.Q00568_SpecialMissionNornilsCave.Q00568_SpecialMissionNornilsCave;
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
import quests.Q00570_SpecialMissionKartiasLabyrinthParty.Q00570_SpecialMissionKartiasLabyrinthParty;
import quests.Q00574_SpecialMissionNornilsGarden.Q00574_SpecialMissionNornilsGarden;
import quests.Q00576_SpecialMissionDefeatSpezion.Q00576_SpecialMissionDefeatSpezion;
import quests.Q00577_BasicMissionSilentValley.Q00577_BasicMissionSilentValley;
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
import quests.Q00581_ThePurificationRitual.Q00581_ThePurificationRitual;
@@ -491,7 +492,6 @@ import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
import quests.not_done.Q00571_SpecialMissionProofOfUnityFieldRaid;
import quests.not_done.Q00572_SpecialMissionProofOfCourageFieldRaid;
import quests.not_done.Q00573_SpecialMissionProofOfStrengthFieldRaid;
import quests.not_done.Q00576_SpecialMissionDefeatSpezion;
import quests.not_done.Q00578_BasicMissionCemetery;
import quests.not_done.Q00579_BasicMissionBlazingSwamp;
import quests.not_done.Q00585_CantGoAgainstTheTime;
@@ -707,7 +707,7 @@ public class QuestMasterHandler
Q00572_SpecialMissionProofOfCourageFieldRaid.class, // TODO: Not done.
Q00573_SpecialMissionProofOfStrengthFieldRaid.class, // TODO: Not done.
Q00574_SpecialMissionNornilsGarden.class,
Q00576_SpecialMissionDefeatSpezion.class, // TODO: Not done.
Q00576_SpecialMissionDefeatSpezion.class,
Q00577_BasicMissionSilentValley.class,
Q00578_BasicMissionCemetery.class, // TODO: Not done.
Q00579_BasicMissionBlazingSwamp.class, // TODO: Not done.

View File

@@ -1,36 +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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00576_SpecialMissionDefeatSpezion extends Quest
{
private static final int START_NPC = 34413;
public Q00576_SpecialMissionDefeatSpezion()
{
super(576);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@@ -42,7 +42,6 @@
571 Special Mission: Proof of Unity (Field Raid)
572 Special Mission: Proof of Courage (Field Raid)
573 Special Mission: Proof of Strength (Field Raid)
576 Special Mission: Defeat Spezion
578 Basic Mission: Cemetery
585 Can't Go Against the Time
586 Mutated Creatures

View File

@@ -0,0 +1,4 @@
<html><body>Penny<br>
I don't know where you heard it, but the guild has decided to assign it to a more reliable guild member. Let's talk later when we trust each other more.<br>
(Only characters with Lv. 90-94 or above and Faction level 4 or above with the Adventure Guild may undertake this quest.)
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
What is it? Do you want to check new missions of the Adventure Guild?<br>
Come on. We are always in high demand.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-02.htm">Ask about the mission</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
Did you know that Spezion was a serious threat.<br>
The guild of Adventures said that Spezion needs to be destroyed.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-03.htm">"Really?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Penny:<br>
Do you detract from the intelligence of the Hunters Guild? This is all true!<br>
The important thing is that Spezion actions are somehow dangerous. So we agreed.<br>
With whom? Of course, with Aden.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-04.htm">Ask about the agreement</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill <font color="LEVEL">Spezion</font>. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill <font color="LEVEL">Spezion</font>. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Penny:<br>
Did you kill Spezion?<br>
You ruined Spezion designs...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00576_SpecialMissionDefeatSpezion 34413-07.html">"I figured out Spicula Zero"</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Penny:<br>
Good job. This will help the Adventure Guild take the lead.
</body></html>

View File

@@ -0,0 +1,134 @@
/*
* 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.Q00576_SpecialMissionDefeatSpezion;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
/**
* Special Mission: Defeat Spezion (576)
* @URL https://l2wiki.com/Special_Mission:_Defeat_Spezion
* @author Dmitri
*/
public class Q00576_SpecialMissionDefeatSpezion extends Quest
{
// NPC
private static final int PENNY = 34413;
// Monster
private static final int SPEZION = 25779;
// Reward
private static final int SCROLL_OF_ESCAPE_PRISON_OF_DARKNESS = 39500;
// Misc
private static final int MIN_LEVEL = 90;
private static final int MAX_LEVEL = 94;
public Q00576_SpecialMissionDefeatSpezion()
{
super(576);
addStartNpc(PENNY);
addTalkId(PENNY);
addKillId(SPEZION);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "34413-00.htm");
addFactionLevel(Faction.ADVENTURE_GUILD, 4, "34413-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "34413-02.htm":
case "34413-03.htm":
{
htmltext = event;
break;
}
case "34413-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34413-07.html":
{
// Rewards
giveItems(player, SCROLL_OF_ESCAPE_PRISON_OF_DARKNESS, 1);
addExpAndSp(player, 646727130, 646710);
addFactionPoints(player, Faction.ADVENTURE_GUILD, 125);
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "34413-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34413-05.html" : "34413-06.html";
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{
executeForEachPlayer(player, npc, isSummon, true, false);
return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
{
qs.setCond(2, true);
}
}
}

View File

@@ -60,6 +60,7 @@ import quests.Q00568_SpecialMissionNornilsCave.Q00568_SpecialMissionNornilsCave;
import quests.Q00569_BasicMissionSealOfShilen.Q00569_BasicMissionSealOfShilen;
import quests.Q00570_SpecialMissionKartiasLabyrinthParty.Q00570_SpecialMissionKartiasLabyrinthParty;
import quests.Q00574_SpecialMissionNornilsGarden.Q00574_SpecialMissionNornilsGarden;
import quests.Q00576_SpecialMissionDefeatSpezion.Q00576_SpecialMissionDefeatSpezion;
import quests.Q00577_BasicMissionSilentValley.Q00577_BasicMissionSilentValley;
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
import quests.Q00587_MoreAggressiveOperation.Q00587_MoreAggressiveOperation;
@@ -255,7 +256,6 @@ import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
import quests.not_done.Q00571_SpecialMissionProofOfUnityFieldRaid;
import quests.not_done.Q00572_SpecialMissionProofOfCourageFieldRaid;
import quests.not_done.Q00573_SpecialMissionProofOfStrengthFieldRaid;
import quests.not_done.Q00576_SpecialMissionDefeatSpezion;
import quests.not_done.Q00578_BasicMissionCemetery;
import quests.not_done.Q00585_CantGoAgainstTheTime;
import quests.not_done.Q00586_MutatedCreatures;
@@ -386,7 +386,7 @@ public class QuestMasterHandler
Q00572_SpecialMissionProofOfCourageFieldRaid.class, // TODO: Not done.
Q00573_SpecialMissionProofOfStrengthFieldRaid.class, // TODO: Not done.
Q00574_SpecialMissionNornilsGarden.class,
Q00576_SpecialMissionDefeatSpezion.class, // TODO: Not done.
Q00576_SpecialMissionDefeatSpezion.class,
Q00577_BasicMissionSilentValley.class,
Q00578_BasicMissionCemetery.class, // TODO: Not done.
Q00580_BeyondTheMemories.class,

View File

@@ -1,36 +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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00576_SpecialMissionDefeatSpezion extends Quest
{
private static final int START_NPC = 34413;
public Q00576_SpecialMissionDefeatSpezion()
{
super(576);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}