Addition of custom quest (926).

This commit is contained in:
MobiusDev 2018-03-26 22:26:09 +00:00
parent fe2abae93b
commit ef3c1622c0
22 changed files with 398 additions and 2 deletions

View File

@ -62,7 +62,6 @@
923 Shinedust Extraction
924 Giant of the Restoration Room
925 Hunter Guild Request - Garden of Spirits
926 Exploring the Dimension - 30-day Search Operation
929 Seeker Rescue
930 Disparaging the Phantoms
931 Memories of the Wind

View File

@ -0,0 +1,3 @@
<html><body>
Your character's level exceeds the level limit for this quest.
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Dimensional Pursuer Beloa:<br>
What brings you here? The Catacomb of the Witch used to be here, but it's not the Catacomb of the Witch of old anymore. It you were trying to get to the Catacomb of the Witch, you're in the wrong place.<br>
Aden Castle, where they were regularly observing the catacombs and necropolis, told us, the Ertheia, that a Dimensional rift has appeared here.<br>
There was a treaty that the Ertheia had entered into with the other races. I'm here to investigate the Dimensional Rift that has appeared here.<br>
Well, since news has gotten out about the Dimensional Rift or Gap or what not, I'm guessing that's what brought you here, but... You wouldn't be here to help us with the operation to suppress the Dimensional Rift, would you?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00926_30DaySearchOperation 34227-02.htm">"Well, in fact I am."</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Dimensional Pursuer Beloa:<br>
That's great! I needed a lot of help with the operation to suppress the Dimensional Rift. Since I found out that a Dimensional Rift had appeared
here, I carried out a battery of experiments to make my research more effective. I discovered something important in the process.<br>
Currently, monsters that look exactly like the monsters that used to exist in the Catacomb of the Witch are appearing here. But it's my judgment that this is just to hide the Dimensional Rift.<br>
The Lillim, Nephilim and Gigantics here are actually all illusions. They're monsters whose substance actually exists beyond
the dimensional. At first, it was difficult to prove this, but with you joining the operation, that'il become much easier!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00926_30DaySearchOperation 34227-03.htm">"How do you prove that?"</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Dimensional Pursuer Beloa:<br>
See, the monsters here didn't respond much to attacks from the guards at Aden Castle or the Ivory Tower Wizards are reacting strangely to adventures who have come here to take part in the suppression operation.<br>
You might say they're revealing their true selves, much like snakes molting.<br>
What I mean is, if you find in the Lillim, Nephilim or Gigantics that appear here the dimensional monsters that appear here the dimensional monsters that correspond to their main bodies,
that can prove that because of the Dimensional Rift that has appeared here, this place is on longer the Catacomb of the Witch!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00926_30DaySearchOperation 34227-04.htm">"What exactly is the aim of the suppression operation?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Dimensional Pursuer Beloa:<br>
First, we need to prove that the monsters we see here aren't all there is.<br>
First, stay the Lillim Royal Knight, Lillim Slayer, Lillim Great Magus, Gigantic Healer, Nephilim Royal Guard, and the Nephilim and Gigantes to find out what they actually are.<br>
The Wandering Dead of the Dimensional, Roaming Vengeance of the Dimension, Lost Dimensional Evil Thoughts, Lost Soul of the Dimension, Wandering Dimensional Spirit and other monsters that exist within the Dimensional Rift should appear.<br>
Slaying the Dimensional monsters attacking through the rift, you'll obtain <font color="LEVEL">Spirit Fragments</font>. Just collect around 100 of those for me. What do you think? Not too difficult, hmm?
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Dimensional Pursuer Beloa:<br>
Slaying the Dimensional monsters attacking through the rift, you'll obtain <font color="LEVEL">Spirit Fragment</font>. Just collect around 100 of those for me.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Dimensional Pursuer Beloa:<br>
Are you finished today's operation?<br>
That's amazing! You're even faster than I expected?<br>
Are you sure you've defeated the dimensional monsters in the Dimensional Rift, and collected 100 <font color="LEVEL">Spirit Fragment</font>?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00926_30DaySearchOperation 34227-07.html">"Yes, I'm sure."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Dimensional Pursuer Beloa:<br>
Thank you! Thanks to help, it's becoming more and more evident that this place is not in fact the Catacomb of the Witch, but a Dimensional Rift that has consumed the Catacomb of the Witch<br>
This is your reward for you help with the operation. The operation continues as we speak, and I'd like you to return and help out again whenever you'd like.<br>
</body></html>

View File

@ -0,0 +1,153 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.Q00926_30DaySearchOperation;
import com.l2jmobius.gameserver.enums.QuestType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
/**
* Exploring the Dimension - 30-day Search Operation (926)
* @URL https://l2wiki.com/Exploring_the_Dimension_-_30-day_Search_Operation
* @Custom-Made based on quest 928
* @author Mobius
*/
public class Q00926_30DaySearchOperation extends Quest
{
// NPC
private static final int BELOA = 34227;
// Monsters
private static final int WANDERING_OF_DIMENSION = 23755;
private static final int LOST_SOUL_DIMENSION = 23757;
private static final int ROAMING_VENGEANCE = 23759;
// Items
private static final int SPIRIT_FRAGMENTS = 46785;
private static final int BELOAS_SUPPLY_ITEMS = 47043;
private static final int REMNANT_OF_THE_RIFT = 46787;
// Misc
private static final int MIN_LEVEL = 95;
public Q00926_30DaySearchOperation()
{
super(926);
addStartNpc(BELOA);
addTalkId(BELOA);
addKillId(WANDERING_OF_DIMENSION, LOST_SOUL_DIMENSION, ROAMING_VENGEANCE);
registerQuestItems(SPIRIT_FRAGMENTS);
addCondMinLevel(MIN_LEVEL, "34227-00.html");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34227-02.htm":
case "34227-03.htm":
{
htmltext = event;
break;
}
case "34227-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34227-07.html":
{
if (player.getLevel() >= MIN_LEVEL)
{
if (getQuestItemsCount(player, REMNANT_OF_THE_RIFT) < 99)
{
giveItems(player, REMNANT_OF_THE_RIFT, 1);
giveItems(player, BELOAS_SUPPLY_ITEMS, 1);
addExpAndSp(player, 1507592779L, 3618222);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
addExpAndSp(player, 1507592779L, 3618222);
giveItems(player, REMNANT_OF_THE_RIFT, 1);
giveItems(player, BELOAS_SUPPLY_ITEMS, 1);
qs.exitQuest(QuestType.ONE_TIME, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.COMPLETED:
{
if (!qs.isNowAvailable())
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
qs.setState(State.CREATED);
}
case State.CREATED:
{
htmltext = "34227-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34227-05.html" : "34227-06.html";
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && (qs.isCond(1)))
{
if (giveItemRandomly(killer, npc, SPIRIT_FRAGMENTS, 1, 100, 1.0, true))
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -192,6 +192,7 @@ import quests.Q00904_DragonTrophyAntharas.Q00904_DragonTrophyAntharas;
import quests.Q00905_RefinedDragonBlood.Q00905_RefinedDragonBlood;
import quests.Q00906_TheCallOfValakas.Q00906_TheCallOfValakas;
import quests.Q00907_DragonTrophyValakas.Q00907_DragonTrophyValakas;
import quests.Q00926_30DaySearchOperation.Q00926_30DaySearchOperation;
import quests.Q00928_100DaySubjugationOperation.Q00928_100DaySubjugationOperation;
import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild;
import quests.Q10273_GoodDayToFly.Q10273_GoodDayToFly;
@ -613,6 +614,7 @@ public class QuestMasterHandler
Q00905_RefinedDragonBlood.class,
Q00906_TheCallOfValakas.class,
Q00907_DragonTrophyValakas.class,
Q00926_30DaySearchOperation.class,
Q00928_100DaySubjugationOperation.class,
Q00937_ToReviveTheFishingGuild.class,
Q10273_GoodDayToFly.class,

View File

@ -123,7 +123,6 @@
923 Shinedust Extraction
924 Giant of the Restoration Room
925 Hunter Guild Request - Garden of Spirits
926 Exploring the Dimension - 30-day Search Operation
929 Seeker Rescue
930 Disparaging the Phantoms
931 Memories of the Wind

View File

@ -0,0 +1,3 @@
<html><body>
Your character's level exceeds the level limit for this quest.
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Dimensional Pursuer Beloa:<br>
What brings you here? The Catacomb of the Witch used to be here, but it's not the Catacomb of the Witch of old anymore. It you were trying to get to the Catacomb of the Witch, you're in the wrong place.<br>
Aden Castle, where they were regularly observing the catacombs and necropolis, told us, the Ertheia, that a Dimensional rift has appeared here.<br>
There was a treaty that the Ertheia had entered into with the other races. I'm here to investigate the Dimensional Rift that has appeared here.<br>
Well, since news has gotten out about the Dimensional Rift or Gap or what not, I'm guessing that's what brought you here, but... You wouldn't be here to help us with the operation to suppress the Dimensional Rift, would you?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00926_30DaySearchOperation 34227-02.htm">"Well, in fact I am."</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Dimensional Pursuer Beloa:<br>
That's great! I needed a lot of help with the operation to suppress the Dimensional Rift. Since I found out that a Dimensional Rift had appeared
here, I carried out a battery of experiments to make my research more effective. I discovered something important in the process.<br>
Currently, monsters that look exactly like the monsters that used to exist in the Catacomb of the Witch are appearing here. But it's my judgment that this is just to hide the Dimensional Rift.<br>
The Lillim, Nephilim and Gigantics here are actually all illusions. They're monsters whose substance actually exists beyond
the dimensional. At first, it was difficult to prove this, but with you joining the operation, that'il become much easier!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00926_30DaySearchOperation 34227-03.htm">"How do you prove that?"</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Dimensional Pursuer Beloa:<br>
See, the monsters here didn't respond much to attacks from the guards at Aden Castle or the Ivory Tower Wizards are reacting strangely to adventures who have come here to take part in the suppression operation.<br>
You might say they're revealing their true selves, much like snakes molting.<br>
What I mean is, if you find in the Lillim, Nephilim or Gigantics that appear here the dimensional monsters that appear here the dimensional monsters that correspond to their main bodies,
that can prove that because of the Dimensional Rift that has appeared here, this place is on longer the Catacomb of the Witch!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00926_30DaySearchOperation 34227-04.htm">"What exactly is the aim of the suppression operation?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Dimensional Pursuer Beloa:<br>
First, we need to prove that the monsters we see here aren't all there is.<br>
First, stay the Lillim Royal Knight, Lillim Slayer, Lillim Great Magus, Gigantic Healer, Nephilim Royal Guard, and the Nephilim and Gigantes to find out what they actually are.<br>
The Wandering Dead of the Dimensional, Roaming Vengeance of the Dimension, Lost Dimensional Evil Thoughts, Lost Soul of the Dimension, Wandering Dimensional Spirit and other monsters that exist within the Dimensional Rift should appear.<br>
Slaying the Dimensional monsters attacking through the rift, you'll obtain <font color="LEVEL">Spirit Fragments</font>. Just collect around 100 of those for me. What do you think? Not too difficult, hmm?
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Dimensional Pursuer Beloa:<br>
Slaying the Dimensional monsters attacking through the rift, you'll obtain <font color="LEVEL">Spirit Fragment</font>. Just collect around 100 of those for me.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Dimensional Pursuer Beloa:<br>
Are you finished today's operation?<br>
That's amazing! You're even faster than I expected?<br>
Are you sure you've defeated the dimensional monsters in the Dimensional Rift, and collected 100 <font color="LEVEL">Spirit Fragment</font>?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00926_30DaySearchOperation 34227-07.html">"Yes, I'm sure."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Dimensional Pursuer Beloa:<br>
Thank you! Thanks to help, it's becoming more and more evident that this place is not in fact the Catacomb of the Witch, but a Dimensional Rift that has consumed the Catacomb of the Witch<br>
This is your reward for you help with the operation. The operation continues as we speak, and I'd like you to return and help out again whenever you'd like.<br>
</body></html>

View File

@ -0,0 +1,153 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.Q00926_30DaySearchOperation;
import com.l2jmobius.gameserver.enums.QuestType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
/**
* Exploring the Dimension - 30-day Search Operation (926)
* @URL https://l2wiki.com/Exploring_the_Dimension_-_30-day_Search_Operation
* @Custom-Made based on quest 928
* @author Mobius
*/
public class Q00926_30DaySearchOperation extends Quest
{
// NPC
private static final int BELOA = 34227;
// Monsters
private static final int WANDERING_OF_DIMENSION = 23755;
private static final int LOST_SOUL_DIMENSION = 23757;
private static final int ROAMING_VENGEANCE = 23759;
// Items
private static final int SPIRIT_FRAGMENTS = 46785;
private static final int BELOAS_SUPPLY_ITEMS = 47043;
private static final int REMNANT_OF_THE_RIFT = 46787;
// Misc
private static final int MIN_LEVEL = 95;
public Q00926_30DaySearchOperation()
{
super(926);
addStartNpc(BELOA);
addTalkId(BELOA);
addKillId(WANDERING_OF_DIMENSION, LOST_SOUL_DIMENSION, ROAMING_VENGEANCE);
registerQuestItems(SPIRIT_FRAGMENTS);
addCondMinLevel(MIN_LEVEL, "34227-00.html");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34227-02.htm":
case "34227-03.htm":
{
htmltext = event;
break;
}
case "34227-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34227-07.html":
{
if (player.getLevel() >= MIN_LEVEL)
{
if (getQuestItemsCount(player, REMNANT_OF_THE_RIFT) < 99)
{
giveItems(player, REMNANT_OF_THE_RIFT, 1);
giveItems(player, BELOAS_SUPPLY_ITEMS, 1);
addExpAndSp(player, 1507592779L, 3618222);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
addExpAndSp(player, 1507592779L, 3618222);
giveItems(player, REMNANT_OF_THE_RIFT, 1);
giveItems(player, BELOAS_SUPPLY_ITEMS, 1);
qs.exitQuest(QuestType.ONE_TIME, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.COMPLETED:
{
if (!qs.isNowAvailable())
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
qs.setState(State.CREATED);
}
case State.CREATED:
{
htmltext = "34227-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34227-05.html" : "34227-06.html";
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && (qs.isCond(1)))
{
if (giveItemRandomly(killer, npc, SPIRIT_FRAGMENTS, 1, 100, 1.0, true))
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -190,6 +190,7 @@ import quests.Q00902_ReclaimOurEra.Q00902_ReclaimOurEra;
import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
import quests.Q00905_RefinedDragonBlood.Q00905_RefinedDragonBlood;
import quests.Q00906_TheCallOfValakas.Q00906_TheCallOfValakas;
import quests.Q00926_30DaySearchOperation.Q00926_30DaySearchOperation;
import quests.Q00928_100DaySubjugationOperation.Q00928_100DaySubjugationOperation;
import quests.Q00937_ToReviveTheFishingGuild.Q00937_ToReviveTheFishingGuild;
import quests.Q10273_GoodDayToFly.Q10273_GoodDayToFly;
@ -616,6 +617,7 @@ public class QuestMasterHandler
Q00903_TheCallOfAntharas.class,
Q00905_RefinedDragonBlood.class,
Q00906_TheCallOfValakas.class,
Q00926_30DaySearchOperation.class,
Q00928_100DaySubjugationOperation.class,
Q00937_ToReviveTheFishingGuild.class,
Q10273_GoodDayToFly.class,