Addition of Dimensional Exploration of the Unworldly Visitors (738).

Contributed by gigilo1968.
This commit is contained in:
MobiusDevelopment 2019-09-08 08:58:10 +00:00
parent e36cdcafcf
commit d97b098951
39 changed files with 615 additions and 114 deletions

View File

@ -75,7 +75,6 @@
735 Red Libra Request - Embryo Command Post 735 Red Libra Request - Embryo Command Post
736 Red Libra Request - Altar of Shilen 736 Red Libra Request - Altar of Shilen
737 A Sword Hidden in a Smile 737 A Sword Hidden in a Smile
738 Dimensional Exploration of the Unworldly Visitors
743 At the Altar of Oblivion 743 At the Altar of Oblivion
744 The Alligator Hunter returns 744 The Alligator Hunter returns
745 The Outlaws are Incoming 745 The Outlaws are Incoming

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
I'm afraid you're not ready to deal with the Unworldly Visitors. Come back once you are strong enough to fight them.<br>
(This quest is only available for those characters of level 95 or higher who have completed "Strategic Reconciliation.")
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Oh, you've back! Great. I've been waiting for you to complete what you helped with last time.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-02.htm">"Go on."</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tarti:<br>
I found the Dimensional Traces so easily. I don't understand why others failed. Well, they might not be as capable as I am.<br>
Anyway, I promised to investigate the dimensional energy for a while. See? If you work well, people don't leave you alone.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-03.htm">"I agree."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
I knew you'd understand me. Then, would you help me? Defeat monsters near the Dimensional Rift or Dimensional Crack and collect the Fragments of Dimensional Energy as you did before.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-04.htm">"Yes, sure."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Thanks. The strong recognize each other. Fight monsters that appear in the Dimensional rift or Dimensional Crack, and collect 50 Fragments of Dimensional Energy for me.<br>
You've done this before, so I don't need to explain the Dimensional Rift and Dimensional Crack again. I'll be waiting for you here as writing the investigation report on the dimensional energy.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Tarti:<br>
Go to the Dimensional Rift or Dimensional Crack and collect the <font color="LEVEL">50 Fragments of Dimensional</font>.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Tarti:<br>
You collected all the Fragments of Dimensional Energy? You're really amazing.<br>
Ah! If you have any Faction Amity Tokens, give it me. I can help you get some additional rewards<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-07.html">"Here are the fragments."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-07.html">"Here are the fragments and the Faction Amity Token."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Thanks.I've been writhing the investigation report on the Fragment of Dimensional Energy. There are too many things to report. would you keep these records until I file them all?<br>
See you tomorrow.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Tarti:<br>
I know you want to continue to work with me, but I've already completed the dimension investigation that I promised with the Unworldly Visitors. I'll let you know when I need you.
</body></html>

View File

@ -0,0 +1,166 @@
/*
* 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.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.enums.QuestType;
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;
import quests.Q10571_StrategicReconciliation.Q10571_StrategicReconciliation;
/**
* Dimensional Exploration of the Unworldly Visitors (738)
* @URL https://l2wiki.com/Dimensional_Exploration_of_the_Unworldly_Visitors
* @VIDEO https://www.youtube.com/watch?v=NBvHfIzHh_o
* @author Gigi
* @date 2019-08-27 - [20:08:40]
*/
public class Q00738_DimensionalExplorationOfTheUnworldlyVisitors extends Quest
{
// NPCs
private static final int TARTI = 34360;
// Monsters
private static final int[] MONSTERS =
{
// Dimensional Crack
23755, // Wandering Dead of the Dimension
23757, // Lost Soul of the Dimension
23759, // Roaming Vengeance of the Dimension
23760, // Dimensional Vagabond
23761, // Dimension Dissolver
// Dimensional Rift quest monsters
23806, // Wandering Dead of the Dimension
23807, // Wandering Dimensional Spirit
23808, // Lost Soul of the Dimension
23809, // Lost Dimensional Evil Thoughts
23810 // Roaming Vengeance of the Dimension
};
// Items
private static final int DIMENSIONAL_ENERGY_FRAGMENT = 48163;
private static final int DIMENSIONAL_EXPLORATION_REPORT = 48164;
// Misc
private static final int MIN_LEVEL = 95;
private static final int MAX_LEVEL = 106;
public Q00738_DimensionalExplorationOfTheUnworldlyVisitors()
{
super(738);
addStartNpc(TARTI);
addTalkId(TARTI);
addKillId(MONSTERS);
registerQuestItems(DIMENSIONAL_ENERGY_FRAGMENT);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "34360-00.htm");
addCondCompletedQuest(Q10571_StrategicReconciliation.class.getSimpleName(), "34360-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34360-02.htm":
case "34360-03.htm":
{
htmltext = event;
break;
}
case "34360-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34360-07.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
giveItems(player, DIMENSIONAL_EXPLORATION_REPORT, 1);
addExpAndSp(player, 5_379_299_640L, 5_379_210);
addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 100);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
switch (qs.getState())
{
case State.COMPLETED:
{
if (!qs.isNowAvailable())
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
break;
}
qs.setState(State.CREATED);
}
case State.CREATED:
{
if (getQuestItemsCount(player, DIMENSIONAL_EXPLORATION_REPORT) == 10)
{
htmltext = "34360-08.html";
break;
}
htmltext = "34360-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34360-05.html" : "34360-06.html";
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && (qs.isCond(1)))
{
if (giveItemRandomly(killer, npc, DIMENSIONAL_ENERGY_FRAGMENT, 1, 50, 0.5, true))
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -165,6 +165,7 @@ import quests.Q00670_DefeatingTheLordOfSeed.Q00670_DefeatingTheLordOfSeed;
import quests.Q00688_DefeatTheElrokianRaiders.Q00688_DefeatTheElrokianRaiders; import quests.Q00688_DefeatTheElrokianRaiders.Q00688_DefeatTheElrokianRaiders;
import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness; import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness; import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00738_DimensionalExplorationOfTheUnworldlyVisitors.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits; import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret; import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis; import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
@ -650,7 +651,7 @@ public class QuestMasterHandler
Q00726_LightWithinTheDarkness.class, Q00726_LightWithinTheDarkness.class,
Q00727_HopeWithinTheDarkness.class, Q00727_HopeWithinTheDarkness.class,
Q00737_ASwordHiddenInASmile.class, // TODO: Not done. Q00737_ASwordHiddenInASmile.class, // TODO: Not done.
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class, // TODO: Not done. Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class,
Q00743_AtTheAltarOfOblivion.class, // TODO: Not done. Q00743_AtTheAltarOfOblivion.class, // TODO: Not done.
Q00744_TheAlligatorHunterReturns.class, // TODO: Not done. Q00744_TheAlligatorHunterReturns.class, // TODO: Not done.
Q00745_TheOutlawsAreIncoming.class, // TODO: Not done. Q00745_TheOutlawsAreIncoming.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 Q00738_DimensionalExplorationOfTheUnworldlyVisitors extends Quest
{
private static final int START_NPC = 34359;
public Q00738_DimensionalExplorationOfTheUnworldlyVisitors()
{
super(738);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -86,7 +86,6 @@
735 Red Libra Request - Embryo Command Post 735 Red Libra Request - Embryo Command Post
736 Red Libra Request - Altar of Shilen 736 Red Libra Request - Altar of Shilen
737 A Sword Hidden in a Smile 737 A Sword Hidden in a Smile
738 Dimensional Exploration of the Unworldly Visitors
743 At the Altar of Oblivion 743 At the Altar of Oblivion
744 The Alligator Hunter returns 744 The Alligator Hunter returns
745 The Outlaws are Incoming 745 The Outlaws are Incoming

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
I'm afraid you're not ready to deal with the Unworldly Visitors. Come back once you are strong enough to fight them.<br>
(This quest is only available for those characters of level 95 or higher who have completed "Strategic Reconciliation.")
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Oh, you've back! Great. I've been waiting for you to complete what you helped with last time.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-02.htm">"Go on."</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tarti:<br>
I found the Dimensional Traces so easily. I don't understand why others failed. Well, they might not be as capable as I am.<br>
Anyway, I promised to investigate the dimensional energy for a while. See? If you work well, people don't leave you alone.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-03.htm">"I agree."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
I knew you'd understand me. Then, would you help me? Defeat monsters near the Dimensional Rift or Dimensional Crack and collect the Fragments of Dimensional Energy as you did before.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-04.htm">"Yes, sure."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Thanks. The strong recognize each other. Fight monsters that appear in the Dimensional rift or Dimensional Crack, and collect 50 Fragments of Dimensional Energy for me.<br>
You've done this before, so I don't need to explain the Dimensional Rift and Dimensional Crack again. I'll be waiting for you here as writing the investigation report on the dimensional energy.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Tarti:<br>
Go to the Dimensional Rift or Dimensional Crack and collect the <font color="LEVEL">50 Fragments of Dimensional</font>.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Tarti:<br>
You collected all the Fragments of Dimensional Energy? You're really amazing.<br>
Ah! If you have any Faction Amity Tokens, give it me. I can help you get some additional rewards<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-07.html">"Here are the fragments."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-07.html">"Here are the fragments and the Faction Amity Token."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Thanks.I've been writhing the investigation report on the Fragment of Dimensional Energy. There are too many things to report. would you keep these records until I file them all?<br>
See you tomorrow.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Tarti:<br>
I know you want to continue to work with me, but I've already completed the dimension investigation that I promised with the Unworldly Visitors. I'll let you know when I need you.
</body></html>

View File

@ -0,0 +1,166 @@
/*
* 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.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.enums.QuestType;
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;
import quests.Q10571_StrategicReconciliation.Q10571_StrategicReconciliation;
/**
* Dimensional Exploration of the Unworldly Visitors (738)
* @URL https://l2wiki.com/Dimensional_Exploration_of_the_Unworldly_Visitors
* @VIDEO https://www.youtube.com/watch?v=NBvHfIzHh_o
* @author Gigi
* @date 2019-08-27 - [20:08:40]
*/
public class Q00738_DimensionalExplorationOfTheUnworldlyVisitors extends Quest
{
// NPCs
private static final int TARTI = 34360;
// Monsters
private static final int[] MONSTERS =
{
// Dimensional Crack
23755, // Wandering Dead of the Dimension
23757, // Lost Soul of the Dimension
23759, // Roaming Vengeance of the Dimension
23760, // Dimensional Vagabond
23761, // Dimension Dissolver
// Dimensional Rift quest monsters
23806, // Wandering Dead of the Dimension
23807, // Wandering Dimensional Spirit
23808, // Lost Soul of the Dimension
23809, // Lost Dimensional Evil Thoughts
23810 // Roaming Vengeance of the Dimension
};
// Items
private static final int DIMENSIONAL_ENERGY_FRAGMENT = 48163;
private static final int DIMENSIONAL_EXPLORATION_REPORT = 48164;
// Misc
private static final int MIN_LEVEL = 95;
private static final int MAX_LEVEL = 106;
public Q00738_DimensionalExplorationOfTheUnworldlyVisitors()
{
super(738);
addStartNpc(TARTI);
addTalkId(TARTI);
addKillId(MONSTERS);
registerQuestItems(DIMENSIONAL_ENERGY_FRAGMENT);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "34360-00.htm");
addCondCompletedQuest(Q10571_StrategicReconciliation.class.getSimpleName(), "34360-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34360-02.htm":
case "34360-03.htm":
{
htmltext = event;
break;
}
case "34360-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34360-07.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
giveItems(player, DIMENSIONAL_EXPLORATION_REPORT, 1);
addExpAndSp(player, 5_379_299_640L, 5_379_210);
addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 100);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
switch (qs.getState())
{
case State.COMPLETED:
{
if (!qs.isNowAvailable())
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
break;
}
qs.setState(State.CREATED);
}
case State.CREATED:
{
if (getQuestItemsCount(player, DIMENSIONAL_EXPLORATION_REPORT) == 10)
{
htmltext = "34360-08.html";
break;
}
htmltext = "34360-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34360-05.html" : "34360-06.html";
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && (qs.isCond(1)))
{
if (giveItemRandomly(killer, npc, DIMENSIONAL_ENERGY_FRAGMENT, 1, 50, 0.5, true))
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -137,6 +137,7 @@ import quests.Q00663_SeductiveWhispers.Q00663_SeductiveWhispers;
import quests.Q00670_DefeatingTheLordOfSeed.Q00670_DefeatingTheLordOfSeed; import quests.Q00670_DefeatingTheLordOfSeed.Q00670_DefeatingTheLordOfSeed;
import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness; import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness; import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00738_DimensionalExplorationOfTheUnworldlyVisitors.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits; import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret; import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis; import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
@ -581,7 +582,7 @@ public class QuestMasterHandler
Q00726_LightWithinTheDarkness.class, Q00726_LightWithinTheDarkness.class,
Q00727_HopeWithinTheDarkness.class, Q00727_HopeWithinTheDarkness.class,
Q00737_ASwordHiddenInASmile.class, // TODO: Not done. Q00737_ASwordHiddenInASmile.class, // TODO: Not done.
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class, // TODO: Not done. Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class,
Q00743_AtTheAltarOfOblivion.class, // TODO: Not done. Q00743_AtTheAltarOfOblivion.class, // TODO: Not done.
Q00744_TheAlligatorHunterReturns.class, // TODO: Not done. Q00744_TheAlligatorHunterReturns.class, // TODO: Not done.
Q00745_TheOutlawsAreIncoming.class, // TODO: Not done. Q00745_TheOutlawsAreIncoming.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 Q00738_DimensionalExplorationOfTheUnworldlyVisitors extends Quest
{
private static final int START_NPC = 34359;
public Q00738_DimensionalExplorationOfTheUnworldlyVisitors()
{
super(738);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -95,7 +95,6 @@
735 Red Libra Request - Embryo Command Post 735 Red Libra Request - Embryo Command Post
736 Red Libra Request - Altar of Shilen 736 Red Libra Request - Altar of Shilen
737 A Sword Hidden in a Smile 737 A Sword Hidden in a Smile
738 Dimensional Exploration of the Unworldly Visitors
743 At the Altar of Oblivion 743 At the Altar of Oblivion
744 The Alligator Hunter returns 744 The Alligator Hunter returns
745 The Outlaws are Incoming 745 The Outlaws are Incoming

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
I'm afraid you're not ready to deal with the Unworldly Visitors. Come back once you are strong enough to fight them.<br>
(This quest is only available for those characters of level 95 or higher who have completed "Strategic Reconciliation.")
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Oh, you've back! Great. I've been waiting for you to complete what you helped with last time.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-02.htm">"Go on."</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tarti:<br>
I found the Dimensional Traces so easily. I don't understand why others failed. Well, they might not be as capable as I am.<br>
Anyway, I promised to investigate the dimensional energy for a while. See? If you work well, people don't leave you alone.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-03.htm">"I agree."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
I knew you'd understand me. Then, would you help me? Defeat monsters near the Dimensional Rift or Dimensional Crack and collect the Fragments of Dimensional Energy as you did before.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-04.htm">"Yes, sure."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Thanks. The strong recognize each other. Fight monsters that appear in the Dimensional rift or Dimensional Crack, and collect 50 Fragments of Dimensional Energy for me.<br>
You've done this before, so I don't need to explain the Dimensional Rift and Dimensional Crack again. I'll be waiting for you here as writing the investigation report on the dimensional energy.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Tarti:<br>
Go to the Dimensional Rift or Dimensional Crack and collect the <font color="LEVEL">50 Fragments of Dimensional</font>.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Tarti:<br>
You collected all the Fragments of Dimensional Energy? You're really amazing.<br>
Ah! If you have any Faction Amity Tokens, give it me. I can help you get some additional rewards<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-07.html">"Here are the fragments."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00738_DimensionalExplorationOfTheUnworldlyVisitors 34360-07.html">"Here are the fragments and the Faction Amity Token."</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Thanks.I've been writhing the investigation report on the Fragment of Dimensional Energy. There are too many things to report. would you keep these records until I file them all?<br>
See you tomorrow.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Tarti:<br>
I know you want to continue to work with me, but I've already completed the dimension investigation that I promised with the Unworldly Visitors. I'll let you know when I need you.
</body></html>

View File

@ -0,0 +1,166 @@
/*
* 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.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.enums.QuestType;
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;
import quests.Q10571_StrategicReconciliation.Q10571_StrategicReconciliation;
/**
* Dimensional Exploration of the Unworldly Visitors (738)
* @URL https://l2wiki.com/Dimensional_Exploration_of_the_Unworldly_Visitors
* @VIDEO https://www.youtube.com/watch?v=NBvHfIzHh_o
* @author Gigi
* @date 2019-08-27 - [20:08:40]
*/
public class Q00738_DimensionalExplorationOfTheUnworldlyVisitors extends Quest
{
// NPCs
private static final int TARTI = 34360;
// Monsters
private static final int[] MONSTERS =
{
// Dimensional Crack
23755, // Wandering Dead of the Dimension
23757, // Lost Soul of the Dimension
23759, // Roaming Vengeance of the Dimension
23760, // Dimensional Vagabond
23761, // Dimension Dissolver
// Dimensional Rift quest monsters
23806, // Wandering Dead of the Dimension
23807, // Wandering Dimensional Spirit
23808, // Lost Soul of the Dimension
23809, // Lost Dimensional Evil Thoughts
23810 // Roaming Vengeance of the Dimension
};
// Items
private static final int DIMENSIONAL_ENERGY_FRAGMENT = 48163;
private static final int DIMENSIONAL_EXPLORATION_REPORT = 48164;
// Misc
private static final int MIN_LEVEL = 95;
private static final int MAX_LEVEL = 106;
public Q00738_DimensionalExplorationOfTheUnworldlyVisitors()
{
super(738);
addStartNpc(TARTI);
addTalkId(TARTI);
addKillId(MONSTERS);
registerQuestItems(DIMENSIONAL_ENERGY_FRAGMENT);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "34360-00.htm");
addCondCompletedQuest(Q10571_StrategicReconciliation.class.getSimpleName(), "34360-00.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "34360-02.htm":
case "34360-03.htm":
{
htmltext = event;
break;
}
case "34360-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34360-07.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
giveItems(player, DIMENSIONAL_EXPLORATION_REPORT, 1);
addExpAndSp(player, 5_379_299_640L, 5_379_210);
addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 100);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
switch (qs.getState())
{
case State.COMPLETED:
{
if (!qs.isNowAvailable())
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
break;
}
qs.setState(State.CREATED);
}
case State.CREATED:
{
if (getQuestItemsCount(player, DIMENSIONAL_EXPLORATION_REPORT) == 10)
{
htmltext = "34360-08.html";
break;
}
htmltext = "34360-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34360-05.html" : "34360-06.html";
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && (qs.isCond(1)))
{
if (giveItemRandomly(killer, npc, DIMENSIONAL_ENERGY_FRAGMENT, 1, 50, 0.5, true))
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -137,6 +137,7 @@ import quests.Q00663_SeductiveWhispers.Q00663_SeductiveWhispers;
import quests.Q00670_DefeatingTheLordOfSeed.Q00670_DefeatingTheLordOfSeed; import quests.Q00670_DefeatingTheLordOfSeed.Q00670_DefeatingTheLordOfSeed;
import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness; import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness; import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00738_DimensionalExplorationOfTheUnworldlyVisitors.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits; import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret; import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis; import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
@ -600,7 +601,7 @@ public class QuestMasterHandler
Q00726_LightWithinTheDarkness.class, Q00726_LightWithinTheDarkness.class,
Q00727_HopeWithinTheDarkness.class, Q00727_HopeWithinTheDarkness.class,
Q00737_ASwordHiddenInASmile.class, // TODO: Not done. Q00737_ASwordHiddenInASmile.class, // TODO: Not done.
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class, // TODO: Not done. Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class,
Q00743_AtTheAltarOfOblivion.class, // TODO: Not done. Q00743_AtTheAltarOfOblivion.class, // TODO: Not done.
Q00744_TheAlligatorHunterReturns.class, // TODO: Not done. Q00744_TheAlligatorHunterReturns.class, // TODO: Not done.
Q00745_TheOutlawsAreIncoming.class, // TODO: Not done. Q00745_TheOutlawsAreIncoming.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 Q00738_DimensionalExplorationOfTheUnworldlyVisitors extends Quest
{
private static final int START_NPC = 34359;
public Q00738_DimensionalExplorationOfTheUnworldlyVisitors()
{
super(738);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}