Addition of quest Strategic Reconciliation (10571).

Contributed by gigilo1968.
This commit is contained in:
MobiusDevelopment 2019-08-28 10:47:42 +00:00
parent c49b77b31c
commit a114a354c7
39 changed files with 573 additions and 114 deletions

View File

@ -181,7 +181,6 @@
10568 Kamael's Technological Advancement
10569 Declaration of War
10570 Hurrah for Kamael's Independence
10571 Strategic Reconciliation
10572 To Expel the Embryo's Forces
10574 Special Mission: Fortuna
10580 Special Mission: Defeat Spezion

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
You aren't strong enough to work for me and the Unworldly Visitors. You must get stronger.<br>
(Only characters above Lv. 95.)
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tarti:<br>
Oh! You came to help with the Unworldly Visitors work?<br>
Glad to see you. Do you know just how great my skills are?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-02.htm">"What do you mean?"</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tarti:<br>
Well, no Ertheia is like me. Can't you see? Anyway, Queen Navari and Ferin, the leader of Unworldly Visitors. visited me a while ago.<br>
I was really surprised to see them together.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-03.htm">"Is there a problem with that?"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Of course! They are not in good terms. They wouldn't be together unless there was a serious problem. I was a little nervous, but when they saw my abilities, they asked me to help their dimension research. It's an easy task. Well, it would be easier if you helped me.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-04.htm">"How can I help?"</button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Tarti:<br>
It's not much, it should be easy.<br>
See Ruine next to you? Ask Ruine to teleport you to a Dimensional Rift or Dimensional Crack. I've already told her to send you to wherever you want.<br>
It's said that Dimensional Rifts and Cracks were discovered after some problem, occurred in the dimension. They asked me to figure out what exactly happened there.
While sealing with monsters in the Dimensional Rift or Dimensional Crack, you can find Dimensional Traces. Gather them for me. Not so difficult for you, right?
</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 Dimensional Traces</font>.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Finished?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-07.html">"Yep."</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Tarti:<br>
You did a great job. I may need your help again soon</font>.
</body></html>

View File

@ -0,0 +1,152 @@
/*
* 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.Q10571_StrategicReconciliation;
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;
/**
* Strategic Reconciliation (10571).
* @URL https://l2wiki.com/Strategic_Reconciliation
* @Video https://www.youtube.com/watch?v=ULDdqe3aeHA
* @author Gigi
* @date 2019-08-27 - [22:53:03]
*/
public class Q10571_StrategicReconciliation 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
};
// Misc
private static final int MIN_LEVEL = 95;
private static final int MAX_LEVEL = 106;
// Items
private static final int DIMENSIONAL_TRACES = 48162;
public Q10571_StrategicReconciliation()
{
super(10571);
addStartNpc(TARTI);
addTalkId(TARTI);
addKillId(MONSTERS);
registerQuestItems(DIMENSIONAL_TRACES);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "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)
{
addExpAndSp(player, 10_758_599_280L, 10_758_420);
addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 100);
qs.exitQuest(QuestType.ONE_TIME, 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.CREATED:
{
htmltext = "34360-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34360-05.html" : "34360-06.html";
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
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_TRACES, 1, 50, 0.5, true))
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -355,6 +355,7 @@ import quests.Q10560_WayOfWanderingKnight.Q10560_WayOfWanderingKnight;
import quests.Q10561_AcrossTheDeathLine.Q10561_AcrossTheDeathLine;
import quests.Q10562_TakeUpArms.Q10562_TakeUpArms;
import quests.Q10566_BestChoice.Q10566_BestChoice;
import quests.Q10571_StrategicReconciliation.Q10571_StrategicReconciliation;
import quests.Q10575_LetsGoFishing.Q10575_LetsGoFishing;
import quests.Q10576_GlitteringWeapons.Q10576_GlitteringWeapons;
import quests.Q10577_TemperARustingBlade.Q10577_TemperARustingBlade;
@ -912,7 +913,7 @@ public class QuestMasterHandler
Q10568_KamaelsTechnologicalAdvancement.class, // TODO: Not done.
Q10569_DeclarationOfWar.class, // TODO: Not done.
Q10570_HurrahForKamaelsIndependence.class, // TODO: Not done.
Q10571_StrategicReconciliation.class, // TODO: Not done.
Q10571_StrategicReconciliation.class,
Q10572_ToExpelTheEmbryosForces.class, // TODO: Not done.
Q10574_SpecialMissionFortuna.class, // TODO: Not done.
Q10575_LetsGoFishing.class,

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10571_StrategicReconciliation extends Quest
{
private static final int START_NPC = 34359;
public Q10571_StrategicReconciliation()
{
super(10571);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -833,6 +833,7 @@
<set name="is_depositable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_questitem" val="true" />
</item>
<item id="48163" name="Dimensional Energy Fragment" type="EtcItem">
<!-- Fragments of the dimensional energy obtained in the Dimensional Rift and Dimensional Crack after receiving Tarti's advice. Gather them and take them to Tarti. -->
@ -844,6 +845,7 @@
<set name="is_depositable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_questitem" val="true" />
</item>
<item id="48164" name="Dimensional Exploration Report" type="EtcItem">
<!-- A report by Tarti on the status of the dimensional exploration. -->
@ -855,6 +857,7 @@
<set name="is_depositable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_questitem" val="true" />
</item>
<item id="48165" name="Proof of Freedom" type="EtcItem">
<!-- Proof obtained after defeating a giant who, under the orders of Mimir, came to find the Giant Trackers who planned to betray the giants. -->

View File

@ -193,7 +193,6 @@
10568 Kamael's Technological Advancement
10569 Declaration of War
10570 Hurrah for Kamael's Independence
10571 Strategic Reconciliation
10572 To Expel the Embryo's Forces
10574 Special Mission: Fortuna
10580 Special Mission: Defeat Spezion

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
You aren't strong enough to work for me and the Unworldly Visitors. You must get stronger.<br>
(Only characters above Lv. 95.)
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tarti:<br>
Oh! You came to help with the Unworldly Visitors work?<br>
Glad to see you. Do you know just how great my skills are?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-02.htm">"What do you mean?"</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tarti:<br>
Well, no Ertheia is like me. Can't you see? Anyway, Queen Navari and Ferin, the leader of Unworldly Visitors. visited me a while ago.<br>
I was really surprised to see them together.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-03.htm">"Is there a problem with that?"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Of course! They are not in good terms. They wouldn't be together unless there was a serious problem. I was a little nervous, but when they saw my abilities, they asked me to help their dimension research. It's an easy task. Well, it would be easier if you helped me.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-04.htm">"How can I help?"</button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Tarti:<br>
It's not much, it should be easy.<br>
See Ruine next to you? Ask Ruine to teleport you to a Dimensional Rift or Dimensional Crack. I've already told her to send you to wherever you want.<br>
It's said that Dimensional Rifts and Cracks were discovered after some problem, occurred in the dimension. They asked me to figure out what exactly happened there.
While sealing with monsters in the Dimensional Rift or Dimensional Crack, you can find Dimensional Traces. Gather them for me. Not so difficult for you, right?
</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 Dimensional Traces</font>.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Finished?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-07.html">"Yep."</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Tarti:<br>
You did a great job. I may need your help again soon</font>.
</body></html>

View File

@ -0,0 +1,152 @@
/*
* 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.Q10571_StrategicReconciliation;
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;
/**
* Strategic Reconciliation (10571).
* @URL https://l2wiki.com/Strategic_Reconciliation
* @Video https://www.youtube.com/watch?v=ULDdqe3aeHA
* @author Gigi
* @date 2019-08-27 - [22:53:03]
*/
public class Q10571_StrategicReconciliation 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
};
// Misc
private static final int MIN_LEVEL = 95;
private static final int MAX_LEVEL = 106;
// Items
private static final int DIMENSIONAL_TRACES = 48162;
public Q10571_StrategicReconciliation()
{
super(10571);
addStartNpc(TARTI);
addTalkId(TARTI);
addKillId(MONSTERS);
registerQuestItems(DIMENSIONAL_TRACES);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "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)
{
addExpAndSp(player, 10_758_599_280L, 10_758_420);
addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 100);
qs.exitQuest(QuestType.ONE_TIME, 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.CREATED:
{
htmltext = "34360-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34360-05.html" : "34360-06.html";
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
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_TRACES, 1, 50, 0.5, true))
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -309,6 +309,7 @@ import quests.Q10560_WayOfWanderingKnight.Q10560_WayOfWanderingKnight;
import quests.Q10561_AcrossTheDeathLine.Q10561_AcrossTheDeathLine;
import quests.Q10562_TakeUpArms.Q10562_TakeUpArms;
import quests.Q10566_BestChoice.Q10566_BestChoice;
import quests.Q10571_StrategicReconciliation.Q10571_StrategicReconciliation;
import quests.Q10575_LetsGoFishing.Q10575_LetsGoFishing;
import quests.Q10576_GlitteringWeapons.Q10576_GlitteringWeapons;
import quests.Q10577_TemperARustingBlade.Q10577_TemperARustingBlade;
@ -825,7 +826,7 @@ public class QuestMasterHandler
Q10568_KamaelsTechnologicalAdvancement.class, // TODO: Not done.
Q10569_DeclarationOfWar.class, // TODO: Not done.
Q10570_HurrahForKamaelsIndependence.class, // TODO: Not done.
Q10571_StrategicReconciliation.class, // TODO: Not done.
Q10571_StrategicReconciliation.class,
Q10572_ToExpelTheEmbryosForces.class, // TODO: Not done.
Q10574_SpecialMissionFortuna.class, // TODO: Not done.
Q10575_LetsGoFishing.class,

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10571_StrategicReconciliation extends Quest
{
private static final int START_NPC = 34359;
public Q10571_StrategicReconciliation()
{
super(10571);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -833,6 +833,7 @@
<set name="is_depositable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_questitem" val="true" />
</item>
<item id="48163" name="Dimensional Energy Fragment" type="EtcItem">
<!-- Fragments of the dimensional energy obtained in the Dimensional Rift and Dimensional Crack after receiving Tarti's advice. Gather them and take them to Tarti. -->
@ -844,6 +845,7 @@
<set name="is_depositable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_questitem" val="true" />
</item>
<item id="48164" name="Dimensional Exploration Report" type="EtcItem">
<!-- A report by Tarti on the status of the dimensional exploration. -->
@ -855,6 +857,7 @@
<set name="is_depositable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_questitem" val="true" />
</item>
<item id="48165" name="Clues of Liberty" type="EtcItem">
<!-- Proof obtained after defeating a giant who, under the orders of Mimir, came to find the Giant Trackers who planned to betray the giants. -->

View File

@ -199,7 +199,6 @@
10568 Kamael's Technological Advancement
10569 Declaration of War
10570 Hurrah for Kamael's Independence
10571 Strategic Reconciliation
10572 To Expel the Embryo's Forces
10577 Temper a Rusting Blade
10578 The Soul of a Sword

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
You aren't strong enough to work for me and the Unworldly Visitors. You must get stronger.<br>
(Only characters above Lv. 95.)
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tarti:<br>
Oh! You came to help with the Unworldly Visitors work?<br>
Glad to see you. Do you know just how great my skills are?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-02.htm">"What do you mean?"</button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Tarti:<br>
Well, no Ertheia is like me. Can't you see? Anyway, Queen Navari and Ferin, the leader of Unworldly Visitors. visited me a while ago.<br>
I was really surprised to see them together.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-03.htm">"Is there a problem with that?"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Of course! They are not in good terms. They wouldn't be together unless there was a serious problem. I was a little nervous, but when they saw my abilities, they asked me to help their dimension research. It's an easy task. Well, it would be easier if you helped me.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-04.htm">"How can I help?"</button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Tarti:<br>
It's not much, it should be easy.<br>
See Ruine next to you? Ask Ruine to teleport you to a Dimensional Rift or Dimensional Crack. I've already told her to send you to wherever you want.<br>
It's said that Dimensional Rifts and Cracks were discovered after some problem, occurred in the dimension. They asked me to figure out what exactly happened there.
While sealing with monsters in the Dimensional Rift or Dimensional Crack, you can find Dimensional Traces. Gather them for me. Not so difficult for you, right?
</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 Dimensional Traces</font>.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Tarti:<br>
Finished?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10571_StrategicReconciliation 34360-07.html">"Yep."</button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Tarti:<br>
You did a great job. I may need your help again soon</font>.
</body></html>

View File

@ -0,0 +1,152 @@
/*
* 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.Q10571_StrategicReconciliation;
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;
/**
* Strategic Reconciliation (10571).
* @URL https://l2wiki.com/Strategic_Reconciliation
* @Video https://www.youtube.com/watch?v=ULDdqe3aeHA
* @author Gigi
* @date 2019-08-27 - [22:53:03]
*/
public class Q10571_StrategicReconciliation 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
};
// Misc
private static final int MIN_LEVEL = 95;
private static final int MAX_LEVEL = 106;
// Items
private static final int DIMENSIONAL_TRACES = 48162;
public Q10571_StrategicReconciliation()
{
super(10571);
addStartNpc(TARTI);
addTalkId(TARTI);
addKillId(MONSTERS);
registerQuestItems(DIMENSIONAL_TRACES);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "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)
{
addExpAndSp(player, 10_758_599_280L, 10_758_420);
addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 100);
qs.exitQuest(QuestType.ONE_TIME, 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.CREATED:
{
htmltext = "34360-01.htm";
break;
}
case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "34360-05.html" : "34360-06.html";
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
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_TRACES, 1, 50, 0.5, true))
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -308,6 +308,7 @@ import quests.Q10560_WayOfWanderingKnight.Q10560_WayOfWanderingKnight;
import quests.Q10561_AcrossTheDeathLine.Q10561_AcrossTheDeathLine;
import quests.Q10562_TakeUpArms.Q10562_TakeUpArms;
import quests.Q10566_BestChoice.Q10566_BestChoice;
import quests.Q10571_StrategicReconciliation.Q10571_StrategicReconciliation;
import quests.Q10575_LetsGoFishing.Q10575_LetsGoFishing;
import quests.Q10576_GlitteringWeapons.Q10576_GlitteringWeapons;
import quests.Q10577_TemperARustingBlade.Q10577_TemperARustingBlade;
@ -847,7 +848,7 @@ public class QuestMasterHandler
Q10568_KamaelsTechnologicalAdvancement.class, // TODO: Not done.
Q10569_DeclarationOfWar.class, // TODO: Not done.
Q10570_HurrahForKamaelsIndependence.class, // TODO: Not done.
Q10571_StrategicReconciliation.class, // TODO: Not done.
Q10571_StrategicReconciliation.class,
Q10572_ToExpelTheEmbryosForces.class, // TODO: Not done.
Q10575_LetsGoFishing.class,
Q10576_GlitteringWeapons.class,

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10571_StrategicReconciliation extends Quest
{
private static final int START_NPC = 34359;
public Q10571_StrategicReconciliation()
{
super(10571);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -833,6 +833,7 @@
<set name="is_depositable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_questitem" val="true" />
</item>
<item id="48163" name="Dimensional Energy Fragment" type="EtcItem">
<!-- Fragments of the dimensional energy obtained in the Dimensional Rift and Dimensional Crack after receiving Tarti's advice. Gather them and take them to Tarti. -->
@ -844,6 +845,7 @@
<set name="is_depositable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_questitem" val="true" />
</item>
<item id="48164" name="Dimensional Exploration Report" type="EtcItem">
<!-- A report by Tarti on the status of the dimensional exploration. -->
@ -855,6 +857,7 @@
<set name="is_depositable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_questitem" val="true" />
</item>
<item id="48165" name="Clues of Liberty" type="EtcItem">
<!-- Proof obtained after defeating a giant who, under the orders of Mimir, came to find the Giant Trackers who planned to betray the giants. -->