Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: dist/game/data/scripts/quests/QuestMasterHandler.java
- ===================================================================
- --- dist/game/data/scripts/quests/QuestMasterHandler.java (revision 8524)
- +++ dist/game/data/scripts/quests/QuestMasterHandler.java (working copy)
- @@ -52,6 +52,12 @@
- import quests.Q10823_ExaltedOneWhoShattersTheLimit.Q10823_ExaltedOneWhoShattersTheLimit;
- import quests.Q10873_ExaltedReachingAnotherLevel.Q10873_ExaltedReachingAnotherLevel;
- import quests.Q10879_ExaltedGuideToPower.Q10879_ExaltedGuideToPower;
- +import quests.Q10885_SaviorsPathDiscovery.Q10885_SaviorsPathDiscovery;
- +import quests.Q10886_SaviorsPathSearchTheRefinery.Q10886_SaviorsPathSearchTheRefinery;
- +import quests.Q10887_SaviorsPathDemonsAndAtelia.Q10887_SaviorsPathDemonsAndAtelia;
- +import quests.Q10888_SaviorsPathDefeatTheEmbryo.Q10888_SaviorsPathDefeatTheEmbryo;
- +import quests.Q10889_SaviorsPathFallenEmperorsThrone.Q10889_SaviorsPathFallenEmperorsThrone;
- +import quests.Q10890_SaviorsPathHallOfEtina.Q10890_SaviorsPathHallOfEtina;
- import quests.Q11024_PathOfDestinyBeginning.Q11024_PathOfDestinyBeginning;
- import quests.Q11025_PathOfDestinyProving.Q11025_PathOfDestinyProving;
- import quests.Q11026_PathOfDestinyConviction.Q11026_PathOfDestinyConviction;
- @@ -67,11 +73,6 @@
- import quests.not_done.Q01901_StormIsleFurtiveDeal;
- import quests.not_done.Q10595_TheDimensionalWarpPart8;
- import quests.not_done.Q10596_TheDimensionalWarpPart9;
- -import quests.not_done.Q10886_SaviorsPathSearchTheRefinery;
- -import quests.not_done.Q10887_SaviorsPathDemonsAndAtelia;
- -import quests.not_done.Q10888_SaviorsPathDefeatTheEmbryo;
- -import quests.not_done.Q10889_SaviorsPathFallenEmperorsThrone;
- -import quests.not_done.Q10890_SaviorsPathFallOfEtina;
- /**
- * @author NosBit
- @@ -126,11 +127,12 @@
- Q10823_ExaltedOneWhoShattersTheLimit.class,
- Q10873_ExaltedReachingAnotherLevel.class,
- Q10879_ExaltedGuideToPower.class,
- - Q10886_SaviorsPathSearchTheRefinery.class, // TODO: Not done.
- - Q10887_SaviorsPathDemonsAndAtelia.class, // TODO: Not done.
- - Q10888_SaviorsPathDefeatTheEmbryo.class, // TODO: Not done.
- - Q10889_SaviorsPathFallenEmperorsThrone.class, // TODO: Not done.
- - Q10890_SaviorsPathFallOfEtina.class, // TODO: Not done.
- + Q10885_SaviorsPathDiscovery.class,
- + Q10886_SaviorsPathSearchTheRefinery.class,
- + Q10887_SaviorsPathDemonsAndAtelia.class,
- + Q10888_SaviorsPathDefeatTheEmbryo.class,
- + Q10889_SaviorsPathFallenEmperorsThrone.class,
- + Q10890_SaviorsPathHallOfEtina.class,
- Q11024_PathOfDestinyBeginning.class,
- Q11025_PathOfDestinyProving.class,
- Q11026_PathOfDestinyConviction.class,
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-00.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Verdure Elder Elikia:<br>
- +Hello, adventrurer!<br>
- +I have no news for you. There's nothing I can tell you.<br>
- +(Available to characters of Lv. 103+ after the Awakening or the Liberation.)<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-01.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Verdure Elder Elikia:<br>
- +Have you brought me the message from Leona Blackbird?
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10885_SaviorsPathDiscovery 34057-03.html">"Yes, here it is."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-02.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-02.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-02.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Verdure Elder Elikia:<br>
- +I don't see any message from Leona Blackbird, make sure you bring that to me.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-03.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-03.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-03.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Verdure Elder Elikia:<br>
- +Great! You have brought it, now let me read it.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-04.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-04.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-04.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Verdure Elder Elikia:<br>
- +I've read the message from Leona Blackbird you should go see her to tell you what you have to do.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10885_SaviorsPathDiscovery 34057-05.html">"Ok, I'll go."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34057-05.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Verdure Elder Elikia:<br>
- +Leona Blackbird is waiting for you at Atelia Refinery entrance.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34425-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34425-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34425-01.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Nice to meet you at last, although this may not be our first encounter. I have so much to tell you about what I found from this place.<br>
- +If this plan works, we'll be able to down Etis van Etina for sure.<br>
- +I will tell you what we must work on together. Are you ready?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10885_SaviorsPathDiscovery 34425-03.html">"I am ready."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34425-02.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34425-02.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34425-02.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Hello, Dr. Chaos' office! How may I help you?<br>
- +This is a restricted area and I can't explain what's going on in here to those who are unidentified.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34425-03.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34425-03.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/34425-03.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Then let's talk about the plan to take down Etis van Etina and bring peace to the material world. Please speak to me once all preparations are done.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/Message.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/Message.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/Message.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Message:<br>
- +You received a message from Leona Blackbird, this means you can start Savior's Path quests.<br>
- +To learn more, go to Blackbird Campsite and talk to Elikia.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10885_SaviorsPathDiscovery closeMessage">"Close message."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/Q10885_SaviorsPathDiscovery.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/Q10885_SaviorsPathDiscovery.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10885_SaviorsPathDiscovery/Q10885_SaviorsPathDiscovery.java (working copy)
- @@ -0,0 +1,237 @@
- +/*
- + * 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.Q10885_SaviorsPathDiscovery;
- +
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +import org.l2jmobius.gameserver.model.actor.Npc;
- +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
- +import org.l2jmobius.gameserver.model.events.EventType;
- +import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
- +import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
- +import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
- +import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerBypass;
- +import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged;
- +import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
- +import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerPressTutorialMark;
- +import org.l2jmobius.gameserver.model.quest.Quest;
- +import org.l2jmobius.gameserver.model.quest.QuestState;
- +import org.l2jmobius.gameserver.model.quest.State;
- +import org.l2jmobius.gameserver.network.NpcStringId;
- +import org.l2jmobius.gameserver.network.SystemMessageId;
- +import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
- +import org.l2jmobius.gameserver.network.serverpackets.TutorialCloseHtml;
- +import org.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
- +import org.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
- +
- +/**
- + * Savior's Path - Discovery (10885)
- + * @URL https://l2wiki.com/Savior%27s_Path_-_Discovery
- + * @author CostyKiller
- + */
- +public class Q10885_SaviorsPathDiscovery extends Quest
- +{
- + // Npcs
- + private static final int LEONA_BLACKBIRD = 34425;
- + private static final int ELIKIA = 34057;
- + // Items
- + private static final int LEONA_BLACKBIRDS_MESSAGE = 48545;
- + // Misc
- + private static final int MIN_LEVEL = 103;
- + private final NpcStringId _startMessage = NpcStringId.A_MESSAGE_HAS_ARRIVED_FROM_LEONA_BLACKBIRD_NCLICK_THE_QUESTION_MARK_ICON_TO_READ_IT;
- +
- + public Q10885_SaviorsPathDiscovery()
- + {
- + super(10885);
- + addTalkId(LEONA_BLACKBIRD, ELIKIA);
- + addCondMinLevel(MIN_LEVEL, "34425-00.html");
- + registerQuestItems(LEONA_BLACKBIRDS_MESSAGE);
- + }
- +
- + @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 "34057-03.html":
- + {
- + if (qs.isCond(1) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE))
- + {
- + qs.setCond(2);
- + }
- + htmltext = event;
- + break;
- + }
- + case "34057-05.html":
- + {
- + if (qs.isCond(2) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE))
- + {
- + qs.setCond(3);
- + }
- + htmltext = event;
- + break;
- + }
- + case "34425-03.html":
- + {
- + if (qs.isCond(3) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + addExpAndSp(player, 906387492, 906387);
- + qs.exitQuest(false, true);
- + htmltext = event;
- + }
- + else
- + {
- + htmltext = getNoQuestLevelRewardMsg(player);
- + }
- + break;
- + }
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onTalk(Npc npc, PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, true);
- + String htmltext = getNoQuestMsg(player);
- + switch (qs.getState())
- + {
- + case State.STARTED:
- + {
- + switch (npc.getId())
- + {
- + case LEONA_BLACKBIRD:
- + {
- + if (qs.isCond(3) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE))
- + {
- + htmltext = "34425-01.htm";
- + }
- + else
- + {
- + htmltext = "34425-02.html";
- + }
- + break;
- + }
- + case ELIKIA:
- + {
- + if (qs.isCond(1))
- + {
- + if (hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE))
- + {
- + htmltext = "34057-01.htm";
- + }
- + else
- + {
- + htmltext = "34057-02.html";
- + }
- + }
- + else if (qs.isCond(2) && hasQuestItems(player, LEONA_BLACKBIRDS_MESSAGE))
- + {
- + htmltext = "34057-04.htm";
- + }
- + break;
- + }
- + }
- + break;
- + }
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- + }
- +
- + @RegisterEvent(EventType.ON_PLAYER_PRESS_TUTORIAL_MARK)
- + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
- + public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event)
- + {
- + final PlayerInstance player = event.getPlayer();
- + if ((event.getMarkId() == getId()) && canStartQuest(player))
- + {
- + final String html = getHtm(player, "Message.html");
- + final QuestState qs = getQuestState(player, true);
- + qs.startQuest();
- + player.sendPacket(new TutorialShowHtml(html));
- + giveItems(player, LEONA_BLACKBIRDS_MESSAGE, 1);
- + }
- + }
- +
- + @RegisterEvent(EventType.ON_PLAYER_BYPASS)
- + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
- + public void OnPlayerBypass(OnPlayerBypass event)
- + {
- + if (event.getCommand().startsWith("Quest Q10885_SaviorsPathDiscovery "))
- + {
- + final String html = onAdvEvent(event.getCommand().substring(34), null, event.getPlayer());
- + event.getPlayer().sendPacket(TutorialCloseHtml.STATIC_PACKET);
- + showResult(event.getPlayer(), html);
- + }
- + }
- +
- + @RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
- + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
- + public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
- + {
- + final PlayerInstance player = event.getPlayer();
- + final QuestState qs = getQuestState(player, false);
- + if ((qs == null) && (event.getOldLevel() < event.getNewLevel()) && canStartQuest(player))
- + {
- + player.sendPacket(new TutorialShowQuestionMark(getId(), 0));
- + playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
- + showOnScreenMsg(player, _startMessage, ExShowScreenMessage.TOP_CENTER, 10000);
- + }
- + }
- +
- + @RegisterEvent(EventType.ON_PLAYER_LOGIN)
- + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
- + public void OnPlayerLogin(OnPlayerLogin event)
- + {
- + final PlayerInstance player = event.getPlayer();
- + if (player == null)
- + {
- + return;
- + }
- + final QuestState qs = getQuestState(player, false);
- + if ((qs == null) && (player.getLevel() > MIN_LEVEL))
- + {
- + player.sendPacket(new TutorialShowQuestionMark(getId(), 0));
- + playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
- + showOnScreenMsg(player, _startMessage, ExShowScreenMessage.TOP_CENTER, 10000);
- + }
- + }
- +
- + @Override
- + public void onQuestAborted(PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, true);
- + qs.startQuest();
- + giveItems(player, LEONA_BLACKBIRDS_MESSAGE, 1);
- + player.sendPacket(SystemMessageId.THIS_QUEST_CANNOT_BE_DELETED);
- + }
- +}
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Everything must be carried out with utmost caution. Your strength needs to be at a certain level, so please come back when you're stronger.<br>
- +(This quest is for characters Lv. 103 and higher who have completed the Savior's Path - Discovery quest.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-01.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Are you done preparing? Then let me give you a summary of what I've found out about the Atelia Refinery.<br>
- +This place was suspicious ever since Atelia Fortress was first built, but there was no way to reach it.<br>
- +First, I thought this was a base for Embryos to advance to Aden, but it seems it is playing some kind of a role regarding Etis van Etina's power even within Embryos.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10886_SaviorsPathSearchTheRefinery 34425-02.htm">"Go on."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-02.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +When Devianne and I investigated inside the refinery, we could sense a flow of powerful energy. Without a doubt, it indicates that this place is more than just a fortress for conquering the Aden Continent.<br>
- +However, I have not recovered my full strength yet so I could not search the entire Atelia Refinery throughly.<br>
- +I am looking for someone who is strong enough to investigate this place alone. I think you're up for the task, so how about it? Can you go investigate inside?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10886_SaviorsPathSearchTheRefinery 34425-03.htm">"What should I do?"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-03.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Thank you for agreeing to help. I need to tell you something about this task. There isn't a physical passage that leads to the Atelia Refinery.<br>
- +The only way to get inside the Atelia Refinery is by energy. There may be some passages inside Atelia Fortress but I was unable to find out.<br>
- +Fortunately, Devianne used her skills to create a teleport device that takes you inside the Atelia Refinery. Please speak to Devianne about getting inside.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10886_SaviorsPathSearchTheRefinery 34425-04.html">"Should I go talk to Devianne?"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-04.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Yes. Go speak to <font color="LEVEL">Devianne</font>.
- +Devianne will tell you how to get to the Atelia Refinery and what you must do there.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34425-05.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Go speak to <font color="LEVEL">Devianne</font>, she will tell you how to get to the Atelia Refinery and what you must do there.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-01.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Are you done talking to Leona? Did she really ask you to search inside the Atelia Refinery?<br>
- +Of course, if that's her decision, I have nothing against it. I'm just surprised, that's all.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10886_SaviorsPathSearchTheRefinery 34427-02.html">"It's true."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-02.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-02.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-02.html (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Truth Seeker Devianne:<br>
- +So she really did trust you with the search in the Atelia Refinery. Then allow me to tell you a few things I found out about this place.<br>
- +The inside of the Atelia Refinery is divided into a few areas, but you must check something before checking each area.<br>
- +You must find out about the identity of <font color="LEVEL">Atelia Yuyurina</font> and <font color="LEVEL">Atelia Popobena</font> in the hallways connected to each area. I think they might be receiving orders from Etis van Etina, so I need you to collect proof from them.<br>
- +Use the <font color="LEVEL">Atelia Refinery Teleport Device</font> I have installed to teleport to the <font color="LEVEL">inside of Atelia Refinery</font>, hunt Atelia Yuyurina and Atelia Popobena and collect <font color="LEVEL">Tokens of Etina</font> for me.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-03.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-03.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-03.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Use the <font color="LEVEL">Atelia Refinery Teleport Device</font> I have installed to teleport to the <font color="LEVEL">inside of Atelia Refinery</font>, hunt Atelia Yuyurina and Atelia Popobena and collect <font color="LEVEL">Tokens of Etina</font> for me.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-04.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-04.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-04.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Oh... you collected those <font color="LEVEL">Tokens of Etina</font> for me.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10886_SaviorsPathSearchTheRefinery 34427-05.html">"Yes, here they are."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/34427-05.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Great work.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/Q10886_SaviorsPathSearchTheRefinery.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/Q10886_SaviorsPathSearchTheRefinery.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10886_SaviorsPathSearchTheRefinery/Q10886_SaviorsPathSearchTheRefinery.java (working copy)
- @@ -0,0 +1,199 @@
- +/*
- + * 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.Q10886_SaviorsPathSearchTheRefinery;
- +
- +import org.l2jmobius.Config;
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +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.Q10885_SaviorsPathDiscovery.Q10885_SaviorsPathDiscovery;
- +
- +/**
- + * Savior's Path - Search the Refinery (10886)
- + * @URL https://l2wiki.com/Savior%27s_Path_-_Search_the_Refinery
- + * @author CostyKiller
- + */
- +public class Q10886_SaviorsPathSearchTheRefinery extends Quest
- +{
- + // Npcs
- + private static final int LEONA_BLACKBIRD = 34425;
- + private static final int DEVIANNE = 34427;
- + // Monsters
- + private static final int ATELIA_YUYURINA = 24159;
- + private static final int ATELIA_POPOBENA = 24160;
- + // Items
- + private static final int TOKEN_OF_ETINA = 48546;
- + // Misc
- + private static final int MIN_LEVEL = 103;
- + private static final int TOKEN_OF_ETINA_NEEDED = 20;
- +
- + public Q10886_SaviorsPathSearchTheRefinery()
- + {
- + super(10886);
- + addStartNpc(LEONA_BLACKBIRD);
- + addTalkId(LEONA_BLACKBIRD, DEVIANNE);
- + addKillId(ATELIA_YUYURINA, ATELIA_POPOBENA);
- + addCondMinLevel(MIN_LEVEL, "34425-00.html");
- + addCondCompletedQuest(Q10885_SaviorsPathDiscovery.class.getSimpleName(), "34425-00.html");
- + registerQuestItems(TOKEN_OF_ETINA);
- + }
- +
- + @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 "34425-02.htm":
- + case "34425-03.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34425-04.html":
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + qs.startQuest();
- + qs.setMemoState(1);
- + htmltext = event;
- + }
- + break;
- + }
- + case "34427-02.html":
- + {
- + if (qs.isCond(1))
- + {
- + qs.setCond(2);
- + }
- + htmltext = event;
- + break;
- + }
- + case "34427-05.html":
- + {
- + if (qs.isCond(3))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + addExpAndSp(player, 27191624760L, 27191610);
- + giveAdena(player, 3077301, true);
- + qs.exitQuest(false, true);
- + htmltext = event;
- + }
- + else
- + {
- + htmltext = getNoQuestLevelRewardMsg(player);
- + }
- + break;
- + }
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onTalk(Npc npc, PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, true);
- + String htmltext = getNoQuestMsg(player);
- + switch (qs.getState())
- + {
- + case State.CREATED:
- + {
- + htmltext = "34425-01.htm";
- + break;
- + }
- + case State.STARTED:
- + {
- + switch (npc.getId())
- + {
- + case LEONA_BLACKBIRD:
- + {
- + if (qs.isCond(1) && (qs.getMemoState() != 1))
- + {
- + htmltext = "34425-01.htm";
- + }
- + else
- + {
- + htmltext = "34425-05.html";
- + }
- + break;
- + }
- + case DEVIANNE:
- + {
- + if (qs.isCond(1))
- + {
- + htmltext = "34427-01.htm";
- + }
- + else if (qs.isCond(2) && (getQuestItemsCount(player, TOKEN_OF_ETINA) < TOKEN_OF_ETINA_NEEDED))
- + {
- + htmltext = "34427-03.html";
- + }
- + else if (qs.isCond(3) && (getQuestItemsCount(player, TOKEN_OF_ETINA) >= TOKEN_OF_ETINA_NEEDED))
- + {
- + htmltext = "34427-04.htm";
- + }
- + break;
- + }
- + }
- + break;
- + }
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
- + {
- + executeForEachPlayer(player, npc, isSummon, true, false);
- + return super.onKill(npc, player, isSummon);
- + }
- +
- + @Override
- + public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if ((qs != null) && qs.isCond(2) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
- + {
- + if (getQuestItemsCount(player, TOKEN_OF_ETINA) < TOKEN_OF_ETINA_NEEDED)
- + {
- + giveItems(player, TOKEN_OF_ETINA, 1);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + }
- + if (getQuestItemsCount(player, TOKEN_OF_ETINA) >= TOKEN_OF_ETINA_NEEDED)
- + {
- + qs.setCond(3, true);
- + }
- + }
- + }
- +}
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Everything must be carried out with utmost caution. Your strength needs to be at a certain level, so please come back when you're stronger.<br>
- +(This quest is for characters Lv. 103 and higher who have completed the Savior's Path - Search the Refinery quest.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-01.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Truth Seeker Devianne:<br>
- +I'm looking into why demons have appeared here. Do you want to hear what I have found out so far?<br>
- +If you've already heard my story, I could just brief you on what must be done.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10887_SaviorsPathDemonsAndAtelia 34427-02.htm">"Let me hear it."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-02.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Truth Seeker Devianne:<br>
- +This place is refining Dimensional Energy created from the Garden of Spirits into Dark Atelia.<br>
- +According to my sources, Dimensional Energy is very efficient food for demons. It can be refined to Dark Atelia of fine quality through a phenomenon which occurs when demons absorb it.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10887_SaviorsPathDemonsAndAtelia 34427-03.htm">"Go on."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-03.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Truth Seeker Devianne:<br>
- +It seems the demons and Embryos are working together for the common good. But we can interrupt them from refining Dimensional Energy into Dark Atelia by defeating demons.<br>
- +This mission is to stop demons from refining Dark Atelia using Dimensional Energy.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10887_SaviorsPathDemonsAndAtelia 34427-04.html">"Leave it to me."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-04.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Understood. Allow me to tell you what must be done.<br>
- +The first thing is to take out the demons. It's a simple yet efficient way to stopping them from refinement. <font color="LEVEL">Death Rogue, Death Shooter, Death Warrior, Death Sorcerer, Death Pondus, Devil Nightmare, Devil Warrior, Devil Guardian, Devil Sinist, Devil Varos, Demonic Wizard, Demonic Warrior, Demonic Archer, Demonic Keras, Demonic Weiss</font> are your targets. Hunt them down, collect <font color="LEVEL">500 Demon Slayer's Proof</font> and bring them to me.<br><br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-05.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Go inside <font color="LEVEL">Atelia Refinery</font> and bring me <font color="LEVEL">500 Demon Slayer's Proof</font>.<br>
- +Monsters to hunt:<font color="LEVEL">Death Rogue, Death Shooter, Death Warrior, Death Sorcerer, Death Pondus, Devil Nightmare, Devil Warrior, Devil Guardian, Devil Sinist, Devil Varos, Demonic Wizard, Demonic Warrior, Demonic Archer, Demonic Keras, Demonic Weiss</font>.<br><br>
- +Please slay the demons and stop them from refining Dark Atelia<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-06.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-06.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-06.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Oh! Have you decreased the number of demons?<br>
- +I just checked the data on the flow of energy through a device I installed in Atelia Refinery. So you did it?<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10887_SaviorsPathDemonsAndAtelia 34427-07.html">"Yes."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/34427-07.html (working copy)
- @@ -0,0 +1,7 @@
- +<html><body>Truth Seeker Devianne:<br>
- +I was able to collect the data I need thanks to you.<br>
- +The areas inside the refinery are divided into sectors which collect Dimensional Energy, refine them into Atelia, and convert refined Atelia into Dark Atelia.<br>
- +This raises another question. The flow of energy told me this much, but who is in charge of completing each process?<br>
- +Our final goal is the death of Etis van Etina but we still have a lot of work to do before we can achieve that.<br>
- +You've been a wonderful help so far but if you're willing to help us more, please talk to me after making preparations. I will tell you what must be done.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/Q10887_SaviorsPathDemonsAndAtelia.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/Q10887_SaviorsPathDemonsAndAtelia.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10887_SaviorsPathDemonsAndAtelia/Q10887_SaviorsPathDemonsAndAtelia.java (working copy)
- @@ -0,0 +1,207 @@
- +/*
- + * 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.Q10887_SaviorsPathDemonsAndAtelia;
- +
- +import java.util.HashSet;
- +import java.util.Set;
- +
- +import org.l2jmobius.Config;
- +import org.l2jmobius.commons.util.CommonUtil;
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +import org.l2jmobius.gameserver.model.actor.Npc;
- +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
- +import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
- +import org.l2jmobius.gameserver.model.quest.Quest;
- +import org.l2jmobius.gameserver.model.quest.QuestState;
- +import org.l2jmobius.gameserver.model.quest.State;
- +
- +import quests.Q10886_SaviorsPathSearchTheRefinery.Q10886_SaviorsPathSearchTheRefinery;
- +
- +/**
- + * Savior's Path - Demons and Atelia (10887)
- + * @URL https://l2wiki.com/Savior%27s_Path_-_Demons_and_Atelia
- + * @author CostyKiller
- + */
- +public class Q10887_SaviorsPathDemonsAndAtelia extends Quest
- +{
- + // Npcs
- + private static final int DEVIANNE = 34427;
- + // Monsters
- + private static final int[] MONSTERS =
- + {
- + // Atelia Refinery
- + 24150, // Devil Warrior
- + 24149, // Devil Nightmare
- + 24153, // Devil Varos
- + 24152, // Devil Sinist
- + 24151, // Devil Guardian
- + 24144, // Death Rogue
- + 24145, // Death Shooter
- + 24146, // Death Warrior
- + 24147, // Death Sorcerer
- + 24148, // Death Pondus
- + 24155, // Demonic Warrior
- + 24154, // Demonic Wizard
- + 24158, // Demonic Weiss
- + 24157, // Demonic Keras
- + 24156, // Demonic Archer
- + };
- + // Misc
- + private static final int MIN_LEVEL = 103;
- + private static final int DEMONS_KILLS_NEEDED = 500;
- +
- + public Q10887_SaviorsPathDemonsAndAtelia()
- + {
- + super(10887);
- + addStartNpc(DEVIANNE);
- + addTalkId(DEVIANNE);
- + addKillId(MONSTERS);
- + addCondMinLevel(MIN_LEVEL, "34427-00.html");
- + addCondCompletedQuest(Q10886_SaviorsPathSearchTheRefinery.class.getSimpleName(), "34427-00.html");
- + }
- +
- + @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 "34427-02.htm":
- + case "34427-03.htm":
- + case "34427-06.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34427-04.html":
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + qs.startQuest();
- + qs.set("DemonsKilled", 0);
- + htmltext = event;
- + }
- + break;
- + }
- + case "34427-07.html":
- + {
- + if (qs.isCond(2))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + addExpAndSp(player, 108766499040L, 108766440);
- + giveAdena(player, 12309205, true);
- + qs.exitQuest(false, true);
- + htmltext = event;
- + }
- + else
- + {
- + htmltext = getNoQuestLevelRewardMsg(player);
- + }
- + break;
- + }
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onTalk(Npc npc, PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, true);
- + String htmltext = getNoQuestMsg(player);
- + switch (qs.getState())
- + {
- + case State.CREATED:
- + {
- + htmltext = "34427-01.htm";
- + break;
- + }
- + case State.STARTED:
- + {
- + if (qs.isCond(1))
- + {
- + htmltext = "34427-05.html";
- + }
- + else if (qs.isCond(2) && (qs.getInt("DemonsKilled") >= DEMONS_KILLS_NEEDED))
- + {
- + htmltext = "34427-06.htm";
- + }
- + break;
- + }
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
- + {
- + executeForEachPlayer(player, npc, isSummon, true, false);
- + return super.onKill(npc, player, isSummon);
- + }
- +
- + @Override
- + public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
- + {
- + if (qs.getInt("DemonsKilled") < DEMONS_KILLS_NEEDED)
- + {
- + final int killedDemons = qs.getInt("DemonsKilled") + 1;
- + if (CommonUtil.contains(MONSTERS, npc.getId()))
- + {
- + qs.set("DemonsKilled", killedDemons);
- + if ((killedDemons == DEMONS_KILLS_NEEDED))
- + {
- + qs.setCond(2, true);
- + }
- + else
- + {
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + sendNpcLogList(player);
- + }
- + }
- + }
- + }
- + }
- +
- + @Override
- + public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if ((qs != null) && (qs.isCond(1)))
- + {
- + final Set<NpcLogListHolder> holder = new HashSet<>();
- + holder.add(new NpcLogListHolder(1019725, true, qs.getInt("DemonsKilled")));
- + return holder;
- + }
- + return super.getNpcLogList(player);
- + }
- +}
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Everything must be carried out with utmost caution. Your strength needs to be at a certain level, so please come back when you're stronger.<br>
- +(This quest is for characters Lv. 103 and higher who have completed the Savior's Path - Discovery and Savior's Path - Demons and Atelia quests.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-01.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Since I collected the data I needed last time, I was able to discover a lot.<br>
- +I had many theories on the refinement process of Atelia and though they weren't all correct, I was able to prove many things. I also have new information, like who is completing each process of refinement and why the demons keep coming to the Atelia Refinery.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10888_SaviorsPathDefeatTheEmbryo 34427-02.htm">"What did you find out?"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-02.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Each process of Atelia refinement is completed by a specific demon in each area. They are difficult to find. These demons are completing each refinement process using their abilities.<br>
- +I also found out why the demons are coming to the refinery. It's the Dimensional Energy. Dimensional Energy is somewhat of a delicay for demons.<br>
- +When the demons absorb Dimensional Energy, the large amount of force applied upon the energy crystallizes it into Atelia.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10888_SaviorsPathDefeatTheEmbryo 34427-03.htm">"Really?"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-03.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Truth Seeker Devianne:<br>
- +And when Dark Atelia is complete through refinement process, it's sent to Etis van Etina as the energy source to use the Seven Signs.<br>
- +And I'm sure you know how terrifying the Seven Signs is.<br>
- +Discovering this has brought a task upon us. A task with utmost priority.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10888_SaviorsPathDefeatTheEmbryo 34427-04.html">"What is it?"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-04.html (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Truth Seeker Devianne:<br>
- +It is to retrieve the Atelia extracted by the demons that has not turned into Dark Atelia yet.<br>
- +Extracted Atelia cannot be retrieved because it is sent to a special device automatically, but we can still get it mid-extraction.<br>
- +Atelia in Extraction can be retrieved from <font color="LEVEL">Death Rogue, Death Shooter, Death Warrior, Death Sorcerer, Death Pondus, Devil Nightmare, Devil Warrior, Devil Guardian, Devil Sinist, Devil Varos, Demonic Wizard, Demonic Warrior, Demonic Archer, Demonic Keras and Demonic Weiss</font>.<br><br>
- +Retrieving Atelia will eventually stop Etis van Etina from getting more Dark Atelia so it's ultimalety weaken the force of Embryos.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-05.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Go inside <font color="LEVEL">Atelia Refinery</font> and bring me <font color="LEVEL">200 Atelia in Extraction</font>.<br>
- +It can be retrieved from <font color="LEVEL">Death Rogue, Death Shooter, Death Warrior, Death Sorcerer, Death Pondus, Devil Nightmare, Devil Warrior, Devil Guardian, Devil Sinist, Devil Varos, Demonic Wizard, Demonic Warrior, Demonic Archer, Demonic Keras and Demonic Weiss</font>.<br><br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-06.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-06.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-06.htm (working copy)
- @@ -0,0 +1,8 @@
- +<html><body>Truth Seeker Devianne:<br>
- +This must be Atelia in Extraction.<br>
- +I can sense a huge power in it although its extraction is not complete. Imagine how much power it'll hold when extraction is complete... Enough for Etis van Etina to wield the Seven Signs at the snap of a finger.<br>
- +And this power is even pure and more powerful than the Giants' power that could be obtained from Amaranthine.<br>
- +Sporcha, a member of our Blackbird Clan is at the place transporting Atelia. He is supposed to interrupt its transportation process so we could use the outlet as our own.<br>
- +Looks like your preparation is done as well. Go tell Leona that you're ready to bring an end to Etis van Etina. Thank you for your very hard work.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10888_SaviorsPathDefeatTheEmbryo 34427-07.html">"Yes, sure."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/34427-07.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Truth Seeker Devianne:<br>
- +Great work.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/Q10888_SaviorsPathDefeatTheEmbryo.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/Q10888_SaviorsPathDefeatTheEmbryo.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10888_SaviorsPathDefeatTheEmbryo/Q10888_SaviorsPathDefeatTheEmbryo.java (working copy)
- @@ -0,0 +1,188 @@
- +/*
- + * 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.Q10888_SaviorsPathDefeatTheEmbryo;
- +
- +import org.l2jmobius.Config;
- +import org.l2jmobius.gameserver.enums.Movie;
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +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.Q10885_SaviorsPathDiscovery.Q10885_SaviorsPathDiscovery;
- +import quests.Q10887_SaviorsPathDemonsAndAtelia.Q10887_SaviorsPathDemonsAndAtelia;
- +
- +/**
- + * Savior's Path - Defeat the Embryo (10888)
- + * @URL https://l2wiki.com/Savior%27s_Path_-_Defeat_the_Embryo
- + * @author CostyKiller
- + */
- +public class Q10888_SaviorsPathDefeatTheEmbryo extends Quest
- +{
- + // Npcs
- + private static final int DEVIANNE = 34427;
- + // Monsters
- + private static final int[] MONSTERS =
- + {
- + // Atelia Refinery
- + 24150, // Devil Warrior
- + 24149, // Devil Nightmare
- + 24153, // Devil Varos
- + 24152, // Devil Sinist
- + 24151, // Devil Guardian
- + 24144, // Death Rogue
- + 24145, // Death Shooter
- + 24146, // Death Warrior
- + 24147, // Death Sorcerer
- + 24148, // Death Pondus
- + 24155, // Demonic Warrior
- + 24154, // Demonic Wizard
- + 24158, // Demonic Weiss
- + 24157, // Demonic Keras
- + 24156, // Demonic Archer
- + };
- + // Items
- + private static final int ATELIA_IN_EXTRACTION = 48547;
- + // Misc
- + private static final int MIN_LEVEL = 103;
- + private static final int ATELIA_IN_EXTRACTION_NEEDED = 200;
- +
- + public Q10888_SaviorsPathDefeatTheEmbryo()
- + {
- + super(10888);
- + addStartNpc(DEVIANNE);
- + addTalkId(DEVIANNE);
- + addKillId(MONSTERS);
- + addCondMinLevel(MIN_LEVEL, "34427-00.html");
- + addCondCompletedQuest(Q10885_SaviorsPathDiscovery.class.getSimpleName(), "34427-00.html");
- + addCondCompletedQuest(Q10887_SaviorsPathDemonsAndAtelia.class.getSimpleName(), "34427-00.html");
- + registerQuestItems(ATELIA_IN_EXTRACTION);
- + }
- +
- + @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 "34427-02.htm":
- + case "34427-03.htm":
- + case "34427-06.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34427-04.html":
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + qs.startQuest();
- + playMovie(player, Movie.EP5_ASTATINE_QST_START);
- + htmltext = event;
- + }
- + break;
- + }
- + case "34427-07.html":
- + {
- + if (qs.isCond(2))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + addExpAndSp(player, 108766499040L, 108766440);
- + giveAdena(player, 12309205, true);
- + playMovie(player, Movie.EP5_ASTATINE_QST_END);
- + qs.exitQuest(false, true);
- + htmltext = event;
- + }
- + else
- + {
- + htmltext = getNoQuestLevelRewardMsg(player);
- + }
- + break;
- + }
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onTalk(Npc npc, PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, true);
- + String htmltext = getNoQuestMsg(player);
- + switch (qs.getState())
- + {
- + case State.CREATED:
- + {
- + htmltext = "34427-01.htm";
- + break;
- + }
- + case State.STARTED:
- + {
- + if (qs.isCond(1))
- + {
- + htmltext = "34427-05.html";
- + }
- + else if (qs.isCond(2) && (getQuestItemsCount(player, ATELIA_IN_EXTRACTION) >= ATELIA_IN_EXTRACTION_NEEDED))
- + {
- + htmltext = "34427-06.htm";
- + }
- + break;
- + }
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
- + {
- + executeForEachPlayer(player, npc, isSummon, true, false);
- + return super.onKill(npc, player, isSummon);
- + }
- +
- + @Override
- + public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
- + {
- + if (getQuestItemsCount(player, ATELIA_IN_EXTRACTION) < ATELIA_IN_EXTRACTION_NEEDED)
- + {
- + giveItems(player, ATELIA_IN_EXTRACTION, 1);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + }
- + if (getQuestItemsCount(player, ATELIA_IN_EXTRACTION) >= ATELIA_IN_EXTRACTION_NEEDED)
- + {
- + qs.setCond(2, true);
- + }
- + }
- + }
- +}
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Everything must be carried out with utmost caution. Your strength needs to be at a certain level, so please come back when you're stronger.<br>
- +(This quest is for characters Lv. 103 and higher who have completed the Savior's Path - Defeat the Embryo quest.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-01.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Do you know anything about the Emperor of Giants?<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10889_SaviorsPathFallenEmperorsThrone 34425-02.htm">"Are you talking about Helios?"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-02.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Yes I am talking about Helios, the Emperor of the Beginning.<br>
- +When Superion first appeared, we shook in fear. But many brave heroes took down the horrible Giant of Superion, then Queen Ramona and finally Emperor Helios.<br>
- +I don't know if the results of past efforts are happening now, but I heard Superion is getting weaker.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10889_SaviorsPathFallenEmperorsThrone 34425-03.htm">"Really?"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-03.htm (working copy)
- @@ -0,0 +1,7 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Helios's iron throne is finally coming down. I'd like to use this chance to get something special.<br>
- +The Giants' powerful technology, <font color="LEVEL">Origin of Giants</font>.<br>
- +Helios is a manifestation of SUperion itself, and Helios' natural power could be larger than that of Superion.<br>
- +I'm assuming Etis van Etina is the one who awoke Helios. I think it may have been because of the Giants' power that originally belonged to Helios.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10889_SaviorsPathFallenEmperorsThrone 34425-04.html">"What is the Giants' power?"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-04.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +It's the Giants' technology and its natural ability; the root of power that made it possible for the Giant to challenge god as an equal.<br>
- +It'd be impossible to steal from Helios at his full strength but since he is on the verge of ruin, I'm sure you could steal the Origin of Giants from him. Please go to the <font color="LEVEL">Fallen Emperor's Throne</font>, defeat Helios and bring the <font color="LEVEL">Origin of Giants</font>.<br>
- +Hierarch Kekropus from the Town of Giran will know exact location. He is expecting you, so please go talk to him.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-05.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +You did not brought the <font color="LEVEL">Origin of Giants</font>?<br>
- +Go see Hierarch Kekropus from the Town of Giran. He is expecting you, so please go talk to him.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-06.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-06.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-06.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Have you brought the <font color="LEVEL">Origin of Giants</font>?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10889_SaviorsPathFallenEmperorsThrone 34425-07.html">"Yes, I have it."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/34425-07.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Great work.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/Q10889_SaviorsPathFallenEmperorsThrone.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/Q10889_SaviorsPathFallenEmperorsThrone.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10889_SaviorsPathFallenEmperorsThrone/Q10889_SaviorsPathFallenEmperorsThrone.java (working copy)
- @@ -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.Q10889_SaviorsPathFallenEmperorsThrone;
- +
- +import org.l2jmobius.Config;
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +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.Q10888_SaviorsPathDefeatTheEmbryo.Q10888_SaviorsPathDefeatTheEmbryo;
- +
- +/**
- + * Savior's Path - Fallen Emperor's Throne
- + * @URL https://l2wiki.com/Savior%27s_Path_-_Fallen_Emperor%27s_Throne
- + * @author CostyKiller
- + */
- +public class Q10889_SaviorsPathFallenEmperorsThrone extends Quest
- +{
- + // Npcs
- + private static final int LEONA_BLACKBIRD = 34425;
- +
- + // Monsters
- + private static final int FE_HELIOS = 26335;
- + // Items
- + private static final int ORIGIN_OF_GIANTS = 48548;
- + // Misc
- + private static final int MIN_LEVEL = 103;
- + private static final int ORIGIN_OF_GIANTS_NEEDED = 5;
- +
- + public Q10889_SaviorsPathFallenEmperorsThrone()
- + {
- + super(10889);
- + addStartNpc(LEONA_BLACKBIRD);
- + addTalkId(LEONA_BLACKBIRD);
- + addKillId(FE_HELIOS);
- + addCondMinLevel(MIN_LEVEL, "34425-00.html");
- + addCondCompletedQuest(Q10888_SaviorsPathDefeatTheEmbryo.class.getSimpleName(), "34425-00.html");
- + registerQuestItems(ORIGIN_OF_GIANTS);
- + }
- +
- + @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 "34425-02.htm":
- + case "34425-03.htm":
- + case "34425-06.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34425-04.html":
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + qs.startQuest();
- + htmltext = event;
- + }
- + break;
- + }
- + case "34425-07.html":
- + {
- + if (qs.isCond(2))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + addExpAndSp(player, 271916247600L, 271916100);
- + giveAdena(player, 30773010, true);
- + qs.exitQuest(false, true);
- + htmltext = event;
- + }
- + else
- + {
- + htmltext = getNoQuestLevelRewardMsg(player);
- + }
- + break;
- + }
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onTalk(Npc npc, PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, true);
- + String htmltext = getNoQuestMsg(player);
- + switch (qs.getState())
- + {
- + case State.CREATED:
- + {
- + htmltext = "34425-01.htm";
- + break;
- + }
- + case State.STARTED:
- + {
- + if (qs.isCond(1) && (getQuestItemsCount(player, ORIGIN_OF_GIANTS) < ORIGIN_OF_GIANTS_NEEDED))
- + {
- + htmltext = "34425-05.html";
- + }
- + else if (qs.isCond(2) && (getQuestItemsCount(player, ORIGIN_OF_GIANTS) >= ORIGIN_OF_GIANTS_NEEDED))
- + {
- + htmltext = "34425-06.htm";
- + }
- + break;
- + }
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
- + {
- + executeForEachPlayer(player, npc, isSummon, true, true);
- + return super.onKill(npc, player, isSummon);
- + }
- +
- + @Override
- + public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
- + {
- + if (getQuestItemsCount(player, ORIGIN_OF_GIANTS) < ORIGIN_OF_GIANTS_NEEDED)
- + {
- + giveItems(player, ORIGIN_OF_GIANTS, 1);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + }
- + if (getQuestItemsCount(player, ORIGIN_OF_GIANTS) >= ORIGIN_OF_GIANTS_NEEDED)
- + {
- + qs.setCond(2, true);
- + }
- + }
- + }
- +}
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Everything must be carried out with utmost caution. Your strength needs to be at a certain level, so please come back when you're stronger.<br>
- +(This quest is for characters Lv. 104 and higher who have completed the Savior's Path - Defeat the Embryo and the Savior's Path - Fallen Emperor's Throne quests.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-01.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +We have come a long way, Thank you.<br>
- +Now, it's time to hunt down Etis van Etina. If you're done preparing, would you like to come with me to the Fall of Etina?<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10890_SaviorsPathHallOfEtina 34425-02.htm">"Yes, sure."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-02.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Thanks to your help, I was able to find out a few ways to take down Etina using the Giants's technology.<br>
- +All of this is thanks to your hard work at the refinery.<br>
- +We came this far together and we can't fight Etina without you. Since we came this far, please join us on our next quest.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10890_SaviorsPathHallOfEtina 34425-03.htm">"I will join you!"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-03.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Thank you. I'm sure you want to take down Etis van Etina as much as we do. Here, let me tell you what we found out so far. I'm sure you're dying to know.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10890_SaviorsPathHallOfEtina 34425-04.html">"Tell me."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-04.html (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +I used the Giant's technology contained within the Origin of Giants to find out how to get to Etina and obtained the power to defeat him. The passage to the Great Etina Temple is the Atelia Outlet.<br>
- +It's the passage that Dark Atelia passed through, but I found a way to use it for ourselves using the power obtained from the Origin of Giants.<br>
- +Please come follow me when you're ready to face Etina. We can use the <font color="LEVEL">Atelia Refinery Teleport Device</font> to teleport to <font color="LEVEL">Atelia Outlet</font> within Atelia Refinery. I'll be waiting for you there.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10890_SaviorsPathHallOfEtina outletTeleport">"Ok, I'm ready."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-05.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Please come follow me when you're ready to face Etina. We can use the <font color="LEVEL">Atelia Refinery Teleport Device</font> to teleport to <font color="LEVEL">Atelia Outlet</font> within Atelia Refinery. I'll be waiting for you there.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10890_SaviorsPathHallOfEtina outletTeleport">"Ok, I'm ready."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-06.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34425-06.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Come see me to <font color="LEVEL">Atelia Outlet</font> within Atelia Refinery. I'll be waiting for you there.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10890_SaviorsPathHallOfEtina outletTeleport">"Ok, I'll come."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-00.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Seems that you are not ready to face Etina.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-01.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +You're here! Ah, it's your first time seeing me like this.<br>
- +Don't be surprised. Thanks to you, I can fight again.<br>
- +Now, if you're done preparing, shall we bring and end to Etis van Etina?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10890_SaviorsPathHallOfEtina 34426-02.html">"Are we leaving from here?"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-02.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-02.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-02.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Yes, like I said before, my left arm is a prosthetic made from Origin of Giants.<br>
- +We'll use the power of giants contained in this arm to pass through the Atelia Outlet.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest EtisVanEtinaSolo enterInstance">"Let's go.."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-03.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +Finally, Etis van Etina is brought to an end.<br>
- +This would have been impossible without your help. Astair van Halter, the King of Rune, Amadeo Cadmus, the King of Aden, and Navari, the Queen of Ertheia, left in haste as they couldn't leave their kingdoms any longer. But before they left, they left a gift for me to give you.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10890_SaviorsPathHallOfEtina 34426-04.html">"What is it?"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/34426-04.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Blackbird Clan Lord Leona Blackbird:<br>
- +This is it.<br>
- +They said we were able to protect the material world from great danger with your help and left the Savior's Mask as a gift for you. Please take it. You really played a big role in all this.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/Q10890_SaviorsPathHallOfEtina.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/Q10890_SaviorsPathHallOfEtina.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10890_SaviorsPathHallOfEtina/Q10890_SaviorsPathHallOfEtina.java (working copy)
- @@ -0,0 +1,229 @@
- +/*
- + * 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.Q10890_SaviorsPathHallOfEtina;
- +
- +import java.util.HashSet;
- +import java.util.Set;
- +
- +import org.l2jmobius.Config;
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +import org.l2jmobius.gameserver.model.Location;
- +import org.l2jmobius.gameserver.model.actor.Npc;
- +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
- +import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
- +import org.l2jmobius.gameserver.model.quest.Quest;
- +import org.l2jmobius.gameserver.model.quest.QuestState;
- +import org.l2jmobius.gameserver.model.quest.State;
- +
- +import quests.Q10888_SaviorsPathDefeatTheEmbryo.Q10888_SaviorsPathDefeatTheEmbryo;
- +import quests.Q10889_SaviorsPathFallenEmperorsThrone.Q10889_SaviorsPathFallenEmperorsThrone;
- +
- +/**
- + * Savior's Path - Hall of Etina (10890)
- + * @URL https://l2wiki.com/Savior%27s_Path_-_Fall_of_Etina
- + * @author CostyKiller
- + */
- +public class Q10890_SaviorsPathHallOfEtina extends Quest
- +{
- + // Npcs
- + private static final int LEONA_BLACKBIRD = 34425;
- + private static final int LEONA_BLACKBIRD_OUTLET = 34426;
- + // Monsters
- + private static final int ETIS_VAN_ETINA_SOLO = 26322;
- + // Rewards
- + private static final int SAVIORS_MASK = 48584;
- + private static final int SAVIORS_ENCHANT_SCROLL = 48583;
- + // Misc
- + private static final int MIN_LEVEL = 104;
- + private static final Location OUTLET_TELEPORT = new Location(-251728, 178576, -8928);
- +
- + public Q10890_SaviorsPathHallOfEtina()
- + {
- + super(10890);
- + addStartNpc(LEONA_BLACKBIRD);
- + addTalkId(LEONA_BLACKBIRD, LEONA_BLACKBIRD_OUTLET);
- + addKillId(ETIS_VAN_ETINA_SOLO);
- + addCondMinLevel(MIN_LEVEL, "34425-00.html");
- + addCondCompletedQuest(Q10888_SaviorsPathDefeatTheEmbryo.class.getSimpleName(), "34425-00.html");
- + addCondCompletedQuest(Q10889_SaviorsPathFallenEmperorsThrone.class.getSimpleName(), "34425-00.html");
- + }
- +
- + @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 "34425-02.htm":
- + case "34425-03.htm":
- + case "34425-06.htm":
- + case "34426-01.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34425-04.html":
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + qs.startQuest();
- + qs.setMemoState(1);
- + htmltext = event;
- + }
- + break;
- + }
- + case "outletTeleport":
- + {
- + player.teleToLocation(OUTLET_TELEPORT);
- + break;
- + }
- + case "34426-02.html":
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + qs.setCond(2);
- + htmltext = event;
- + }
- + break;
- + }
- + case "34426-04.html":
- + {
- + if (qs.isCond(3))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + addExpAndSp(player, 376172418240L, 345208219);
- + giveItems(player, SAVIORS_MASK, 1);
- + giveItems(player, SAVIORS_ENCHANT_SCROLL, 1);
- + qs.exitQuest(false, true);
- + htmltext = event;
- + }
- + else
- + {
- + htmltext = getNoQuestLevelRewardMsg(player);
- + }
- + break;
- + }
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onTalk(Npc npc, PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, true);
- + String htmltext = getNoQuestMsg(player);
- + switch (qs.getState())
- + {
- + case State.CREATED:
- + {
- + htmltext = "34425-01.htm";
- + break;
- + }
- + case State.STARTED:
- + {
- + switch (npc.getId())
- + {
- + case LEONA_BLACKBIRD:
- + {
- + if (qs.isCond(1) && qs.isMemoState(1))
- + {
- + htmltext = "34425-05.html";
- + }
- + else if (qs.isCond(3))
- + {
- + htmltext = "34425-06.html";
- + }
- + else
- + {
- + htmltext = "34425-01.htm";
- + }
- + break;
- + }
- + case LEONA_BLACKBIRD_OUTLET:
- + {
- + if (qs.isCond(1))
- + {
- + htmltext = "34426-01.htm";
- + }
- + if (qs.isCond(2))
- + {
- + htmltext = "34426-02.html";
- + }
- + else if (qs.isCond(3) && qs.get(Integer.toString(ETIS_VAN_ETINA_SOLO)).equals("true"))
- + {
- + htmltext = "34426-03.htm";
- + }
- + break;
- + }
- + }
- + break;
- + }
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
- + {
- + executeForEachPlayer(player, npc, isSummon, true, false);
- + return super.onKill(npc, player, isSummon);
- + }
- +
- + @Override
- + public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if ((qs != null) && qs.isCond(2) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
- + {
- + qs.set(Integer.toString(npc.getId()), "true");
- + notifyKill(npc, player, isSummon);
- + sendNpcLogList(player);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
- + if ((qs.get(Integer.toString(ETIS_VAN_ETINA_SOLO)).equals("true")))
- + {
- + qs.setCond(3);
- + }
- + }
- + }
- +
- + @Override
- + public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if ((qs != null) && qs.isCond(2))
- + {
- + final Set<NpcLogListHolder> holder = new HashSet<>();
- + holder.add(new NpcLogListHolder(1026322, true, qs.get(Integer.toString(ETIS_VAN_ETINA_SOLO)).equals("true") ? 1 : 0));
- + return holder;
- + }
- + return super.getNpcLogList(player);
- + }
- +}
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/not_done/Q10507_ObtainingNewPower.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10507_ObtainingNewPower.java (revision 8524)
- +++ dist/game/data/scripts/quests/not_done/Q10507_ObtainingNewPower.java (nonexistent)
- @@ -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 Q10507_ObtainingNewPower extends Quest
- -{
- - private static final int START_NPC = 33907;
- -
- - public Q10507_ObtainingNewPower()
- - {
- - super(10507);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10886_SaviorsPathSearchTheRefinery.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10886_SaviorsPathSearchTheRefinery.java (revision 8524)
- +++ dist/game/data/scripts/quests/not_done/Q10886_SaviorsPathSearchTheRefinery.java (nonexistent)
- @@ -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 Q10886_SaviorsPathSearchTheRefinery extends Quest
- -{
- - private static final int START_NPC = 34425;
- -
- - public Q10886_SaviorsPathSearchTheRefinery()
- - {
- - super(10886);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10887_SaviorsPathDemonsAndAtelia.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10887_SaviorsPathDemonsAndAtelia.java (revision 8524)
- +++ dist/game/data/scripts/quests/not_done/Q10887_SaviorsPathDemonsAndAtelia.java (nonexistent)
- @@ -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 Q10887_SaviorsPathDemonsAndAtelia extends Quest
- -{
- - private static final int START_NPC = 34427;
- -
- - public Q10887_SaviorsPathDemonsAndAtelia()
- - {
- - super(10887);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10888_SaviorsPathDefeatTheEmbryo.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10888_SaviorsPathDefeatTheEmbryo.java (revision 8524)
- +++ dist/game/data/scripts/quests/not_done/Q10888_SaviorsPathDefeatTheEmbryo.java (nonexistent)
- @@ -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 Q10888_SaviorsPathDefeatTheEmbryo extends Quest
- -{
- - private static final int START_NPC = 34427;
- -
- - public Q10888_SaviorsPathDefeatTheEmbryo()
- - {
- - super(10888);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10889_SaviorsPathFallenEmperorsThrone.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10889_SaviorsPathFallenEmperorsThrone.java (revision 8524)
- +++ dist/game/data/scripts/quests/not_done/Q10889_SaviorsPathFallenEmperorsThrone.java (nonexistent)
- @@ -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 Q10889_SaviorsPathFallenEmperorsThrone extends Quest
- -{
- - private static final int START_NPC = 34425;
- -
- - public Q10889_SaviorsPathFallenEmperorsThrone()
- - {
- - super(10889);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10890_SaviorsPathFallOfEtina.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10890_SaviorsPathFallOfEtina.java (revision 8524)
- +++ dist/game/data/scripts/quests/not_done/Q10890_SaviorsPathFallOfEtina.java (nonexistent)
- @@ -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 Q10890_SaviorsPathFallOfEtina extends Quest
- -{
- - private static final int START_NPC = 34425;
- -
- - public Q10890_SaviorsPathFallOfEtina()
- - {
- - super(10890);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement