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
736 Red Libra Request - Altar of Shilen
737 A Sword Hidden in a Smile
738 Dimensional Exploration of the Unworldly Visitors
743 At the Altar of Oblivion
744 The Alligator Hunter returns
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.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00738_DimensionalExplorationOfTheUnworldlyVisitors.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
@ -650,7 +651,7 @@ public class QuestMasterHandler
Q00726_LightWithinTheDarkness.class,
Q00727_HopeWithinTheDarkness.class,
Q00737_ASwordHiddenInASmile.class, // TODO: Not done.
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class, // TODO: Not done.
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class,
Q00743_AtTheAltarOfOblivion.class, // TODO: Not done.
Q00744_TheAlligatorHunterReturns.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
736 Red Libra Request - Altar of Shilen
737 A Sword Hidden in a Smile
738 Dimensional Exploration of the Unworldly Visitors
743 At the Altar of Oblivion
744 The Alligator Hunter returns
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.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00738_DimensionalExplorationOfTheUnworldlyVisitors.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
@ -581,7 +582,7 @@ public class QuestMasterHandler
Q00726_LightWithinTheDarkness.class,
Q00727_HopeWithinTheDarkness.class,
Q00737_ASwordHiddenInASmile.class, // TODO: Not done.
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class, // TODO: Not done.
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class,
Q00743_AtTheAltarOfOblivion.class, // TODO: Not done.
Q00744_TheAlligatorHunterReturns.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
736 Red Libra Request - Altar of Shilen
737 A Sword Hidden in a Smile
738 Dimensional Exploration of the Unworldly Visitors
743 At the Altar of Oblivion
744 The Alligator Hunter returns
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.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00738_DimensionalExplorationOfTheUnworldlyVisitors.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
@ -600,7 +601,7 @@ public class QuestMasterHandler
Q00726_LightWithinTheDarkness.class,
Q00727_HopeWithinTheDarkness.class,
Q00737_ASwordHiddenInASmile.class, // TODO: Not done.
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class, // TODO: Not done.
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class,
Q00743_AtTheAltarOfOblivion.class, // TODO: Not done.
Q00744_TheAlligatorHunterReturns.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));
}
}