From d8042c6f5c91b1b8def00353885715c7bd5669b5 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 27 Feb 2020 12:25:45 +0000 Subject: [PATCH] Addition of quest Special Mission: Defeat Spezion (576). Contributed by Dmitri. --- .../data/scripts/quests/MissingQuests.txt | 1 - .../34413-00.htm | 4 + .../34413-01.htm | 5 + .../34413-02.htm | 5 + .../34413-03.htm | 6 + .../34413-04.htm | 3 + .../34413-05.html | 3 + .../34413-06.html | 5 + .../34413-07.html | 3 + .../Q00576_SpecialMissionDefeatSpezion.java | 134 ++++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 4 +- .../Q00576_SpecialMissionDefeatSpezion.java | 36 ----- .../data/scripts/quests/MissingQuests.txt | 1 - .../34413-00.htm | 4 + .../34413-01.htm | 5 + .../34413-02.htm | 5 + .../34413-03.htm | 6 + .../34413-04.htm | 3 + .../34413-05.html | 3 + .../34413-06.html | 5 + .../34413-07.html | 3 + .../Q00576_SpecialMissionDefeatSpezion.java | 134 ++++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 4 +- .../Q00576_SpecialMissionDefeatSpezion.java | 36 ----- .../data/scripts/quests/MissingQuests.txt | 1 - .../34413-00.htm | 4 + .../34413-01.htm | 5 + .../34413-02.htm | 5 + .../34413-03.htm | 6 + .../34413-04.htm | 3 + .../34413-05.html | 3 + .../34413-06.html | 5 + .../34413-07.html | 3 + .../Q00576_SpecialMissionDefeatSpezion.java | 134 ++++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 4 +- .../Q00576_SpecialMissionDefeatSpezion.java | 36 ----- .../data/scripts/quests/MissingQuests.txt | 1 - .../34413-00.htm | 4 + .../34413-01.htm | 5 + .../34413-02.htm | 5 + .../34413-03.htm | 6 + .../34413-04.htm | 3 + .../34413-05.html | 3 + .../34413-06.html | 5 + .../34413-07.html | 3 + .../Q00576_SpecialMissionDefeatSpezion.java | 134 ++++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 4 +- .../Q00576_SpecialMissionDefeatSpezion.java | 36 ----- 48 files changed, 680 insertions(+), 156 deletions(-) create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java delete mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java delete mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java delete mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java delete mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt index eb2202a9e2..36a17b4cbc 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt @@ -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 diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm new file mode 100644 index 0000000000..d7f767da9e --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm @@ -0,0 +1,4 @@ +Penny
+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.
+(Only characters with Lv. 90-94 or above and Faction level 4 or above with the Adventure Guild may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm new file mode 100644 index 0000000000..5892955b91 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm @@ -0,0 +1,5 @@ +Penny:
+What is it? Do you want to check new missions of the Adventure Guild?
+Come on. We are always in high demand.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm new file mode 100644 index 0000000000..aee3ebaf10 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm @@ -0,0 +1,5 @@ +Penny:
+Did you know that Spezion was a serious threat.
+The guild of Adventures said that Spezion needs to be destroyed.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm new file mode 100644 index 0000000000..999dbc04f4 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm @@ -0,0 +1,6 @@ +Penny:
+Do you detract from the intelligence of the Hunters Guild? This is all true!
+The important thing is that Spezion actions are somehow dangerous. So we agreed.
+With whom? Of course, with Aden.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm new file mode 100644 index 0000000000..93066fd549 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm @@ -0,0 +1,3 @@ +Penny:
+The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill Spezion. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html new file mode 100644 index 0000000000..93066fd549 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html @@ -0,0 +1,3 @@ +Penny:
+The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill Spezion. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html new file mode 100644 index 0000000000..b41c2910de --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html @@ -0,0 +1,5 @@ +Penny:
+Did you kill Spezion?
+You ruined Spezion designs...
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html new file mode 100644 index 0000000000..03b696272a --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html @@ -0,0 +1,3 @@ +Penny:
+Good job. This will help the Adventure Guild take the lead. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java new file mode 100644 index 0000000000..5908bb9a0d --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java @@ -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 . + */ +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); + } + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java index 3d63d7785f..109ed870ec 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -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. diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java deleted file mode 100644 index 7e45bc3d3d..0000000000 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java +++ /dev/null @@ -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 . - */ -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)); - } -} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt index 5f9e810885..bd6d302885 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt @@ -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 diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm new file mode 100644 index 0000000000..d7f767da9e --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm @@ -0,0 +1,4 @@ +Penny
+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.
+(Only characters with Lv. 90-94 or above and Faction level 4 or above with the Adventure Guild may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm new file mode 100644 index 0000000000..5892955b91 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm @@ -0,0 +1,5 @@ +Penny:
+What is it? Do you want to check new missions of the Adventure Guild?
+Come on. We are always in high demand.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm new file mode 100644 index 0000000000..aee3ebaf10 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm @@ -0,0 +1,5 @@ +Penny:
+Did you know that Spezion was a serious threat.
+The guild of Adventures said that Spezion needs to be destroyed.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm new file mode 100644 index 0000000000..999dbc04f4 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm @@ -0,0 +1,6 @@ +Penny:
+Do you detract from the intelligence of the Hunters Guild? This is all true!
+The important thing is that Spezion actions are somehow dangerous. So we agreed.
+With whom? Of course, with Aden.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm new file mode 100644 index 0000000000..93066fd549 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm @@ -0,0 +1,3 @@ +Penny:
+The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill Spezion. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html new file mode 100644 index 0000000000..93066fd549 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html @@ -0,0 +1,3 @@ +Penny:
+The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill Spezion. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html new file mode 100644 index 0000000000..b41c2910de --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html @@ -0,0 +1,5 @@ +Penny:
+Did you kill Spezion?
+You ruined Spezion designs...
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html new file mode 100644 index 0000000000..03b696272a --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html @@ -0,0 +1,3 @@ +Penny:
+Good job. This will help the Adventure Guild take the lead. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java new file mode 100644 index 0000000000..5908bb9a0d --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java @@ -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 . + */ +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); + } + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java index 3c55d1c3f9..cf2c1a27cd 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -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, diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java deleted file mode 100644 index 7e45bc3d3d..0000000000 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java +++ /dev/null @@ -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 . - */ -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)); - } -} diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt index 23b01240d4..b6128a3a26 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt @@ -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 diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm new file mode 100644 index 0000000000..d7f767da9e --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm @@ -0,0 +1,4 @@ +Penny
+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.
+(Only characters with Lv. 90-94 or above and Faction level 4 or above with the Adventure Guild may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm new file mode 100644 index 0000000000..5892955b91 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm @@ -0,0 +1,5 @@ +Penny:
+What is it? Do you want to check new missions of the Adventure Guild?
+Come on. We are always in high demand.
+ + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm new file mode 100644 index 0000000000..aee3ebaf10 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm @@ -0,0 +1,5 @@ +Penny:
+Did you know that Spezion was a serious threat.
+The guild of Adventures said that Spezion needs to be destroyed.
+ + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm new file mode 100644 index 0000000000..999dbc04f4 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm @@ -0,0 +1,6 @@ +Penny:
+Do you detract from the intelligence of the Hunters Guild? This is all true!
+The important thing is that Spezion actions are somehow dangerous. So we agreed.
+With whom? Of course, with Aden.
+ + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm new file mode 100644 index 0000000000..93066fd549 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm @@ -0,0 +1,3 @@ +Penny:
+The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill Spezion. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion. + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html new file mode 100644 index 0000000000..93066fd549 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html @@ -0,0 +1,3 @@ +Penny:
+The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill Spezion. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion. + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html new file mode 100644 index 0000000000..b41c2910de --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html @@ -0,0 +1,5 @@ +Penny:
+Did you kill Spezion?
+You ruined Spezion designs...
+ + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html new file mode 100644 index 0000000000..03b696272a --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html @@ -0,0 +1,3 @@ +Penny:
+Good job. This will help the Adventure Guild take the lead. + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java new file mode 100644 index 0000000000..5908bb9a0d --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java @@ -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 . + */ +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); + } + } +} diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java index c065f145cc..694002748d 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -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. diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java deleted file mode 100644 index 7e45bc3d3d..0000000000 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java +++ /dev/null @@ -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 . - */ -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)); - } -} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt index 69e11cc360..ec8fb5484c 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt @@ -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 diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm new file mode 100644 index 0000000000..d7f767da9e --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-00.htm @@ -0,0 +1,4 @@ +Penny
+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.
+(Only characters with Lv. 90-94 or above and Faction level 4 or above with the Adventure Guild may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm new file mode 100644 index 0000000000..5892955b91 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-01.htm @@ -0,0 +1,5 @@ +Penny:
+What is it? Do you want to check new missions of the Adventure Guild?
+Come on. We are always in high demand.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm new file mode 100644 index 0000000000..aee3ebaf10 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-02.htm @@ -0,0 +1,5 @@ +Penny:
+Did you know that Spezion was a serious threat.
+The guild of Adventures said that Spezion needs to be destroyed.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm new file mode 100644 index 0000000000..999dbc04f4 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-03.htm @@ -0,0 +1,6 @@ +Penny:
+Do you detract from the intelligence of the Hunters Guild? This is all true!
+The important thing is that Spezion actions are somehow dangerous. So we agreed.
+With whom? Of course, with Aden.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm new file mode 100644 index 0000000000..93066fd549 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-04.htm @@ -0,0 +1,3 @@ +Penny:
+The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill Spezion. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion. + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html new file mode 100644 index 0000000000..93066fd549 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-05.html @@ -0,0 +1,3 @@ +Penny:
+The Adventure Guild maintains close ties with the Aden Courtyard. In accordance with the agreement, we have been instructed to kill Spezion. Go to the Nornil Dungeon, use the Central Bath Device and go to the Nornil Garden, and then crack down on Spezion. + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html new file mode 100644 index 0000000000..b41c2910de --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-06.html @@ -0,0 +1,5 @@ +Penny:
+Did you kill Spezion?
+You ruined Spezion designs...
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html new file mode 100644 index 0000000000..03b696272a --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/34413-07.html @@ -0,0 +1,3 @@ +Penny:
+Good job. This will help the Adventure Guild take the lead. + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java new file mode 100644 index 0000000000..5908bb9a0d --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00576_SpecialMissionDefeatSpezion/Q00576_SpecialMissionDefeatSpezion.java @@ -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 . + */ +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); + } + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java index 37d775ef57..d738e090d0 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -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, diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java deleted file mode 100644 index 7e45bc3d3d..0000000000 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q00576_SpecialMissionDefeatSpezion.java +++ /dev/null @@ -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 . - */ -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)); - } -}