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
@@ -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
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -0,0 +1,3 @@
<html><body>Tarti:<br>
You did a great job. I may need your help again soon</font>.
</body></html>
@@ -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);
}
}
@@ -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,
@@ -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));
}
}
@@ -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. -->