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 7687)
- +++ dist/game/data/scripts/quests/QuestMasterHandler.java (working copy)
- @@ -171,6 +171,8 @@
- import quests.Q10501_ZakenEmbroideredSoulCloak.Q10501_ZakenEmbroideredSoulCloak;
- import quests.Q10502_FreyaEmbroideredSoulCloak.Q10502_FreyaEmbroideredSoulCloak;
- import quests.Q10503_FrintezzaEmbroideredSoulCloak.Q10503_FrintezzaEmbroideredSoulCloak;
- +import quests.Q10514_NewPathToGlory.Q10514_NewPathToGlory;
- +import quests.Q10515_NewWayForPride.Q10515_NewWayForPride;
- import quests.Q10535_BlacksmithsSoul3.Q10535_BlacksmithsSoul3;
- import quests.Q10537_KamaelDisarray.Q10537_KamaelDisarray;
- import quests.Q10538_GiantsEvolution.Q10538_GiantsEvolution;
- @@ -236,9 +238,15 @@
- import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
- import quests.Q10857_SecretTeleport.Q10857_SecretTeleport;
- import quests.Q10873_ExaltedReachingAnotherLevel.Q10873_ExaltedReachingAnotherLevel;
- +import quests.Q10874_AgainstTheNewEnemy.Q10874_AgainstTheNewEnemy;
- +import quests.Q10875_ForReputation.Q10875_ForReputation;
- import quests.Q10876_LeadersGrace.Q10876_LeadersGrace;
- +import quests.Q10877_BreakThroughCrisis.Q10877_BreakThroughCrisis;
- import quests.Q10879_ExaltedGuideToPower.Q10879_ExaltedGuideToPower;
- import quests.Q10880_TheLastOneStanding.Q10880_TheLastOneStanding;
- +import quests.Q10881_ForThePride.Q10881_ForThePride;
- +import quests.Q10882_VictoryCollection.Q10882_VictoryCollection;
- +import quests.Q10883_ImmortalHonor.Q10883_ImmortalHonor;
- import quests.Q10891_AtANewPlace.Q10891_AtANewPlace;
- import quests.Q10892_RevengeOneStepAtATime.Q10892_RevengeOneStepAtATime;
- import quests.Q10896_VisitTheAdventureGuild.Q10896_VisitTheAdventureGuild;
- @@ -302,8 +310,6 @@
- import quests.not_done.Q01900_StormIsleSecretSpot;
- import quests.not_done.Q01901_StormIsleFurtiveDeal;
- import quests.not_done.Q10298_WastelandQueen;
- -import quests.not_done.Q10514_NewPathToGlory;
- -import quests.not_done.Q10515_NewWayForPride;
- import quests.not_done.Q10570_HurrahForKamaelsIndependence;
- import quests.not_done.Q10572_ToExpelTheEmbryosForces;
- import quests.not_done.Q10594_FergasonsScheme;
- @@ -316,12 +322,6 @@
- import quests.not_done.Q10848_TrialsBeforeTheBattle;
- import quests.not_done.Q10853_ToWeakenTheGiants;
- import quests.not_done.Q10854_ToSeizeTheFortress;
- -import quests.not_done.Q10874_AgainstTheNewEnemy;
- -import quests.not_done.Q10875_ForReputation;
- -import quests.not_done.Q10877_BreakThroughCrisis;
- -import quests.not_done.Q10881_ForThePride;
- -import quests.not_done.Q10882_VictoryCollection;
- -import quests.not_done.Q10883_ImmortalHonor;
- import quests.not_done.Q10886_SaviorsPathSearchTheRefinery;
- import quests.not_done.Q10887_SaviorsPathDemonsAndAtelia;
- import quests.not_done.Q10888_SaviorsPathDefeatTheEmbryo;
- @@ -519,8 +519,8 @@
- Q10501_ZakenEmbroideredSoulCloak.class,
- Q10502_FreyaEmbroideredSoulCloak.class,
- Q10503_FrintezzaEmbroideredSoulCloak.class,
- - Q10514_NewPathToGlory.class, // TODO: Not done.
- - Q10515_NewWayForPride.class, // TODO: Not done.
- + Q10514_NewPathToGlory.class,
- + Q10515_NewWayForPride.class,
- Q10516_UnveiledFafurionTemple.class, // FIXME: Custom.
- Q10517_FafurionsMinions.class, // FIXME: Custom.
- Q10518_SucceedingThePriestess.class, // FIXME: Custom.
- Index: dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>High Priest Sylvain:<br>
- +You are not ready to be called by me. Come back when you are ready.<br>
- +(The Exalted, Reaching Another Level quest is in progress and level 103+ and Lionel Hunter Mission List - 4 should be in the inventory.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-01.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>High Priest Sylvain:<br>
- +I've been planning for a long time! I mean... well, I belive one who wants to lead the world... must pass a very difficult test.<br>
- +If I had a chance to give such test, I'd make an unimaginably difficult test. That's what I thought.<br>
- +Are you listening to me?<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10514_NewPathToGlory 30070-02.htm">"Go on."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-02.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>High Priest Sylvain:<br>
- +Lionel Hunter said that you want to reach another level.<br>
- +I was waiting for someone to complete a mission to substitute all the missions from the other people...<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10514_NewPathToGlory 30070-03.htm">"Ask what mission."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-03.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>High Priest Sylvain:<br>
- +Then, I have the chance I'd always dreamed of! Hahaha. Oops, I'm sorry. I'm just so happy to have this chance.<br>
- +If anyone wants to take my test, I'll put him through the most terrible time of their lives... If you're not ready, you'd better leave now. Otherwise, you'll die before your time.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10514_NewPathToGlory 30070-04.htm">"I will take the test."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-04.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-04.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-04.htm (working copy)
- @@ -0,0 +1,7 @@
- +<html><body>High Priest Sylvain:<br>
- +Eh? Are you sure? Oh... well, you might be qualified to undertake my mission.<br>
- +Actually, it's not that complicated. You only need to grow strong enough to defeat unknown enemies.<br>
- +How? That's simple.<br>
- +Hunting. Will you accept the mission?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10514_NewPathToGlory 30070-05.html">"Alright."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-05.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>High Priest Sylvain:<br>
- +Listen carefully, I won't explain this again. Hunt monsters in <font color="LEVEL">Atelia Refinery, Ivory Tower Crater, Alligator Island and Tanor Canyon</font> and collect 80.000 <font color="LEVEL">Proof of Reputation</font>. What do you say? It's quite hard, right? Hahahaha!!!<br>
- +Come to me after completing the mission to get a certificate.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-06.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-06.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>High Priest Sylvain:<br>
- +You did not get what I asked for.<br>
- +Hunt monsters in <font color="LEVEL">Atelia Refinery, Ivory Tower Crater, Alligator Island and Tanor Canyon</font> and collect 80.000 <font color="LEVEL">Proof of Reputation</font>.<br>
- +Come to me after completing the mission to get a certificate.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-07.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>High Priest Sylvain:<br>
- +Did you get 80.000 <font color="LEVEL">Proof of Reputation</font>?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10514_NewPathToGlory 30070-08.html">"Yes, here."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-08.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-08.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10514_NewPathToGlory/30070-08.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>High Priest Sylvain:<br>
- +Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10514_NewPathToGlory/Q10514_NewPathToGlory.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10514_NewPathToGlory/Q10514_NewPathToGlory.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10514_NewPathToGlory/Q10514_NewPathToGlory.java (working copy)
- @@ -0,0 +1,226 @@
- +/*
- + * 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.Q10514_NewPathToGlory;
- +
- +import org.l2jmobius.Config;
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +import org.l2jmobius.gameserver.instancemanager.QuestManager;
- +import org.l2jmobius.gameserver.model.actor.Npc;
- +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
- +import org.l2jmobius.gameserver.model.holders.ItemHolder;
- +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.util.Util;
- +
- +import quests.Q10873_ExaltedReachingAnotherLevel.Q10873_ExaltedReachingAnotherLevel;
- +
- +/**
- + * New Path To Glory (10514)
- + * @URL https://l2wiki.com/New_Path_to_Glory
- + * @author CostyKiller
- + */
- +public class Q10514_NewPathToGlory extends Quest
- +{
- + // NPC
- + private static final int HIGH_PRIEST_SYLVAIN = 30070;
- + 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
- +
- + // Ivory Tower Crater
- + 24421, // Stone Gargoyle
- + 24422, // Stone Golem
- + 24423, // Monster Eye
- + 24424, // Gargoyle Hunter
- + 24425, // Steel Golem
- + 24426, // Stone Cube
- +
- + // Alligator Island
- + 24372, // Crokian Lad
- + 24373, // Dailaon Lad
- + 24375, // Farhite Lad
- + 24376, // Nos Lad
- + 24377, // Swamp Tribe
- + 24378, // Swamp Alligator
- + 24379, // Swamp Warrior
- +
- + // Tanor Canyon
- + 20936, // Tanor Silenos -->
- + 20937, // Tanor Silenos Solider -->
- + 20938, // Tanor Silenos Scout -->
- + 20939, // Tanor Silenos Warrior -->
- + 20941, // Tanor Silenos Chieftain -->
- + 20942, // Nightmare Guide -->
- + 20943, // Nightmare Watchman -->
- + 20944 // Nightmare Lord -->
- + };
- + // Items
- + private static final int PROOF_OF_REPUTATION = 80826;
- + private static final ItemHolder LIONEL_HUNTERS_LIST_PART_4 = new ItemHolder(47829, 1);
- + // Rewards
- + private static final int SYLVAIN_CERTIFICATE = 80828;
- + // Misc
- + private static final int MIN_LEVEL = 103;
- + private static final int PROOF_OF_REPUTATION_NEEDED = 80000;
- +
- + public Q10514_NewPathToGlory()
- + {
- + super(10514);
- + addStartNpc(HIGH_PRIEST_SYLVAIN);
- + addTalkId(HIGH_PRIEST_SYLVAIN);
- + addKillId(MONSTERS);
- + addCondMinLevel(MIN_LEVEL, "30070-00.html");
- + addCondStartedQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName(), "30070-00.html");
- + registerQuestItems(PROOF_OF_REPUTATION);
- + }
- +
- + @Override
- + public String onAdvEvent(String event, Npc npc, PlayerInstance player)
- + {
- + String htmltext = null;
- + final QuestState qs = getQuestState(player, false);
- + if (qs == null)
- + {
- + return htmltext;
- + }
- + switch (event)
- + {
- + case "30070-02.htm":
- + case "30070-03.htm":
- + case "30070-04.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "30070-05.html":
- + {
- + if (hasItem(player, LIONEL_HUNTERS_LIST_PART_4))
- + {
- + qs.startQuest();
- + htmltext = event;
- + }
- + break;
- + }
- + case "30070-08.html":
- + {
- + if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_REPUTATION) >= PROOF_OF_REPUTATION_NEEDED))
- + {
- + takeItems(player, PROOF_OF_REPUTATION, PROOF_OF_REPUTATION_NEEDED);
- + giveItems(player, SYLVAIN_CERTIFICATE, 1);
- + addExpAndSp(player, 3480527972686L, 0);
- + qs.exitQuest(false, true);
- +
- + final Quest mainQ = QuestManager.getInstance().getQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName());
- + if (mainQ != null)
- + {
- + mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
- + }
- + htmltext = event;
- + }
- + else
- + {
- + htmltext = getNoQuestLevelRewardMsg(player);
- + }
- + break;
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onTalk(Npc npc, PlayerInstance player)
- + {
- + String htmltext = getNoQuestMsg(player);
- + final QuestState qs = getQuestState(player, true);
- + switch (qs.getState())
- + {
- + case State.CREATED:
- + {
- + if (hasItem(player, LIONEL_HUNTERS_LIST_PART_4))
- + {
- + htmltext = "30070-01.htm";
- + }
- + else
- + {
- + htmltext = "30070-00.htm";
- + }
- + break;
- + }
- + case State.STARTED:
- + {
- + if (getQuestItemsCount(player, PROOF_OF_REPUTATION) >= PROOF_OF_REPUTATION_NEEDED)
- + {
- + htmltext = "30070-07.html";
- + }
- + else
- + {
- + htmltext = "30070-06.html";
- + }
- + break;
- + }
- +
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- +
- + }
- +
- + @Override
- + public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
- + {
- + if ((getQuestItemsCount(player, PROOF_OF_REPUTATION) < PROOF_OF_REPUTATION_NEEDED) && (getRandom(100) < 90))
- + {
- + giveItems(player, PROOF_OF_REPUTATION, 1);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + }
- + if ((getQuestItemsCount(player, PROOF_OF_REPUTATION) >= PROOF_OF_REPUTATION_NEEDED) && (player.getLevel() >= MIN_LEVEL))
- + {
- + qs.setCond(2, true);
- + }
- + }
- + }
- +
- + @Override
- + public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
- + {
- + executeForEachPlayer(killer, npc, isSummon, true, false);
- + return super.onKill(npc, killer, isSummon);
- + }
- +}
- Index: dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Cardinal Seresin:<br>
- +I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
- +(Only characters above Lv. 104 and The Exalted, Guide to Power quest should be in progress..)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-01.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Cardinal Seresin:<br>
- +Lionel Hunter sent you? He told me about a soldier who will come to test and qualify for the <font color="LEVEL">Guide of Power</font> who is supposed to save the world from darkness.<br>
- +I won't bore you with a long story. In short, he told me to test the adventurers and give certificates to only those who pass.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10515_NewWayForPride 30657-02.htm">"Go on."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-02.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Cardinal Seresin:<br>
- +I was surprised that Lionel accepted the offer so readily. He's not a person who takes on troublesome work. I was wondering what he had in mind... Now I'm doing his job.<br>
- +I thought is better for you to know what happened so far.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10515_NewWayForPride 30657-03.htm">"Go on."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-03.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Cardinal Seresin:<br>
- +I thought that <font color="LEVEL">hunting</font> would be the simplest way of proving oneself capable of guiding the power, and you are certainly qualified to take the test.<br>
- +However, it doesn't mean that you can finish it successfully. Think carefully before undertaking the mission.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10515_NewWayForPride 30657-04.htm">"Alright."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-04.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-04.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-04.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Cardinal Seresin:<br>
- +Eh? Are you sure? Oh... well, you might be qualified to undertake my mission.<br>
- +Actually, it's not that complicated. You only need to grow strong enough to defeat unknown enemies.<br>
- +Will you accept the mission?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10515_NewWayForPride 30657-05.html">"Alright."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-05.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Cardinal Seresin:<br>
- +Listen carefully, I won't explain this again. Hunt monsters in <font color="LEVEL">Atelia Refinery, Ivory Tower Crater, Alligator Island and Tanor Canyon</font> and collect 80.000 <font color="LEVEL">Proof of Reputation</font>. What do you say? It's quite hard, right? Hahahaha!!!<br>
- +Come to me after completing the mission to get a certificate.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-06.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-06.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Cardinal Seresin:<br>
- +You did not get what I asked for.<br>
- +Hunt monsters in <font color="LEVEL">Atelia Refinery, Ivory Tower Crater, Alligator Island and Tanor Canyon</font> and collect 80.000 <font color="LEVEL">Proof of Reputation</font>.<br>
- +Come to me after completing the mission to get a certificate.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-07.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Cardinal Seresin:<br>
- +Did you get 80.000 <font color="LEVEL">Proof of Reputation</font>?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10515_NewWayForPride 30657-08.html">"Yes, here."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-08.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-08.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10515_NewWayForPride/30657-08.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Cardinal Seresin:<br>
- +Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10515_NewWayForPride/Q10515_NewWayForPride.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10515_NewWayForPride/Q10515_NewWayForPride.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10515_NewWayForPride/Q10515_NewWayForPride.java (working copy)
- @@ -0,0 +1,221 @@
- +/*
- + * 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.Q10515_NewWayForPride;
- +
- +import org.l2jmobius.Config;
- +import org.l2jmobius.commons.util.CommonUtil;
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +import org.l2jmobius.gameserver.instancemanager.QuestManager;
- +import org.l2jmobius.gameserver.model.actor.Npc;
- +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
- +import org.l2jmobius.gameserver.model.holders.ItemHolder;
- +import org.l2jmobius.gameserver.model.quest.Quest;
- +import org.l2jmobius.gameserver.model.quest.QuestState;
- +import org.l2jmobius.gameserver.model.quest.State;
- +
- +import quests.Q10879_ExaltedGuideToPower.Q10879_ExaltedGuideToPower;
- +
- +/**
- + * New Way For Pride (10515)
- + * @URL https://l2wiki.com/New_Way_for_Pride
- + * @author CostyKiller
- + */
- +public class Q10515_NewWayForPride extends Quest
- +{
- + // NPCs
- + private static final int CARDINAL_SERESIN = 30657;
- + // Items
- + private static final int SERESIN_CERTIFICATE = 80829;
- + private static final int PROOF_OF_REPUTATION = 80826;
- + private static final ItemHolder LIONEL_HUNTERS_LIST_PART_5 = new ItemHolder(47834, 1);
- + // 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
- +
- + // Ivory Tower Crater
- + 24421, // Stone Gargoyle
- + 24422, // Stone Golem
- + 24423, // Monster Eye
- + 24424, // Gargoyle Hunter
- + 24425, // Steel Golem
- + 24426, // Stone Cube
- +
- + // Alligator Island
- + 24372, // Crokian Lad
- + 24373, // Dailaon Lad
- + 24375, // Farhite Lad
- + 24376, // Nos Lad
- + 24377, // Swamp Tribe
- + 24378, // Swamp Alligator
- + 24379, // Swamp Warrior
- +
- + // Tanor Canyon
- + 20936, // Tanor Silenos -->
- + 20937, // Tanor Silenos Solider -->
- + 20938, // Tanor Silenos Scout -->
- + 20939, // Tanor Silenos Warrior -->
- + 20941, // Tanor Silenos Chieftain -->
- + 20942, // Nightmare Guide -->
- + 20943, // Nightmare Watchman -->
- + 20944 // Nightmare Lord -->
- + };
- +
- + // Misc
- + private static final int MIN_LEVEL = 104;
- + private static final int PROOF_OF_REPUTATION_NEEDED = 80000;
- +
- + public Q10515_NewWayForPride()
- + {
- + super(10515);
- + addStartNpc(CARDINAL_SERESIN);
- + addTalkId(CARDINAL_SERESIN);
- + addKillId(MONSTERS);
- + addCondMinLevel(MIN_LEVEL, "30657-00.html");
- + addCondStartedQuest(Q10879_ExaltedGuideToPower.class.getSimpleName(), "30657-00.html");
- + registerQuestItems(PROOF_OF_REPUTATION);
- + }
- +
- + @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 "30657-02.htm":
- + case "30657-03.htm":
- + case "30657-04.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "30657-05.html":
- + {
- + if (hasItem(player, LIONEL_HUNTERS_LIST_PART_5))
- + {
- + qs.startQuest();
- + htmltext = event;
- + }
- + break;
- + }
- + case "30657-08.html":
- + {
- + if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_REPUTATION) >= PROOF_OF_REPUTATION_NEEDED))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + takeItems(player, PROOF_OF_REPUTATION, PROOF_OF_REPUTATION_NEEDED);
- + giveItems(player, SERESIN_CERTIFICATE, 1);
- + addExpAndSp(player, 3480527972686L, 0);
- + qs.exitQuest(false, true);
- +
- + final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
- + if (mainQ != null)
- + {
- + mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
- + }
- + 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:
- + {
- + if ((npc.getId() == CARDINAL_SERESIN) && (hasItem(player, LIONEL_HUNTERS_LIST_PART_5)))
- + {
- + htmltext = "30657-01.htm";
- + }
- + else
- + {
- + htmltext = "30657-00.html";
- + }
- + break;
- + }
- + case State.STARTED:
- + {
- + htmltext = "30657-05.html";
- + 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) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE) && CommonUtil.contains(MONSTERS, npc.getId()))
- + {
- + giveItems(player, PROOF_OF_REPUTATION, 1);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- +
- + if (getQuestItemsCount(player, PROOF_OF_REPUTATION) >= PROOF_OF_REPUTATION_NEEDED)
- + {
- + qs.setCond(2, true);
- + }
- + }
- + }
- +}
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/33907-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/33907-05.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/33907-05.html (working copy)
- @@ -1,6 +1,6 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- I'll be seeing whether you have what it takes to become stronger.<br>
- First, you must prove that you are capable of using <font color="LEVEL">16 Ability Points</font>. Learn a skill with Ability Points and prove your strength.<br>
- -Then, pass the tests set by the following people and bring back certificates. The people who will test you are <font color="LEVEL">Verdure Elder Elikia</font> in <font color="LEVEL">Heine</font>, the <font color="LEVEL">Mysterious Butler</font>, <font color="LEVEL">Trader Galladucci</font> in the <font color="LEVEL">Town of Giran</font>, and <font color="LEVEL">Sir Eric Rodemai</font> in the <font color="LEVEL">Town of Aden</font>.<br>
- +Then, pass the tests set by the following people and bring back certificates. The people who will test you are <font color="LEVEL">Verdure Elder Elikia</font> in <font color="LEVEL">Heine</font>, the <font color="LEVEL">Mysterious Butler</font>, <font color="LEVEL">Trader Galladucci</font> in the <font color="LEVEL">Town of Giran</font>, and <font color="LEVEL">Sir Eric Rodemai</font> in the <font color="LEVEL">Town of Aden</font>. <br><br><br>
- Go talk to them to find out what their tests are about. I'll be waiting for you to return with the certificates. If you forget who you must go to, refer to the guide I'll be giving you.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/33907-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/33907-06.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/33907-06.html (working copy)
- @@ -1,6 +1,6 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- Still? I'll explain again, so remember it.<br>
- Use <font color="LEVEL">16 Ability Points</font> to learn a skill and prove your strength. After that, pass the tests of the following people and bring back their certificates.<br>
- -The first people who will test you are <font color="LEVEL">Verdure Elder Elikia</font> in <font color="LEVEL">Heine</font>, the <font color="LEVEL">Mysterious Butler</font>, <font color="LEVEL">Trader Galladucci</font> in the <font color="LEVEL">Town of Giran</font>, and <font color="LEVEL">Sir Eric Rodemai</font> in the <font color="LEVEL">Town of Aden</font>.<br>
- +The first people who will test you are <font color="LEVEL">Verdure Elder Elikia</font> in <font color="LEVEL">Heine</font>, the <font color="LEVEL">Mysterious Butler</font>, <font color="LEVEL">Trader Galladucci</font> in the <font color="LEVEL">Town of Giran</font>, and <font color="LEVEL">Sir Eric Rodemai</font> in the <font color="LEVEL">Town of Aden</font>. <br><br><br>
- Go talk to them to find out what their tests are about. I'll be waiting for you to return with the certificates.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10812_FacingSadness/Q10812_FacingSadness.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10812_FacingSadness/Q10812_FacingSadness.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10812_FacingSadness/Q10812_FacingSadness.java (working copy)
- @@ -30,7 +30,7 @@
- /**
- * Facing Sadness (10812)
- - * @author Stayway
- + * @author Stayway, CostyKiller
- */
- public class Q10812_FacingSadness extends Quest
- {
- @@ -100,6 +100,7 @@
- // Misc
- private static final int MIN_LEVEL = 99;
- + private static final int PROOF_OF_DISPOSAL_NEEDED = 8000;
- public Q10812_FacingSadness()
- {
- @@ -145,7 +146,7 @@
- {
- if ((player.getLevel() >= MIN_LEVEL))
- {
- - takeItems(player, PROOF_OF_DISPOSAL, -1);
- + takeItems(player, PROOF_OF_DISPOSAL, PROOF_OF_DISPOSAL_NEEDED);
- giveItems(player, ELIKIA_CERTIFICATE, 1);
- addExpAndSp(player, 0, 498204432);
- qs.exitQuest(false, true);
- @@ -193,7 +194,7 @@
- {
- htmltext = "31620-05.html";
- }
- - else if (qs.isCond(2))
- + else if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_DISPOSAL) >= PROOF_OF_DISPOSAL_NEEDED))
- {
- htmltext = "31620-07.html";
- }
- @@ -221,12 +222,12 @@
- final QuestState qs = getQuestState(player, false);
- if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
- {
- - if (getQuestItemsCount(player, PROOF_OF_DISPOSAL) < 8000)
- + if (getQuestItemsCount(player, PROOF_OF_DISPOSAL) < PROOF_OF_DISPOSAL_NEEDED)
- {
- giveItems(player, PROOF_OF_DISPOSAL, 1);
- playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- }
- - if (getQuestItemsCount(player, PROOF_OF_DISPOSAL) >= 8000)
- + if (getQuestItemsCount(player, PROOF_OF_DISPOSAL) >= PROOF_OF_DISPOSAL_NEEDED)
- {
- qs.setCond(2, true);
- }
- Index: dist/game/data/scripts/quests/Q10813_ForGlory/33685-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10813_ForGlory/33685-04.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10813_ForGlory/33685-04.html (working copy)
- @@ -1,4 +1,4 @@
- <html><body>Mysterious Butler:<br>
- After a long discussion with Lionel, I've decided that I'll find someone who can prove their strength by constantly participating in the <font color="LEVEL">Ceremony of Chaos</font> and the <font color="LEVEL">Olympiad</font>.<br>
- In order to keep track of your performance, you'll be getting a <font color="LEVEL">Proof of Battle</font> whenever you participate in the <font color="LEVEL">Ceremony of Chaos</font> or the <font color="LEVEL">Olympiad</font>.<br>
- -If you can get <font color="LEVEL">80 Proof of Battle</font>, you'll prove that you are worthy. Not too hard, right?</body></html>
- \ No newline at end of file
- +If you can get <font color="LEVEL">10 Proof of Battle</font>, you'll prove that you are worthy. Not too hard, right?</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10813_ForGlory/33685-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10813_ForGlory/33685-05.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10813_ForGlory/33685-05.html (working copy)
- @@ -1,4 +1,4 @@
- <html><body>Mysterious Butler:<br>
- -Oh, are you done? Just as I expected. How was it? Did you get the 80 Proof of Battle?<br>
- +Oh, are you done? Just as I expected. How was it? Did you get the 10 Proof of Battle?<br>
- <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10813_ForGlory 33685-06.html">"Yes."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10813_ForGlory/33685-08.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10813_ForGlory/33685-08.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10813_ForGlory/33685-08.html (working copy)
- @@ -1,3 +1,3 @@
- <html><body>Mysterious Butler:<br>
- -When you participate in the <font color="LEVEL">Ceremony of Chaos</font> or the <font color="LEVEL">Olympiad</font>, you'll be able to to get <font color="LEVEL">Proof of Battle.</font> If you can get <font color="LEVEL">80</font> of these, I'll recognize your strengh.
- +When you participate in the <font color="LEVEL">Ceremony of Chaos</font> or the <font color="LEVEL">Olympiad</font>, you'll be able to to get <font color="LEVEL">Proof of Battle.</font> If you can get <font color="LEVEL">10</font> of these, I'll recognize your strengh.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10813_ForGlory/Q10813_ForGlory.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10813_ForGlory/Q10813_ForGlory.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10813_ForGlory/Q10813_ForGlory.java (working copy)
- @@ -41,11 +41,12 @@
- // Npc
- private static final int MYSTERIOUS_BUTLER = 33685;
- // Items
- - private static final int PROOF_OF_BATTLE = 45872;
- + private static final int PROOF_OF_BATTLE_1 = 45872;
- private static final int MYSTERIOUS_BUTLER_CERTIFICATE = 45624;
- - private static final int BATTLE_QUIKCK_HEALING_POTION = 45945;
- + private static final int BATTLE_QUICK_HEALING_POTION = 45945;
- // Misc
- private static final int MIN_LEVEL = 99;
- + private static final int PROOF_OF_BATTLE_1_NEEDED = 10;
- public Q10813_ForGlory()
- {
- @@ -54,7 +55,7 @@
- addTalkId(MYSTERIOUS_BUTLER);
- addCondMinLevel(MIN_LEVEL, "33685-09.htm");
- addCondStartedQuest(Q10811_ExaltedOneWhoFacesTheLimit.class.getSimpleName(), "33685-07.htm");
- - registerQuestItems(PROOF_OF_BATTLE);
- + registerQuestItems(PROOF_OF_BATTLE_1);
- }
- @Override
- @@ -85,10 +86,10 @@
- {
- if (qs.isCond(2))
- {
- - if ((player.getLevel() >= MIN_LEVEL))
- + if ((player.getLevel() >= MIN_LEVEL) && (getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= PROOF_OF_BATTLE_1_NEEDED))
- {
- - takeItems(player, PROOF_OF_BATTLE, -1);
- - giveItems(player, BATTLE_QUIKCK_HEALING_POTION, 120);
- + takeItems(player, PROOF_OF_BATTLE_1, PROOF_OF_BATTLE_1_NEEDED);
- + giveItems(player, BATTLE_QUICK_HEALING_POTION, 120);
- giveItems(player, MYSTERIOUS_BUTLER_CERTIFICATE, 1);
- qs.exitQuest(false, true);
- @@ -126,7 +127,7 @@
- {
- htmltext = "33685-08.html";
- }
- - else if (qs.isCond(2))
- + else if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= PROOF_OF_BATTLE_1_NEEDED))
- {
- htmltext = "33685-05.html";
- }
- @@ -148,9 +149,9 @@
- final QuestState qs = getQuestState(player, false);
- if ((qs != null) && qs.isCond(1))
- {
- - giveItems(player, PROOF_OF_BATTLE, 1);
- + giveItems(player, PROOF_OF_BATTLE_1, 1);
- playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- - if (getQuestItemsCount(player, PROOF_OF_BATTLE) >= 80)
- + if (getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= PROOF_OF_BATTLE_1_NEEDED)
- {
- qs.setCond(2, true);
- }
- Index: dist/game/data/scripts/quests/Q10814_BefittingOfTheStatus/Q10814_BefittingOfTheStatus.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10814_BefittingOfTheStatus/Q10814_BefittingOfTheStatus.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10814_BefittingOfTheStatus/Q10814_BefittingOfTheStatus.java (working copy)
- @@ -148,7 +148,9 @@
- takeItems(player, itemId, 1);
- if (qs.getCond() < 6)
- {
- - qs.setCond(qs.getCond() + 1);
- + // XXX: on pow you need only 1 item so I skipped steps here I think rest of the code should be removed
- + // qs.setCond(qs.getCond() + 1);
- + qs.setCond(6);
- }
- switch (qs.getCond())
- Index: dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/33907-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/33907-07.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/33907-07.html (working copy)
- @@ -1,5 +1,4 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -Have you completed all the tests?<br>
- -Congratulations on passing them all. Did you bring back all the certificates?<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10817_ExaltedOneWhoOvercomesTheLimit 33907-08.html">"Yes, here."</Button>
- +You are not ready to be called by me. Come back when you are ready.<br>
- +(Only Noblesse characters Lv. 99 or above can perform this quest.)
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/33907-08.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/33907-08.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/33907-08.html (working copy)
- @@ -1,5 +1,5 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -You are on track to overcoming your limit. Congratulations on passing the second test.<br>
- -Don't get complacent, though. You'll soon be taking the third test, once you are ready for it.<br>
- -I'll call you when you are ready.
- +Have you completed all the tests?<br>
- +Congratulations on passing them all. Did you bring back all the certificates?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10817_ExaltedOneWhoOvercomesTheLimit 33907-09.html">"Yes, here."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/33907-09.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/33907-09.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/33907-09.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Eva's Knight Lionel Hunter:<br>
- +You are on track to overcoming your limit. Congratulations on passing the second test.<br>
- +Don't get complacent, though. You'll soon be taking the third test, once you are ready for it.<br>
- +I'll call you when you are ready.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/Q10817_ExaltedOneWhoOvercomesTheLimit.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/Q10817_ExaltedOneWhoOvercomesTheLimit.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/Q10817_ExaltedOneWhoOvercomesTheLimit.java (working copy)
- @@ -84,7 +84,7 @@
- }
- break;
- }
- - case "33907-08.html":
- + case "33907-09.html":
- {
- if (hasQuestItems(player, DAICHIR_SERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- {
- @@ -116,7 +116,7 @@
- {
- if (hasQuestItems(player, DAICHIR_SERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- {
- - htmltext = "33907-07.html";
- + htmltext = "33907-08.html";
- }
- else
- {
- Index: dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-06.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-06.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-06.htm (working copy)
- @@ -1,6 +1,8 @@
- <html><body>Head Priest of the Earth Daichir:<br>
- Defeat the monsters that are threatening the safety of this world. I'll tell you which ones to defeat.<br>
- -First, you must defeat <font color="LEVEL">Istina, Octavis, and Tauti</font> in an <font color="LEVEL">Epic Battle</font>. You must also defeat <font color="LEVEL">Beleth</font> and <font color="LEVEL">Earth Wyrm Trasken</font>, and bring a <font color="LEVEL">Dark Soul Stone</font>.<br>
- +First, you must defeat <font color="LEVEL">Istina, Octavis, Tauti and Ekimus</font> in an <font color="LEVEL">Epic Battle</font>. You must also defeat <font color="LEVEL">Beleth</font> and <font color="LEVEL">Earth Wyrm Trasken</font>, and bring a <font color="LEVEL">Dark Soul Stone</font>.<br><br>
- However, defeating Earth Wyrm Trasken is difficult. That's why I have another method. Would like to hear it?<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10818_ConfrontingAGiantMonster 30537-06a.html">"What is it?"</Button>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10818_ConfrontingAGiantMonster 30537-06a.html">"Which is it?"</Button><br>
- +Or you can skip all this and hunt some easier monsters.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10818_ConfrontingAGiantMonster 30537-06b.html">"I'll choose this."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-06b.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-06b.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-06b.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Head Priest of the Earth Daichir:<br>
- +Go defeat the monsters in <font color="LEVEL">Giant's Cave</font> and <font color="LEVEL">Enchanted Valley</font> and bring back 10.000 <font color="LEVEL">Proof of Resistance</font>.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-07a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-07a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-07a.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Head Priest of the Earth Daichir:<br>
- +You did not get me 10.000 <font color="LEVEL">Proof of Resistance</font>.<br>
- +You must defeat the monsters in <font color="LEVEL">Giant's Cave</font> and <font color="LEVEL">Enchanted Valley</font> to obtain them.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/33915-01.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/33915-01.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/33915-01.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Guide of Infinity Jaedin:<br>
- +<font color="LEVEL">TEMP FIX FOR EKIMUS RB KILL CHECK</font><br>
- +This will set your kill status to true on the quest until Seed of Infinity instance will be implemented.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/33915-02.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/33915-02.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/33915-02.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Guide of Infinity Jaedin:<br>
- +<font color="LEVEL">TEMP FIX FOR EKIMUS RB KILL CHECK</font><br>
- +Your kill status is already true on the quest.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/Q10818_ConfrontingAGiantMonster.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/Q10818_ConfrontingAGiantMonster.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/Q10818_ConfrontingAGiantMonster.java (working copy)
- @@ -17,6 +17,7 @@
- package quests.Q10818_ConfrontingAGiantMonster;
- 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;
- @@ -29,38 +30,126 @@
- /**
- * Confronting a Giant Monster (10818)
- * @URL https://l2wiki.com/Confronting_a_Giant_Monster
- - * @author Mobius
- + * @author Mobius, CostyKiller
- */
- public class Q10818_ConfrontingAGiantMonster extends Quest
- {
- - // NPC
- + // Npcs
- private static final int DAICHIR = 30537;
- + private static final int JAEDIN = 33915;
- // Monsters
- private static final int ISTINA = 29196; // Extreme
- private static final int OCTAVIS = 29212; // Extreme
- - private static final int TAUTI = 29233; // correct id?
- + private static final int TAUTI = 29237; // Extreme
- private static final int EKIMUS = 29251; // correct id?
- private static final int TRASKEN = 29197; // correct id?
- + private static final int VERIDAN = 25796;
- + private static final int KECHI = 25797;
- + private static final int MICHAELA = 25799;
- + private static final int[] MONSTERS =
- + {
- + // Giant's Cave Monsters
- + 23727, // Shaqrima Bathus
- + 23728, // Shaqrima Carcass -->
- + 23729, // Shaqrima Kshana -->
- + 23733, // Lesser Giant Warrior -->
- + 23734, // Lesser Giant Wizard -->
- + 23735, // Captive Familiar Spirit -->
- + 23736, // Captive Hell Demon -->
- + 23737, // Captive Succubus -->
- + 23738, // Captive Phantom -->
- + 23742, // Naia Bathus, Demons Foreman -->
- + 23743, // Naia Karkus, Demons Foreman -->
- + 23744, // Naia Kshana, Demons Foreman -->
- + 23746, // Recovering Lesser Giant Warrior -->
- + 23747, // Recovering Lesser Giant Wizard -->
- + 23749, // Root of the Lesser Giant -->
- + 23754, // Essence of the Lesser Giant -->
- +
- + // Fairy Settlement Monsters
- + 18972, // Treekin Defender Scout
- + 18973, // Treekin Defender Experienced Scout
- + 18974, // Centaur Archer Scout
- + 18975, // Centaur Archer Experienced Scout
- + 18976, // Beorning Berserker Scout
- + 18977, // Beorning Berserker Experienced Scout
- + 22863, // Fairy Warrior
- + 22864, // Fairy Warrior Wicked
- + 22865, // Fairy Warrior Mature
- + 22866, // Fairy Warrior Imperfect
- + 22867, // Fairy Warrior Violent
- + 22868, // Fairy Warrior Brutal
- + 22869, // Fairy Warrior Fully Enraged
- + 22870, // Fairy Warrior Slightly Enraged
- + 22871, // Fairy Rogue
- + 22875, // Fairy Rogue Wicked
- + 22873, // Fairy Rogue Mature
- + 22874, // Fairy Rogue Imperfect
- + 22875, // Fairy Rogue Violent
- + 22876, // Fairy Rogue Brutal
- + 22877, // Fairy Rogue Fully Enraged
- + 22878, // Fairy Rogue Slightly Enraged
- + 22879, // Fairy Knight
- + 22880, // Fairy Knight Wicked
- + 22881, // Fairy Knight Mature
- + 22882, // Fairy Knight Imperfect
- + 22883, // Fairy Knight Violent
- + 22884, // Fairy Knight Brutal
- + 22885, // Fairy Knight Fully Enraged
- + 22886, // Fairy Knight Slightly Enraged
- + 22887, // Satyr Wizard
- + 22888, // Satyr Wizard Wicked
- + 22889, // Satyr Wizard Mature
- + 22890, // Satyr Wizard Imperfect
- + 22891, // Satyr Wizard Violent
- + 22892, // Satyr Wizard Brutal
- + 22893, // Satyr Wizard Fully Enraged
- + 22894, // Satyr Wizard Slightly Enraged
- + 22895, // Satyr Summoner
- + 22896, // Satyr Summoner Wicked
- + 22897, // Satyr Summoner Mature
- + 22898, // Satyr Summoner Imperfect
- + 22899, // Satyr Summoner Violent
- + 22900, // Satyr Summoner Brutal
- + 22901, // Satyr Summoner Fully Enraged
- + 22902, // Satyr Summoner Slightly Enraged
- + 22903, // Satyr Witch
- + 22904, // Satyr Witch Wicked
- + 22905, // Satyr Witch Mature
- + 22906, // Satyr Witch Imperfect
- + 22907, // Satyr Witch Violent
- + 22908, // Satyr Witch Brutal
- + 22909, // Satyr Witch Fully Enraged
- + 22910, // Satyr Witch Slightly Enraged
- + 23041 // Pan Direm
- + };
- +
- // Items
- private static final int DARK_SOUL_STONE = 46055;
- private static final int OLYMPIAD_MANAGER_CERTIFICATE = 45629;
- private static final int ISHUMA_CERTIFICATE = 45630;
- private static final int SIR_KRISTOF_RODEMAI_CERTIFICATE = 45631;
- + private static final int PROOF_OF_RESISTANCE = 80823;
- + private static final int VERIDAN_SOUL_STONE = 46052;
- + private static final int KECHI_SOUL_STONE = 46053;
- + private static final int MICHAELA_SOUL_STONE = 46054;
- // Rewards
- - private static final int EXP_AMOUNT = 542310795;
- - private static final int DAICHIR_SERTIFICATE = 45628;
- + private static final long EXP_AMOUNT = 193815839115L;
- + private static final int DAICHIR_CERTIFICATE = 45628;
- // Misc
- private static final int MIN_LEVEL = 99;
- + private static final int PROOF_OF_RESISTANCE_NEEDED = 10000;
- public Q10818_ConfrontingAGiantMonster()
- {
- super(10818);
- addStartNpc(DAICHIR);
- - addTalkId(DAICHIR);
- + addTalkId(DAICHIR, JAEDIN);
- addKillId(ISTINA, OCTAVIS, TAUTI, EKIMUS, TRASKEN);
- + addKillId(MONSTERS);
- addCondMinLevel(MIN_LEVEL, "30537-02.html");
- addCondStartedQuest(Q10817_ExaltedOneWhoOvercomesTheLimit.class.getSimpleName(), "30537-03.html");
- - registerQuestItems(DARK_SOUL_STONE);
- + registerQuestItems(DARK_SOUL_STONE, VERIDAN_SOUL_STONE, KECHI_SOUL_STONE, MICHAELA_SOUL_STONE);
- }
- @Override
- @@ -77,17 +166,27 @@
- {
- case "30537-04.htm":
- case "30537-05.htm":
- + {
- + htmltext = event;
- + break;
- + }
- case "30537-06.htm":
- {
- + qs.startQuest();
- + qs.set(Integer.toString(ISTINA), "false");
- + qs.set(Integer.toString(OCTAVIS), "false");
- + qs.set(Integer.toString(TAUTI), "false");
- + qs.set(Integer.toString(EKIMUS), "false");
- htmltext = event;
- break;
- }
- - case "30537-06a.html":
- + case "30537-06b.html":
- {
- - if (qs.isCreated())
- - {
- - qs.startQuest();
- - }
- + qs.setCond(3);
- + qs.unset(Integer.toString(ISTINA));
- + qs.unset(Integer.toString(OCTAVIS));
- + qs.unset(Integer.toString(TAUTI));
- + qs.unset(Integer.toString(EKIMUS));
- htmltext = event;
- break;
- }
- @@ -95,7 +194,7 @@
- {
- if ((player.getLevel() >= MIN_LEVEL))
- {
- - if (hasQuestItems(player, DARK_SOUL_STONE) && qs.get(Integer.toString(ISTINA)).equals("true") && qs.get(Integer.toString(OCTAVIS)).equals("true") && qs.get(Integer.toString(TAUTI)).equals("true") && qs.get(Integer.toString(EKIMUS)).equals("true"))
- + if ((qs.isCond(4) && (getQuestItemsCount(player, PROOF_OF_RESISTANCE) >= PROOF_OF_RESISTANCE_NEEDED)) || (qs.isCond(2) && hasQuestItems(player, DARK_SOUL_STONE) && (qs.get(Integer.toString(ISTINA)).equals("true") && qs.get(Integer.toString(OCTAVIS)).equals("true") && qs.get(Integer.toString(TAUTI)).equals("true") && qs.get(Integer.toString(EKIMUS)).equals("true"))))
- {
- if (hasQuestItems(player, OLYMPIAD_MANAGER_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE))
- {
- @@ -105,13 +204,16 @@
- {
- htmltext = event;
- }
- - takeItems(player, DARK_SOUL_STONE, -1);
- - giveItems(player, DAICHIR_SERTIFICATE, 1);
- + if (qs.isCond(2))
- + {
- + takeItems(player, DARK_SOUL_STONE, 1);
- + qs.unset(Integer.toString(ISTINA));
- + qs.unset(Integer.toString(OCTAVIS));
- + qs.unset(Integer.toString(TAUTI));
- + qs.unset(Integer.toString(EKIMUS));
- + }
- + giveItems(player, DAICHIR_CERTIFICATE, 1);
- addExpAndSp(player, EXP_AMOUNT, 0);
- - qs.unset(Integer.toString(ISTINA));
- - qs.unset(Integer.toString(OCTAVIS));
- - qs.unset(Integer.toString(TAUTI));
- - qs.unset(Integer.toString(EKIMUS));
- qs.exitQuest(false, true);
- }
- }
- @@ -139,15 +241,51 @@
- }
- case State.STARTED:
- {
- - if (hasQuestItems(player, DARK_SOUL_STONE) && qs.get(Integer.toString(ISTINA)).equals("true") && qs.get(Integer.toString(OCTAVIS)).equals("true") && qs.get(Integer.toString(TAUTI)).equals("true") && qs.get(Integer.toString(EKIMUS)).equals("true"))
- + switch (npc.getId())
- {
- - htmltext = "30537-08.html";
- + case DAICHIR:
- + {
- + if (qs.isCond(2))
- + {
- + if (hasQuestItems(player, DARK_SOUL_STONE) && (qs.get(Integer.toString(ISTINA)).equals("true") && qs.get(Integer.toString(OCTAVIS)).equals("true") && qs.get(Integer.toString(TAUTI)).equals("true") && qs.get(Integer.toString(EKIMUS)).equals("true")))
- + {
- + htmltext = "30537-08.html";
- + }
- + else
- + {
- + htmltext = "30537-07.html";
- + }
- + }
- + else if (qs.isCond(4))
- + {
- + if (getQuestItemsCount(player, PROOF_OF_RESISTANCE) >= PROOF_OF_RESISTANCE_NEEDED)
- + {
- + htmltext = "30537-08.html";
- + }
- + else
- + {
- + htmltext = "30537-07a.html";
- + }
- + }
- + break;
- + }
- + // XXX: Set Ekimus quest check until instance is done
- + case JAEDIN:
- + {
- + if (qs.get(Integer.toString(EKIMUS)).equals("false"))
- + {
- + htmltext = "33915-01.html";
- + qs.set(Integer.toString(EKIMUS), "true");
- + playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
- + }
- + else
- + {
- + htmltext = "33915-02.html";
- + }
- + }
- + break;
- }
- - else
- - {
- - htmltext = "30537-07.html";
- - }
- - break;
- + return htmltext;
- }
- case State.COMPLETED:
- {
- @@ -176,9 +314,38 @@
- giveItems(player, DARK_SOUL_STONE, 1);
- playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- }
- - else
- + else if (npc.getId() == VERIDAN)
- {
- + giveItems(player, VERIDAN_SOUL_STONE, 1);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + }
- + else if (npc.getId() == KECHI)
- + {
- + giveItems(player, KECHI_SOUL_STONE, 1);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + }
- + else if (npc.getId() == MICHAELA)
- + {
- + giveItems(player, MICHAELA_SOUL_STONE, 1);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + }
- + else if (CommonUtil.contains(MONSTERS, npc.getId()))
- + {
- + giveItems(player, PROOF_OF_RESISTANCE, 1);
- + if (getQuestItemsCount(player, PROOF_OF_RESISTANCE) >= PROOF_OF_RESISTANCE_NEEDED)
- + {
- + qs.setCond(4, true);
- + }
- + }
- + else if ((npc.getId() == ISTINA) || (npc.getId() == OCTAVIS) || (npc.getId() == TAUTI) || (npc.getId() == EKIMUS))
- + {
- qs.set(Integer.toString(npc.getId()), "true");
- + notifyKill(npc, player, isSummon);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
- + if ((qs.get(Integer.toString(ISTINA)).equals("true") && qs.get(Integer.toString(OCTAVIS)).equals("true") && qs.get(Integer.toString(TAUTI)).equals("true") && qs.get(Integer.toString(EKIMUS)).equals("true")))
- + {
- + qs.setCond(2);
- + }
- }
- }
- }
- Index: dist/game/data/scripts/quests/Q10819_ForHonor/31688-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10819_ForHonor/31688-06.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10819_ForHonor/31688-06.html (working copy)
- @@ -1,5 +1,5 @@
- <html><body>Olympiad Manager:<br>
- -You'll get a <font color="LEVEL">Proof of Battle</font> when you participate in the <font color="LEVEL">Olympiad</font> or the <font color="LEVEL">Ceremony of Chaos</font>. Please bring <font color="LEVEL">100</font> of these.<br>
- -Bringing 100 Proof of Battle is my test.<br>
- +You'll get a <font color="LEVEL">Proof of Battle</font> when you participate in the <font color="LEVEL">Olympiad</font> or the <font color="LEVEL">Ceremony of Chaos</font>. Please bring <font color="LEVEL">20</font> of these.<br>
- +Bringing 20 Proof of Battle is my test.<br>
- I'm sure as someone who Lionel has personally sent, you'll do great.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10819_ForHonor/31688-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10819_ForHonor/31688-07.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10819_ForHonor/31688-07.html (working copy)
- @@ -1,4 +1,4 @@
- <html><body>Olympiad Manager:<br>
- I don't think you are done yet.<br>
- -Participate in the <font color="LEVEL">Olympiad</font> and the <font color="LEVEL">Ceremony of Chaos</font>, and collect <font color="LEVEL">100 Proof of Battle</font>.
- +Participate in the <font color="LEVEL">Olympiad</font> and the <font color="LEVEL">Ceremony of Chaos</font>, and collect <font color="LEVEL">20 Proof of Battle</font>.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10819_ForHonor/31688-07a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10819_ForHonor/31688-07a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10819_ForHonor/31688-07a.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Olympiad Manager:<br>
- +Did you get <font color="LEVEL">20 Proof of Battle</font>?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10819_ForHonor 31688-08.html">"Yes, here."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10819_ForHonor/Q10819_ForHonor.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10819_ForHonor/Q10819_ForHonor.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10819_ForHonor/Q10819_ForHonor.java (working copy)
- @@ -41,15 +41,16 @@
- // NPC
- private static final int OLYMPIAD_MANAGER = 31688;
- // Items
- - private static final int PROOF_OF_BATTLE = 45872;
- + private static final int PROOF_OF_BATTLE_2 = 45873;
- private static final int ISHUMA_CERTIFICATE = 45630;
- private static final int SIR_KRISTOF_RODEMAI_CERTIFICATE = 45631;
- - private static final int DAICHIR_SERTIFICATE = 45628;
- + private static final int DAICHIR_CERTIFICATE = 45628;
- // Rewards
- private static final int OLYMPIAD_MANAGER_CERTIFICATE = 45629;
- private static final int BATTLE_QUICK_HEALING_POTION = 45945;
- // Misc
- private static final int MIN_LEVEL = 99;
- + private static final int PROOF_OF_BATTLE_2_NEEDED = 20;
- public Q10819_ForHonor()
- {
- @@ -58,7 +59,7 @@
- addTalkId(OLYMPIAD_MANAGER);
- addCondMinLevel(MIN_LEVEL, "31688-02.html");
- addCondStartedQuest(Q10817_ExaltedOneWhoOvercomesTheLimit.class.getSimpleName(), "31688-03.html");
- - registerQuestItems(PROOF_OF_BATTLE);
- + registerQuestItems(PROOF_OF_BATTLE_2);
- }
- @Override
- @@ -87,11 +88,11 @@
- }
- case "31688-09.html":
- {
- - if (qs.isCond(2))
- + if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= PROOF_OF_BATTLE_2_NEEDED))
- {
- if ((player.getLevel() >= MIN_LEVEL))
- {
- - if (hasQuestItems(player, DAICHIR_SERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE))
- + if (hasQuestItems(player, DAICHIR_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE))
- {
- htmltext = "31688-10.html";
- }
- @@ -99,7 +100,7 @@
- {
- htmltext = event;
- }
- - takeItems(player, PROOF_OF_BATTLE, -1);
- + takeItems(player, PROOF_OF_BATTLE_2, PROOF_OF_BATTLE_2_NEEDED);
- giveItems(player, BATTLE_QUICK_HEALING_POTION, 180);
- giveItems(player, OLYMPIAD_MANAGER_CERTIFICATE, 1);
- qs.exitQuest(false, true);
- @@ -133,8 +134,13 @@
- {
- htmltext = "31688-07.html";
- }
- - else if (qs.isCond(2))
- + else if (qs.isCond(1) && (getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= PROOF_OF_BATTLE_2_NEEDED))
- {
- + qs.setCond(2);
- + htmltext = "31688-07a.html";
- + }
- + else if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= PROOF_OF_BATTLE_2_NEEDED))
- + {
- htmltext = "31688-08.html";
- }
- break;
- @@ -155,9 +161,9 @@
- final QuestState qs = getQuestState(player, false);
- if ((qs != null) && qs.isCond(1))
- {
- - giveItems(player, PROOF_OF_BATTLE, 1);
- + giveItems(player, PROOF_OF_BATTLE_2, 1);
- playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- - if (getQuestItemsCount(player, PROOF_OF_BATTLE) >= 100)
- + if (getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= PROOF_OF_BATTLE_2_NEEDED)
- {
- qs.setCond(2, true);
- }
- Index: dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-07.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-07.html (working copy)
- @@ -1,5 +1,6 @@
- <html><body>Maestro Ishuma:<br>
- Well, if you got that, take the materials I give you and try making one.<br>
- If you need more <font color="LEVEL">Recipe: Citrine Pendant</font> or <font color="LEVEL">Citrine Pendant Fragments</font> let me know. You'll have to get the other materials, though.<br>
- -Here, take them.
- +Here, take them.<br>
- +You can craft a Citrine Pendant, or you can pay the Black Marketeer of Mammon to craft it.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-06.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-06.html (working copy)
- @@ -1,4 +1,6 @@
- <html><body>Sir Kristof Rodemai:<br>
- Help those who are weaker than you. Help them grow stronger, and you'll be able to receive a <font color="LEVEL">Mentee's Mark</font>.<br>
- -That will be the proof that you've taken the time to help those who are weaker than you.
- +That will be the proof that you've taken the time to help those who are weaker than you.<br><br>
- +Or you can try another way, lead them into battle.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10821_HelpingOthers 30756-06a.html">"I'll do that."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-06a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-06a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-06a.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Sir Kristof Rodemai:<br>
- +Help those who are weaker than you. Lead them into battle and help them grow stronger.<br>
- +That will be the proof that you've taken the time to help those who are weaker than you.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-07a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-07a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-07a.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Sir Kristof Rodemai:<br>
- +You haven't passed my test yet.<br>
- +Become a leader for those who are weaker and help them grow.</font>.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-08a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-08a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10821_HelpingOthers/30756-08a.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Sir Kristof Rodemai:<br>
- +You've passed the test I gave you.<br>
- +How was to lead those weaker than you? You learned that being a great warrior is not all about just being strong, right?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10821_HelpingOthers 30756-09.html">"Yes."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10821_HelpingOthers/Q10821_HelpingOthers.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10821_HelpingOthers/Q10821_HelpingOthers.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10821_HelpingOthers/Q10821_HelpingOthers.java (working copy)
- @@ -18,6 +18,11 @@
- 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.npc.OnAttackableKill;
- import org.l2jmobius.gameserver.model.quest.Quest;
- import org.l2jmobius.gameserver.model.quest.QuestState;
- import org.l2jmobius.gameserver.model.quest.State;
- @@ -32,10 +37,10 @@
- public class Q10821_HelpingOthers extends Quest
- {
- // NPC
- - private static final int SIR_ERIC_RODEMAI = 30756;
- + private static final int SIR_KRISTOF_RODEMAI = 30756;
- // Items
- private static final int MENTEE_MARK = 33804;
- - private static final int DAICHIR_SERTIFICATE = 45628;
- + private static final int DAICHIR_CERTIFICATE = 45628;
- private static final int OLYMPIAD_MANAGER_CERTIFICATE = 45629;
- private static final int ISHUMA_CERTIFICATE = 45630;
- // Rewards
- @@ -43,12 +48,14 @@
- private static final int SPELLBOOK_FAVOR_OF_THE_EXALTED = 45928;
- // Misc
- private static final int MIN_LEVEL = 99;
- + private static final int MENTEE_MARKS_NEEDED = 45000;
- + private static final int PARTY_LEADER_TIMES = 2; // XXX: POW: 2 FF: 15
- public Q10821_HelpingOthers()
- {
- super(10821);
- - addStartNpc(SIR_ERIC_RODEMAI);
- - addTalkId(SIR_ERIC_RODEMAI);
- + addStartNpc(SIR_KRISTOF_RODEMAI);
- + addTalkId(SIR_KRISTOF_RODEMAI);
- addCondMinLevel(MIN_LEVEL, "30756-02.html");
- addCondStartedQuest(Q10817_ExaltedOneWhoOvercomesTheLimit.class.getSimpleName(), "30756-03.html");
- // registerQuestItems(MENTEE_MARK); Should they be removed when abandoning quest?
- @@ -78,13 +85,19 @@
- htmltext = event;
- break;
- }
- + case "30756-06a.html":
- + {
- + qs.setCond(2);
- + htmltext = event;
- + break;
- + }
- case "30756-09.html":
- {
- - if (qs.isCond(1) && (getQuestItemsCount(player, MENTEE_MARK) >= 45000))
- + if ((qs.isCond(1) && (getQuestItemsCount(player, MENTEE_MARK) >= MENTEE_MARKS_NEEDED)) || qs.isCond(3))
- {
- if ((player.getLevel() >= MIN_LEVEL))
- {
- - if (hasQuestItems(player, DAICHIR_SERTIFICATE, ISHUMA_CERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE))
- + if (hasQuestItems(player, DAICHIR_CERTIFICATE, ISHUMA_CERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE))
- {
- htmltext = "30756-10.html";
- }
- @@ -92,7 +105,10 @@
- {
- htmltext = event;
- }
- - takeItems(player, MENTEE_MARK, 45000);
- + if (qs.isCond(1))
- + {
- + takeItems(player, MENTEE_MARK, MENTEE_MARKS_NEEDED);
- + }
- giveItems(player, SIR_KRISTOF_RODEMAI_CERTIFICATE, 1);
- giveItems(player, SPELLBOOK_FAVOR_OF_THE_EXALTED, 1);
- qs.exitQuest(false, true);
- @@ -122,14 +138,33 @@
- }
- case State.STARTED:
- {
- - if (getQuestItemsCount(player, MENTEE_MARK) >= 45000)
- + switch (qs.getCond())
- {
- - htmltext = "30756-08.html";
- + case 1:
- + {
- + if (getQuestItemsCount(player, MENTEE_MARK) >= MENTEE_MARKS_NEEDED)
- + {
- + htmltext = "30756-08.html";
- + }
- + else
- + {
- + htmltext = "30756-07.html";
- + }
- + break;
- + }
- + case 3:
- + {
- + if (qs.isMemoState(2))
- + {
- + htmltext = "30756-08a.html";
- + }
- + else
- + {
- + htmltext = "30756-07a.html";
- + }
- + break;
- + }
- }
- - else
- - {
- - htmltext = "30756-07.html";
- - }
- break;
- }
- case State.COMPLETED:
- @@ -140,4 +175,47 @@
- }
- return htmltext;
- }
- +
- + @RegisterEvent(EventType.ON_ATTACKABLE_KILL)
- + @RegisterType(ListenerRegisterType.GLOBAL_MONSTERS)
- + public void onAttackableKill(OnAttackableKill event)
- + {
- + final PlayerInstance player = event.getAttacker();
- + if (player == null)
- + {
- + return;
- + }
- + final QuestState qs = getQuestState(player, false);
- + if (qs == null)
- + {
- + return;
- + }
- + if (player.getParty() == null)
- + {
- + return;
- + }
- + if (player.getParty().getLeader() != player)
- + {
- + return;
- + }
- + if (!event.getTarget().isRaid())
- + {
- + return;
- + }
- + if (event.getTarget().isRaidMinion())
- + {
- + return;
- + }
- +
- + if (qs.isCond(2))
- + {
- + final int memo = qs.getMemoState() + 1;
- + qs.setMemoState(memo);
- +
- + if (memo >= PARTY_LEADER_TIMES)
- + {
- + qs.setCond(3, true);
- + }
- + }
- + }
- }
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-07.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-07.html (working copy)
- @@ -1,5 +1,4 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
- -Do you have all the certificates?<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-08.html">"Yes, here."</Button>
- +You are not ready to be called by me. Come back when you are ready.<br>
- +(Only Noblesse characters Lv. 100 or above can perform this quest.)
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-08.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-08.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-08.html (working copy)
- @@ -1,4 +1,5 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -The power given to us by the gods... we called it Noblesse. But you've proven that we are now able to overcome any limits without the protection of the gods.<br>
- -Now that you've shattered the limits set by the gods, we will call you <font color="LEVEL">Exalted</font>. You are now one step above Noblesse. Congratulations.
- +You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
- +Do you have all the certificates?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-09.html">"Yes, here."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-09.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-09.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-09.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Eva's Knight Lionel Hunter:<br>
- +The power given to us by the gods... we called it Noblesse. But you've proven that we are now able to overcome any limits without the protection of the gods.<br>
- +Now that you've shattered the limits set by the gods, we will call you <font color="LEVEL">Exalted</font>. You are now one step above Noblesse. Congratulations.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/Q10823_ExaltedOneWhoShattersTheLimit.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/Q10823_ExaltedOneWhoShattersTheLimit.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/Q10823_ExaltedOneWhoShattersTheLimit.java (working copy)
- @@ -34,7 +34,7 @@
- // NPC
- private static final int LIONEL = 33907;
- // Items
- - private static final int MERLOT_SERTIFICATE = 46056;
- + private static final int MERLOT_CERTIFICATE = 46056;
- private static final int KURTIZ_CERTIFICATE = 46057;
- private static final int MAMMON_CERTIFICATE = 45635;
- private static final int GUSTAV_CERTIFICATE = 45636;
- @@ -53,9 +53,9 @@
- super(10823);
- addStartNpc(LIONEL);
- addTalkId(LIONEL);
- - addCondMinLevel(MIN_LEVEL, "");
- + addCondMinLevel(MIN_LEVEL, "33907-07.html");
- addCondCompletedQuest(Q10817_ExaltedOneWhoOvercomesTheLimit.class.getSimpleName(), "33907-02.html");
- - registerQuestItems(LIONEL_MISSION_LIST_3, MERLOT_SERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE);
- + registerQuestItems(LIONEL_MISSION_LIST_3, MERLOT_CERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE);
- }
- @Override
- @@ -86,14 +86,18 @@
- }
- break;
- }
- - case "33907-08.html":
- + case "33907-09.html":
- {
- - if (hasQuestItems(player, MERLOT_SERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE) && ((player.getDualClass() != null) && (player.getDualClass().getLevel() >= MIN_DUALCLASS_LEVEL)))
- + if (hasQuestItems(player, MERLOT_CERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE) && ((player.getDualClass() != null) && (player.getDualClass().getLevel() >= MIN_DUALCLASS_LEVEL)))
- {
- giveItems(player, EXALTED_CLOAK, 1);
- giveItems(player, OBTAIN_EXALTED_STATUS, 1);
- giveItems(player, EXALTED_TIARA, 1);
- giveItems(player, DIGNITY_OF_THE_EXALTED, 1);
- + // Give Exalted status here?
- + // https://l2wiki.com/Noblesse
- + player.setNobleLevel(2);
- + player.broadcastUserInfo();
- qs.exitQuest(false, true);
- htmltext = event;
- }
- @@ -118,9 +122,9 @@
- }
- case State.STARTED:
- {
- - if (hasQuestItems(player, MERLOT_SERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE) && ((player.getDualClass() != null) && (player.getDualClass().getLevel() >= MIN_DUALCLASS_LEVEL)))
- + if (hasQuestItems(player, MERLOT_CERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE) && ((player.getDualClass() != null) && (player.getDualClass().getLevel() >= MIN_DUALCLASS_LEVEL)))
- {
- - htmltext = "33907-07.html";
- + htmltext = "33907-08.html";
- }
- else
- {
- Index: dist/game/data/scripts/quests/Q10824_ConfrontingTheGreatestDanger/Q10824_ConfrontingTheGreatestDanger.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10824_ConfrontingTheGreatestDanger/Q10824_ConfrontingTheGreatestDanger.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10824_ConfrontingTheGreatestDanger/Q10824_ConfrontingTheGreatestDanger.java (working copy)
- @@ -45,44 +45,67 @@
- private static final int PROOF_OF_PREPARATION = 80824;
- private static final ItemHolder LIONEL_HUNTERS_LIST_PART_3 = new ItemHolder(45637, 1);
- // Boss
- - private static final int[] BOSS =
- + private static final int[] DIM_RAID_RBS =
- {
- - 25745, // test
- - 25747 // test
- + 29283, // Vengeful Lerazia (Gludin - South gate)
- + 29284, // Vengeful Edaire (Gludin - West gate)
- + 29285, // Vengeful Agonia (Gludin - North gate)
- + 29278, // Vengeful Agarez (Gludio - North Gate)
- + 29279, // Vengeful Oretross (Gludio - West Gate)
- + 29280, // Vengeful Eligos (Gludio - South Gate)
- + 29268, // Crook The Mad (Giran - North Gate)
- + 29269, // Houpon The Warden (Giran - West Gate)
- + 29270, // Guillotine Of Death (Giran - South Gate)
- + 29263, // Harp (Aden - West Gate)
- + 29260, // Maliss (Aden - East Gate)
- + 29261, // Isadora (Aden - South Gate)
- + 29298, // Varbasion (Oren - North Gate)
- + 29299, // Varmonia (Oren - East Gate)
- + 29300, // Varkaron (Oren - South Gate)
- + 29273, // Lindvior Herald Numa (Goddard - East Gate)
- + 29274, // Valakas Herald Potigia (Goddard - North Gate)
- + 29275, // Antharas Herald Komabor (Goddard - West Gate)
- + 29288, // Nerva Orc Nergatt (Schuttgart - West Gate)
- + 29289, // Amden Orc Turation (Schuttgart - South Gate)
- + 29290, // Nerva Chief Turakan (Schuttgart - East Gate)
- + 29293, // Theor (Gainak - South West Gate)
- + 29294, // Tebird (Gainak - West Gate)
- + 29295 // Tegaffe (Gainak - North Gate)
- };
- // Mobs
- 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
- + 24149, // Devil Nightmare
- + 24150, // Devil Warrior
- + 24151, // Devil Guardian
- + 24152, // Devil Sinist
- + 24153, // Devil Varos
- + 24154, // Demonic Wizard
- 24155, // Demonic Warrior
- - 24154, // Demonic Wizard
- + 24156, // Demonic Archer
- + 24157, // Demonic Keras
- 24158, // Demonic Weiss
- - 24157, // Demonic Keras
- - 24156, // Demonic Archer
- - // Raider's Crossroads Mobs
- - 23572, // Nymph Astra
- - 23573, // Nymph Astra
- +
- + // Enchanted Valley
- + 23566, // Nymph rose
- + 23567, // Nymph rose
- 23568, // Nymph Lily
- 23569, // Nymph Lily
- - 23566, // Nymph rose
- - 23567, // Nymph rose
- 23570, // Nymph Tulip
- 23571, // Nymph Tulip
- - 23581, // Afros
- - 23578 // Nymph Sentinel
- + 23572, // Nymph Astra
- + 23573, // Nymph Astra
- + 23578, // Nymph Sentinel
- + 23581 // Afros
- };
- // Rewards
- - private static final int MERLOT_SERTIFICATE = 46056;
- + private static final int MERLOT_CERTIFICATE = 46056;
- private static final int SPELLBOOK_BLESSING_OF_THE_EXALTED = 45926;
- // Misc
- private static final int MIN_LEVEL = 100;
- @@ -146,7 +169,7 @@
- htmltext = event;
- }
- takeItems(player, MARK_OF_ADVANCE, -3);
- - giveItems(player, MERLOT_SERTIFICATE, 1);
- + giveItems(player, MERLOT_CERTIFICATE, 1);
- giveItems(player, SPELLBOOK_BLESSING_OF_THE_EXALTED, 1);
- qs.exitQuest(false, true);
- }
- @@ -172,7 +195,7 @@
- htmltext = event;
- }
- takeItems(player, PROOF_OF_PREPARATION, -20000);
- - giveItems(player, MERLOT_SERTIFICATE, 1);
- + giveItems(player, MERLOT_CERTIFICATE, 1);
- giveItems(player, SPELLBOOK_BLESSING_OF_THE_EXALTED, 1);
- qs.exitQuest(false, true);
- }
- @@ -255,7 +278,7 @@
- qs.setCond(4, true);
- }
- }
- - else if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE) && CommonUtil.contains(BOSS, npc.getId()))
- + else if ((qs != null) && qs.isCond(1) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE) && CommonUtil.contains(DIM_RAID_RBS, npc.getId()))
- {
- giveItems(player, MARK_OF_ADVANCE, 1);
- playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- Index: dist/game/data/scripts/quests/Q10825_ForVictory/30870-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10825_ForVictory/30870-06.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10825_ForVictory/30870-06.html (working copy)
- @@ -1,5 +1,7 @@
- <html><body>Captain Kurtiz:<br>
- You are quick to understand.<br>
- You have to participate in a <font color="LEVEL">siege</font> or a <font color="LEVEL">dimensional siege</font>. When you reach the <font color="LEVEL">Flag of Protection</font> inside, you'll be able to obtain a <font color="LEVEL">Mark of Valor</font>. Your mission is to obtain <font color="LEVEL">10</font> of these.<br>
- -You'll be able to get more marks when you participate in a dimensional siege or in the Aden or Rune Castle Sieges.
- +You'll be able to get more marks when you participate in a dimensional siege or in the Aden or Rune Castle Sieges.<br><br>
- +Or you can try another way, fight in Grand Olympiad or Ceremony of Chaos.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10825_ForVictory 30870-06a.html">"I'll do that."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10825_ForVictory/30870-06a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10825_ForVictory/30870-06a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10825_ForVictory/30870-06a.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Captain Kurtiz:<br>
- +You have to participate in <font color="LEVEL">Grand Olympiad</font> or <font color="LEVEL">Ceremony of Chaos</font>.Your mission is to obtain <font color="LEVEL">30 Proof of Settlement</font>.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10825_ForVictory/30870-07a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10825_ForVictory/30870-07a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10825_ForVictory/30870-07a.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Captain Kurtiz:<br>
- +You didn't forget what you have to do, right? Well, I can tell you again.<br>
- +You have to participate in <font color="LEVEL">Grand Olympiad</font> or <font color="LEVEL">Ceremony of Chaos</font>.Your mission is to obtain <font color="LEVEL">30 Proof of Settlement</font>.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10825_ForVictory/30870-08a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10825_ForVictory/30870-08a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10825_ForVictory/30870-08a.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Captain Kurtiz:<br>
- +Did you get <font color="LEVEL">30 Proof of Settlement</font>?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10825_ForVictory 30870-09.html">"Yes."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10825_ForVictory/CastleFlagOfProtection-02.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10825_ForVictory/CastleFlagOfProtection-02.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10825_ForVictory/CastleFlagOfProtection-02.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Flag of Protection:<br>
- +(You received a Mark of Valor.)<br><br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10825_ForVictory/CastleFlagOfProtection-03.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10825_ForVictory/CastleFlagOfProtection-03.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10825_ForVictory/CastleFlagOfProtection-03.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Flag of Protection:<br>
- +(You can only get reward if you are registered as attacker or defender.)<br><br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10825_ForVictory/CastleFlagOfProtection-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10825_ForVictory/CastleFlagOfProtection-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10825_ForVictory/CastleFlagOfProtection-04.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Flag of Protection:<br>
- +(You can only get reward from one castle per day.)<br><br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10825_ForVictory/Q10825_ForVictory.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10825_ForVictory/Q10825_ForVictory.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10825_ForVictory/Q10825_ForVictory.java (working copy)
- @@ -23,7 +23,8 @@
- 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.sieges.OnCastleSiegeFinish;
- +import org.l2jmobius.gameserver.model.events.impl.ceremonyofchaos.OnCeremonyOfChaosMatchResult;
- +import org.l2jmobius.gameserver.model.events.impl.olympiad.OnOlympiadMatchResult;
- import org.l2jmobius.gameserver.model.quest.Quest;
- import org.l2jmobius.gameserver.model.quest.QuestState;
- import org.l2jmobius.gameserver.model.quest.State;
- @@ -38,10 +39,21 @@
- public class Q10825_ForVictory extends Quest
- {
- // NPC
- - private static final int KURTIZ = 34019;
- + private static final int KURTIZ = 30870;
- + // Flag of Protection NPCs
- + private static final int FLAG_GLUDIO = 36741; // 1 Gludio Castle
- + private static final int FLAG_DION = 36742; // 2 Dion Castle
- + private static final int FLAG_GIRAN = 36743; // 3 Giran Castle
- + private static final int FLAG_OREN = 36744; // 4 Oren Castle
- + private static final int FLAG_ADEN = 36745; // 5 Aden Castle
- + private static final int FLAG_INNADRIL = 36746; // 6 Innadril Castle
- + private static final int FLAG_GODDARD = 36747; // 7 Goddard Castle
- + private static final int FLAG_RUNE = 36748; // 8 Rune Castle
- + private static final int FLAG_SCHUTTGART = 36749; // 9 Schuttgart Castle
- // Items
- + private static final int PROOF_OF_SETTLEMENT = 80825;
- private static final int MARK_OF_VALOR = 46059;
- - private static final int MERLOT_SERTIFICATE = 46056;
- + private static final int MERLOT_CERTIFICATE = 46056;
- private static final int MAMMON_CERTIFICATE = 45635;
- private static final int GUSTAV_CERTIFICATE = 45636;
- // Rewards
- @@ -49,15 +61,17 @@
- private static final int SPELLBOOK_SUMMON_BATTLE_POTION = 45927;
- // Misc
- private static final int MIN_LEVEL = 100;
- + private static final int MARK_OF_VALOR_NEEDED = 10;
- + private static final int PROOF_OF_SETTLEMENT_NEEDED = 30;
- public Q10825_ForVictory()
- {
- super(10825);
- addStartNpc(KURTIZ);
- - addTalkId(KURTIZ);
- + addTalkId(KURTIZ, FLAG_GLUDIO, FLAG_DION, FLAG_GIRAN, FLAG_OREN, FLAG_ADEN, FLAG_INNADRIL, FLAG_GODDARD, FLAG_RUNE, FLAG_SCHUTTGART);
- addCondMinLevel(MIN_LEVEL, "30870-02.html");
- addCondStartedQuest(Q10823_ExaltedOneWhoShattersTheLimit.class.getSimpleName(), "30870-03.html");
- - registerQuestItems(MARK_OF_VALOR);
- + registerQuestItems(PROOF_OF_SETTLEMENT, MARK_OF_VALOR);
- }
- @Override
- @@ -81,16 +95,23 @@
- case "30870-06.html":
- {
- qs.startQuest();
- + qs.set("TimeCheck", 0);
- htmltext = event;
- break;
- }
- + case "30870-06a.html":
- + {
- + qs.setCond(3);
- + htmltext = event;
- + break;
- + }
- case "30870-09.html":
- {
- - if (qs.isCond(1) && (getQuestItemsCount(player, MARK_OF_VALOR) >= 10))
- + if ((qs.isCond(2) && (getQuestItemsCount(player, MARK_OF_VALOR) >= MARK_OF_VALOR_NEEDED)) || (qs.isCond(4) && (getQuestItemsCount(player, PROOF_OF_SETTLEMENT) >= PROOF_OF_SETTLEMENT_NEEDED)))
- {
- if ((player.getLevel() >= MIN_LEVEL))
- {
- - if (hasQuestItems(player, MERLOT_SERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE))
- + if (hasQuestItems(player, MERLOT_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE))
- {
- htmltext = "30870-10.html";
- }
- @@ -98,6 +119,14 @@
- {
- htmltext = event;
- }
- + if (qs.isCond(2))
- + {
- + takeItems(player, MARK_OF_VALOR, MARK_OF_VALOR_NEEDED);
- + }
- + if (qs.isCond(4))
- + {
- + takeItems(player, PROOF_OF_SETTLEMENT, PROOF_OF_SETTLEMENT_NEEDED);
- + }
- giveItems(player, KURTIZ_CERTIFICATE, 1);
- giveItems(player, SPELLBOOK_SUMMON_BATTLE_POTION, 1);
- qs.exitQuest(false, true);
- @@ -109,6 +138,82 @@
- }
- break;
- }
- + case "mark":
- + {
- + final long TIME_CHECK = Long.parseLong(qs.get("TimeCheck"));
- + final long CURRENT_TIME = System.currentTimeMillis();
- + final long SIEGE_LENGTH = 7200000; // 2 hours in milliseconds
- + switch (npc.getId())
- + {
- + case FLAG_GLUDIO:
- + case FLAG_DION:
- + case FLAG_GIRAN:
- + case FLAG_OREN:
- + case FLAG_INNADRIL:
- + case FLAG_GODDARD:
- + case FLAG_SCHUTTGART:
- + {
- + if (player != null)
- + {
- + if (qs.isCond(1) && (getQuestItemsCount(player, MARK_OF_VALOR) < MARK_OF_VALOR_NEEDED) && (CURRENT_TIME > (TIME_CHECK + SIEGE_LENGTH)))
- + {
- + if (player.getSiegeState() == 0)
- + {
- + htmltext = "CastleFlagOfProtection-03.html"; // Reward only siege participants
- + }
- + else
- + {
- + qs.set("TimeCheck", Long.toString(CURRENT_TIME));
- + giveItems(player, MARK_OF_VALOR, 1);
- + if (getQuestItemsCount(player, MARK_OF_VALOR) >= MARK_OF_VALOR_NEEDED)
- + {
- + qs.setCond(2, true);
- + }
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + htmltext = "CastleFlagOfProtection-02.html"; // Reward received
- + }
- + }
- + else
- + {
- + htmltext = "CastleFlagOfProtection-04.html"; // Reward only from one castle per day
- + }
- + }
- + break;
- + }
- + case FLAG_ADEN:
- + case FLAG_RUNE:
- + {
- + if (player != null)
- + {
- + if (qs.isCond(1) && (getQuestItemsCount(player, MARK_OF_VALOR) < MARK_OF_VALOR_NEEDED) && (CURRENT_TIME > (TIME_CHECK + SIEGE_LENGTH)))
- + {
- + if (player.getSiegeState() == 0)
- + {
- + htmltext = "CastleFlagOfProtection-03.html"; // Reward only siege participants
- + }
- + else
- + {
- + qs.set("TimeCheck", String.valueOf(CURRENT_TIME));
- + giveItems(player, MARK_OF_VALOR, 2);
- + if (getQuestItemsCount(player, MARK_OF_VALOR) >= MARK_OF_VALOR_NEEDED)
- + {
- + qs.setCond(2, true);
- + }
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + htmltext = "CastleFlagOfProtection-02.html"; // Reward received
- + }
- + }
- + else
- + {
- + htmltext = "CastleFlagOfProtection-04.html"; // Reward only from one castle per day
- + }
- + }
- + break;
- + }
- +
- + }
- + }
- + break;
- }
- return htmltext;
- }
- @@ -127,14 +232,33 @@
- }
- case State.STARTED:
- {
- - if (getQuestItemsCount(player, MARK_OF_VALOR) >= 10)
- + switch (qs.getCond())
- {
- - htmltext = "30870-08.html";
- + case 1:
- + {
- + if (getQuestItemsCount(player, MARK_OF_VALOR) >= MARK_OF_VALOR_NEEDED)
- + {
- + htmltext = "30870-08.html";
- + }
- + else
- + {
- + htmltext = "30870-07.html";
- + }
- + break;
- + }
- + case 3:
- + {
- + if (getQuestItemsCount(player, PROOF_OF_SETTLEMENT) >= PROOF_OF_SETTLEMENT_NEEDED)
- + {
- + htmltext = "30870-08a.html";
- + }
- + else
- + {
- + htmltext = "30870-07a.html";
- + }
- + break;
- + }
- }
- - else
- - {
- - htmltext = "30870-07.html";
- - }
- break;
- }
- case State.COMPLETED:
- @@ -153,16 +277,28 @@
- final QuestState qs = getQuestState(player, false);
- if ((qs != null) && qs.isCond(1))
- {
- - giveItems(player, MARK_OF_VALOR, 1);
- + giveItems(player, PROOF_OF_SETTLEMENT, 1);
- playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + if (getQuestItemsCount(player, PROOF_OF_SETTLEMENT) >= PROOF_OF_SETTLEMENT_NEEDED)
- + {
- + qs.setCond(4, true);
- + }
- }
- }
- }
- - @RegisterEvent(EventType.ON_CASTLE_SIEGE_FINISH)
- + @RegisterEvent(EventType.ON_CEREMONY_OF_CHAOS_MATCH_RESULT)
- @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
- - private void OnCastleSiegeFinish(OnCastleSiegeFinish event)
- + private void onCeremonyOfChaosMatchResult(OnCeremonyOfChaosMatchResult event)
- {
- - event.getSiege().getPlayersInZone().forEach(this::manageQuestProgress);
- + event.getMembers().forEach(player -> manageQuestProgress(player.getPlayer()));
- }
- +
- + @RegisterEvent(EventType.ON_OLYMPIAD_MATCH_RESULT)
- + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
- + private void onOlympiadMatchResult(OnOlympiadMatchResult event)
- + {
- + manageQuestProgress(event.getWinner().getPlayer());
- + manageQuestProgress(event.getLoser().getPlayer());
- + }
- }
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10826_LuckBefittingOfTheStatus/Q10826_LuckBefittingOfTheStatus.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10826_LuckBefittingOfTheStatus/Q10826_LuckBefittingOfTheStatus.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10826_LuckBefittingOfTheStatus/Q10826_LuckBefittingOfTheStatus.java (working copy)
- @@ -38,7 +38,7 @@
- private static final int BLACKSMITH_OF_MAMMON = 31126;
- // Items
- private static final int LADY_KNIFE = 45645;
- - private static final int MERLOT_SERTIFICATE = 46056;
- + private static final int MERLOT_CERTIFICATE = 46056;
- private static final int KURTIZ_CERTIFICATE = 46057;
- private static final int GUSTAV_CERTIFICATE = 45636;
- // Rewards
- @@ -118,7 +118,7 @@
- {
- if ((player.getLevel() >= MIN_LEVEL))
- {
- - if (hasQuestItems(player, KURTIZ_CERTIFICATE, MERLOT_SERTIFICATE, GUSTAV_CERTIFICATE))
- + if (hasQuestItems(player, KURTIZ_CERTIFICATE, MERLOT_CERTIFICATE, GUSTAV_CERTIFICATE))
- {
- htmltext = "31126-15.html";
- }
- Index: dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java (working copy)
- @@ -39,7 +39,7 @@
- // NPC
- private static final int GUSTAV = 30760;
- // Items
- - private static final int MERLOT_SERTIFICATE = 46056;
- + private static final int MERLOT_CERTIFICATE = 46056;
- private static final int KURTIZ_CERTIFICATE = 46057;
- private static final int MAMMON_CERTIFICATE = 45635;
- // Rewards
- @@ -47,6 +47,7 @@
- private static final int SPELLBOOK_FAVOR_OF_THE_EXALTED = 45870;
- // Misc
- private static final int MIN_LEVEL = 100;
- + private static final int PARTY_LEADER_TIMES = 5; // XXX: POW: 5 FF: 30
- public Q10827_StepUpToLead()
- {
- @@ -87,7 +88,7 @@
- {
- if ((player.getLevel() >= MIN_LEVEL))
- {
- - if (hasQuestItems(player, KURTIZ_CERTIFICATE, MERLOT_SERTIFICATE, MAMMON_CERTIFICATE))
- + if (hasQuestItems(player, KURTIZ_CERTIFICATE, MERLOT_CERTIFICATE, MAMMON_CERTIFICATE))
- {
- htmltext = "30760-10.html";
- }
- @@ -97,12 +98,6 @@
- }
- giveItems(player, GUSTAV_CERTIFICATE, 1);
- giveItems(player, SPELLBOOK_FAVOR_OF_THE_EXALTED, 1);
- -
- - // Give Exalted status here?
- - // https://l2wiki.com/Noblesse
- - player.setNobleLevel(2);
- - player.broadcastUserInfo();
- -
- qs.exitQuest(false, true);
- }
- else
- @@ -185,7 +180,7 @@
- final int memo = qs.getMemoState() + 1;
- qs.setMemoState(memo);
- - if (memo >= 30)
- + if (memo >= PARTY_LEADER_TIMES)
- {
- qs.setCond(2, true);
- }
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-01.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-01.htm (working copy)
- @@ -1,5 +1,5 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -Great job passing the second test. I knew you would be able to do it.<br>
- -Now, only the third test is left. Are you ready for it?<br>
- -<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-03.htm">"Yes, I'm ready."</Button>
- +You already passed the three tests to gain the new power. However, the world has changed, and so has the path you should take.<br>
- +Would you like to learn about the qualification test for this new stage?<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10873_ExaltedReachingAnotherLevel 33907-03.htm">"Go on."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-03.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-03.htm (working copy)
- @@ -1,5 +1,5 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -All the efforts you've made so far are simple compared to what you'll have to do now.<br>
- -You must remember that it is not about overcoming the limit, but about learning that there's no limit at all. Do you understand what I'm saying?<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-04.htm">"Yes."</Button>
- +I'm fully aware that you worked hard to rise to the Exalted position and achieve the power you wished. However, the world has changed. More precisely, the birth of a new power has changed the world.<br>
- +In either case, we've come to the same conclusion: we must move on. The world does not need ones who linger in the present. You must start a new journey and overcome new trials.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10873_ExaltedReachingAnotherLevel 33907-04.htm">"Go on."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-04.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-04.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-04.htm (working copy)
- @@ -1,6 +1,5 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -You've already overcome your limit. There's no such thing as a limit now. That's what you will be proving on this third test.<br>
- -The things you've obtained as you improved will make you even stronger, and what you will obtain from now on will help you prove yourself.<br>
- -Are you ready to not go back?<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-05.html">"I'm ready."</Button>
- +During this journey, you must reach a new stage, establish a solid foothold, and expand your influence to this world. To save the world, you must be able not only to develop yourself but also to spread your power to other areas. I know it sounds like a riddle.<br>
- +But I can promise you one thing, by the time you pass the test, you will have reached the new stage. Would you take the fourth test?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10873_ExaltedReachingAnotherLevel 33907-05.html">"Yes, that is correct."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-05.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-05.html (working copy)
- @@ -1,7 +1,9 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -This is the third test.<br>
- -You must overcome not just the limit of the power you were born with, but also the limit of the new power you obtained.<br>
- -Make sure your <font color="LEVEL">Lv. 104</font>. Then, go find <font color="LEVEL">Sporcha</font> in <font color="LEVEL">Refugee Village</font>, <font color="LEVEL">Captain Krenaht</font> in the <font color="LEVEL">Giants Cave</font>, the <font color="LEVEL">Santiago</font>, and <font color="LEVEL">Arcturus</font> in the <font color="LEVEL">Hunters Village</font>, and pass the tests they give you. It's best that you hear about the tests from them.<br><br><br>
- -Remember to bring back their certificates.<br>
- -If you forget who you must go to, refer to the guide I'll be giving you.
- +I'll tell you about the fourth test.<br>
- +First, you must reach <font color="LEVEL">Lv. 104</font> to prove you are qualified to advance to the new stage. You must also pass the tests of the following people and receive their certificates.<br>
- +Your testers include <font color="LEVEL">Commando Captain Sporcha</font> in the <font color="LEVEL">Hellbound Refugee Camp</font>, <font color="LEVEL">Giant Tracker Leader Krenaht</font> in the <font color="LEVEL">Giant's Cave</font>, <font color="LEVEL">Fishing Guild Leader Santiago</font> in <font color="LEVEL">Heine</font>, and <font color="LEVEL">Hunter's Guild President Arcturus</font> in the <font color="LEVEL">Hunter's Village</font>.<br><br><br>
- +Only they know what they'll test you on, so go talk to them. If you forget who you must go to, refer to the guide I'll be giving you<br><br>
- +All this can be substituted by completing a mission from <font color="LEVEL">High Priest Sylvain</font> in the <font color="LEVEL">Einhasad Temple</font> in the <font color="LEVEL">Town of Dion</font>.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10873_ExaltedReachingAnotherLevel 33907-05a.html">"I'll do that."</Button>
- +</body></html>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-05a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-05a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-05a.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Eva's Knight Lionel Hunter:<br>
- +I'll tell you about the fourth test.<br>
- +You need to complete a mission from <font color="LEVEL">High Priest Sylvain</font> in the <font color="LEVEL">Einhasad Temple</font> in the <font color="LEVEL">Town of Dion</font>.<br>
- +Only him knows what he'll test you on, so go talk to him. If you forget who you must go to, refer to the guide I'll be giving you<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-06.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-06.html (working copy)
- @@ -1,6 +1,6 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -You haven't finished all the tests. In order to overcome your limit, you must pass all the tests.<br>
- +You haven't finished all the tests. In order to reach another level, you must pass all the tests.<br>
- You must overcome not just the limit of the power you were born with, but also the limit of the new power you obtained.<br>
- -Make sure your <font color="LEVEL">Lv. 104</font>. Then, go find <font color="LEVEL">Sporcha</font> in <font color="LEVEL">Refugee Village</font>, <font color="LEVEL">Captain Krenaht</font> in the <font color="LEVEL">Giants Cave</font>, the <font color="LEVEL">Santiago</font>, and <font color="LEVEL">Arcturus</font> in the <font color="LEVEL">Hunters Village</font>, and pass the tests they give you.<br>
- +Make sure you're <font color="LEVEL">Lv. 104</font>. Then, go find <font color="LEVEL">Commando Captain Sporcha</font> in the <font color="LEVEL">Hellbound Refugee Camp</font>, <font color="LEVEL">Giant Tracker Leader Krenaht</font> in the <font color="LEVEL">Giant's Cave</font>, <font color="LEVEL">Fishing Guild Leader Santiago</font> in <font color="LEVEL">Heine</font>, and <font color="LEVEL">Hunter's Guild President Arcturus</font> in the <font color="LEVEL">Hunter's Village</font>, and pass the tests they give you.<br><br><br>
- It's best that you hear about the tests from them. Remember to bring back their certificates.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-06a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-06a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-06a.html (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Eva's Knight Lionel Hunter:<br>
- +You haven't finished the test. In order to reach another level, you must pass the test.<br>
- +You must overcome not just the limit of the power you were born with, but also the limit of the new power you obtained.<br>
- +Make sure you're <font color="LEVEL">Lv. 104</font>. Then, go find <font color="LEVEL">High Priest Sylvain</font> in the <font color="LEVEL">Einhasad Temple</font> in the <font color="LEVEL">Town of Dion</font>.<br><br><br>
- +It's best that you hear about the test from him. Remember to bring back his certificate.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-07.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-07.html (working copy)
- @@ -1,5 +1,5 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
- -Do you have all the certificates?<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-08.html">"Yes, here."</Button>
- +Have you completed all tests?<br>
- +Congratulations on passing them all. Did you bring back all the certificates?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10873_ExaltedReachingAnotherLevel 33907-08.html">"Yes, I did."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-07a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-07a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-07a.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Eva's Knight Lionel Hunter:<br>
- +Have you completed the test?<br>
- +Congratulations on passing it. Did you bring back the certificate?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10873_ExaltedReachingAnotherLevel 33907-08.html">"Yes, I did."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-08.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-08.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/33907-08.html (working copy)
- @@ -1,4 +1,4 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -The power given to us by the gods... we called it Noblesse. But you've proven that we are now able to overcome any limits without the protection of the gods.<br>
- -Now that you've shattered the limits set by the gods, we will call you <font color="LEVEL">true exalted nobleman</font>. Get access to the next quest Exalted, Guide to Power. Congratulations.
- +You took the first step forward the new stage rather than being content staying still. Congratulations for passing the fourth test.<br>
- +Don't forget that more tests remain. For now, enjoy your achievement.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/Q10873_ExaltedReachingAnotherLevel.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/Q10873_ExaltedReachingAnotherLevel.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10873_ExaltedReachingAnotherLevel/Q10873_ExaltedReachingAnotherLevel.java (working copy)
- @@ -35,12 +35,12 @@
- private static final int LIONEL = 33907;
- // Items
- private static final int SPORCHA_CERTIFICATE = 47830;
- - private static final int KRENAHT_CERTIFICATE = 47831;
- - private static final int SANTIAGO_SERTIFICATE = 47832;
- + private static final int KEKROPUS_CERTIFICATE = 47831;
- + private static final int SANTIAGO_CERTIFICATE = 47832;
- private static final int ARCTURUS_CERTIFICATE = 47833;
- + private static final int SYLVAIN_CERTIFICATE = 80828;
- private static final int LIONEL_MISSION_LIST_4 = 47829;
- // Rewards
- - private static final int VITALITY_OF_THE_EXALTED = 47854;
- private static final int DIGNITY_OF_THE_EXALTED = 47852;
- // Misc
- private static final int MIN_LEVEL = 103;
- @@ -53,7 +53,7 @@
- addTalkId(LIONEL);
- addCondMinLevel(MIN_LEVEL, "33907-00.htm");
- addCondCompletedQuest(Q10823_ExaltedOneWhoShattersTheLimit.class.getSimpleName(), "33907-00.htm");
- - registerQuestItems(LIONEL_MISSION_LIST_4, SPORCHA_CERTIFICATE, KRENAHT_CERTIFICATE, SANTIAGO_SERTIFICATE, ARCTURUS_CERTIFICATE);
- + registerQuestItems(LIONEL_MISSION_LIST_4, SPORCHA_CERTIFICATE, KEKROPUS_CERTIFICATE, SANTIAGO_CERTIFICATE, ARCTURUS_CERTIFICATE, SYLVAIN_CERTIFICATE);
- }
- @Override
- @@ -83,12 +83,18 @@
- }
- break;
- }
- + case "33907-05a.html":
- + {
- + qs.setCond(3);
- + htmltext = event;
- + break;
- + }
- case "33907-08.html":
- {
- - if (hasQuestItems(player, SPORCHA_CERTIFICATE, KRENAHT_CERTIFICATE, SANTIAGO_SERTIFICATE, ARCTURUS_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- + if ((hasQuestItems(player, SYLVAIN_CERTIFICATE) || hasQuestItems(player, SPORCHA_CERTIFICATE, KEKROPUS_CERTIFICATE, SANTIAGO_CERTIFICATE, ARCTURUS_CERTIFICATE)) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- {
- - giveItems(player, VITALITY_OF_THE_EXALTED, 1);
- giveItems(player, DIGNITY_OF_THE_EXALTED, 1);
- + addExpAndSp(player, 1178303740714L, 1178303740);
- qs.exitQuest(false, true);
- htmltext = event;
- }
- @@ -112,14 +118,33 @@
- }
- case State.STARTED:
- {
- - if (hasQuestItems(player, SPORCHA_CERTIFICATE, KRENAHT_CERTIFICATE, SANTIAGO_SERTIFICATE, ARCTURUS_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- + switch (qs.getCond())
- {
- - htmltext = "33907-07.html";
- + case 1:
- + {
- + if (hasQuestItems(player, SPORCHA_CERTIFICATE, KEKROPUS_CERTIFICATE, SANTIAGO_CERTIFICATE, ARCTURUS_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- + {
- + htmltext = "33907-07.html";
- + }
- + else
- + {
- + htmltext = "33907-06.html";
- + }
- + break;
- + }
- + case 3:
- + {
- + if (hasQuestItems(player, SYLVAIN_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- + {
- + htmltext = "33907-07a.html";
- + }
- + else
- + {
- + htmltext = "33907-06a.html";
- + }
- + break;
- + }
- }
- - else
- - {
- - htmltext = "33907-06.html";
- - }
- break;
- }
- case State.COMPLETED:
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-00.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Fire Dragon Bride Leona Blackbird:<br>
- +You have to bring me 10.000 <font color="LEVEL">Proof of Qualification</font> to obtain my certificate.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-01.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Fire Dragon Bride Leona Blackbird:<br>
- +Have you brought me 10.000 <font color="LEVEL">Proof of Qualification</font>, if not then go get them, to obtain the certificate.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-02.htm">"Yes, here they are."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-02.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Fire Dragon Bride Leona Blackbird:<br>
- +Good! You have brought 10.000 <font color="LEVEL">Proof of Qualification</font>.<br>
- +Now choose your reward:<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-03.htm">"4.500 GIANT TRACKERS Faction Points."</Button>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-04.htm">"4.500 BLACKBIRD CLAN Faction Points."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-03.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Fire Dragon Bride Leona Blackbird:<br>
- +You received <font color="LEVEL">4.500 GIANT TRACKERS Faction Points</font>.<br>
- +Now you can get your certificate.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-05.html">"Obtain certificate."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-04.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-04.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-04.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Fire Dragon Bride Leona Blackbird:<br>
- +You received <font color="LEVEL">4.500 BLACKBIRD CLAN Faction Points</font>.<br>
- +Now you can get your certificate.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-05.htm">"Obtain certificate."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-05.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-05.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-05.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Fire Dragon Bride Leona Blackbird:<br>
- +You received your <font color="LEVEL">Faction Points</font>.<br>
- +Now you can get your certificate.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 31595-06.html">"Obtain certificate."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-06.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/31595-06.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Fire Dragon Bride Leona Blackbird:<br>
- +I knew you could do it. Here's the certificate. I hope you become even stronger.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Commando Captain Sporcha:<br>
- +You are not ready to be called by me. Come back when you are ready.<br>
- +(The Exalted, Reaching Another Level quest is in progress and level 103+ and Lionel Hunter Mission List - 4 should be in the inventory.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-01.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Commando Captain Sporcha:<br>
- +I've been planning for a long time! I mean... well, I belive one who wants to lead the world... must pass a very difficult test.<br>
- +If I had a chance to give such test, I'd make an unimaginably difficult test. That's what I thought.<br>
- +Are you listening to me?<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10874_AgainstTheNewEnemy 34230-02.htm">"Go on."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-02.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Commando Captain Sporcha:<br>
- +Lionel Hunter said that you would lead the world. A leader must have dignity. I ask you to prove it.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10874_AgainstTheNewEnemy 34230-03.htm">"Ask what to prove."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-03.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Commando Captain Sporcha:<br>
- +Then, I have the chance I'd always dreamed of! Hahaha. Oops, I'm sorry. I'm just so happy to have this chance.<br>
- +If anyone wants to take my test, I'll put him through the most terrible time of their lives... If you're not ready, you'd better leave now. Otherwise, you'll die before your time.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10874_AgainstTheNewEnemy 34230-04.htm">"I will take the test."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-04.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-04.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-04.htm (working copy)
- @@ -0,0 +1,7 @@
- +<html><body>Commando Captain Sporcha:<br>
- +Eh? Are you sure? Oh... well, you might be qualified to undertake my mission.<br>
- +Actually, it's not that complicated. You only need to grow strong enough to defeat unknown enemies.<br>
- +How? That's simple.<br>
- +Hunting. Will you accept the mission?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10874_AgainstTheNewEnemy 34230-05.html">"Alright."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-05.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Commando Captain Sporcha:<br>
- +Listen carefully, I won't explain this again. Hunt monsters in <font color="LEVEL">Beleth's Magic Circle, the Desert Quarry, and the upper floor of the Giant's Cave</font> and collect 10.000 <font color="LEVEL">Proof of Qualification</font>. What do you say? It's quite hard, right? Hahahaha!!!<br><br><br>
- +Ah, after completing the mission, go to Leona Blackbird, not to me. She's the one who can give you a certificate.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-06.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-06.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Commando Captain Sporcha:<br>
- +Hunt monsters in <font color="LEVEL">Beleth's Magic Circle, the Desert Quarry, and the upper floor of the Giant's Cave</font> and collect 10.000 <font color="LEVEL">Proof of Qualification</font>.<br><br><br>
- +Then go to Leona Blackbird, not to me. She's the one who can give you a certificate.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/34230-07.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Commando Captain Sporcha:<br>
- +You have 10.000 <font color="LEVEL">Proof of Qualification</font>, now go to Leona Blackbird, not to me. She's the one who can give you a certificate.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java (working copy)
- @@ -0,0 +1,273 @@
- +/*
- + * 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.Q10874_AgainstTheNewEnemy;
- +
- +import org.l2jmobius.Config;
- +import org.l2jmobius.gameserver.enums.Faction;
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +import org.l2jmobius.gameserver.instancemanager.QuestManager;
- +import org.l2jmobius.gameserver.model.actor.Npc;
- +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
- +import org.l2jmobius.gameserver.model.holders.ItemHolder;
- +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.util.Util;
- +
- +import quests.Q10873_ExaltedReachingAnotherLevel.Q10873_ExaltedReachingAnotherLevel;
- +
- +/**
- + * Against the New Enemy (10874)
- + * @URL https://l2wiki.com/Against_the_New_Enemy
- + * @author Mobius
- + */
- +public class Q10874_AgainstTheNewEnemy extends Quest
- +{
- + // NPC
- + private static final int CAPTAIN_SPORCHA = 34230;
- + private static final int LEONA_BLACKBIRD = 31595;
- + private static final int[] MONSTERS =
- + {
- + // Desert Quarry
- + 23811, // Cantera Tanya
- + 23812, // Cantera Deathmoz
- + 23813, // Cantera Floxis
- + 23814, // Cantera Belika
- + 23815, // Cantera Bridget
- +
- + // Beleth's Magic Circle
- + 23354, // Decay Hannibal
- + 23355, // Armor Beast
- + 23356, // Klein Soldier
- + 23357, // Disorder Warrior
- + 23360, // Bizuard
- + 23361, // Mutated Fly
- +
- + 23367, // Armor Beast
- + 23368, // Klein Soldier
- + 23369, // Disorder Warrior
- + 23372, // Bizuard
- + 23373, // Mutated Fly
- +
- + // Giant's Cave Upper Floor
- + 23727, // Shaqrima Bathus
- + 23728, // Shaqrima Carcass
- + 23729, // Shaqrima Kshana
- + 23733, // Lesser Giant Warrior
- + 23734, // Lesser Giant Wizard
- + 23735, // Captive Familiar Spirit
- + 23736, // Captive Hell Demon
- + 23737, // Captive Succubus
- + 23738, // Captive Phantom
- + 23742, // Naia Bathus, Demons Foreman
- + 23743, // Naia Karkus, Demons Foreman
- + 23744, // Naia Kshana, Demons Foreman
- + 23746, // Recovering Lesser Giant Warrior
- + 23747, // Recovering Lesser Giant Wizard
- + 23749, // Root of the Lesser Giant
- + 23754, // Essence of the Lesser Giant
- + };
- + // Items
- + private static final int PROOF_OF_QUALIFICATION = 47839;
- + private static final ItemHolder LIONEL_HUNTERS_LIST_PART_4 = new ItemHolder(47829, 1);
- + // Rewards
- + private static final int LEONA_CERTIFICATE = 47830;
- + private static final int FP = 4500; // Faction points
- + // Misc
- + private static final int MIN_LEVEL = 103;
- + private static final int PROOF_OF_QUALIFICATION_NEEDED = 10000;
- +
- + public Q10874_AgainstTheNewEnemy()
- + {
- + super(10874);
- + addStartNpc(CAPTAIN_SPORCHA);
- + addTalkId(CAPTAIN_SPORCHA, LEONA_BLACKBIRD);
- + addKillId(MONSTERS);
- + addCondMinLevel(MIN_LEVEL, "34230-00.html");
- + addCondStartedQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName(), "34230-00.html");
- + registerQuestItems(PROOF_OF_QUALIFICATION);
- + }
- +
- + @Override
- + public String onAdvEvent(String event, Npc npc, PlayerInstance player)
- + {
- + String htmltext = null;
- + final QuestState qs = getQuestState(player, false);
- + if (qs == null)
- + {
- + return htmltext;
- + }
- + switch (event)
- + {
- + case "31595-02.htm":
- + case "31595-05.htm":
- + case "34230-02.htm":
- + case "34230-03.htm":
- + case "34230-04.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34230-05.html":
- + {
- + if (hasItem(player, LIONEL_HUNTERS_LIST_PART_4))
- + {
- + qs.startQuest();
- + htmltext = event;
- + }
- + break;
- + }
- + case "31595-03.htm":
- + {
- + if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_QUALIFICATION) >= PROOF_OF_QUALIFICATION_NEEDED))
- + {
- + addFactionPoints(player, Faction.GIANT_TRACKERS, FP); // add FP points to GIANT_TRACKERS Faction
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + qs.setCond(3, true);
- + htmltext = event;
- + }
- + break;
- + }
- + case "31595-04.htm":
- + {
- + if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_QUALIFICATION) >= PROOF_OF_QUALIFICATION_NEEDED))
- + {
- + addFactionPoints(player, Faction.BLACKBIRD_CLAN, FP); // add FP points to BLACKBIRD_CLAN Faction
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + qs.setCond(3, true);
- + htmltext = event;
- + }
- + break;
- + }
- + case "31595-06.html":
- + {
- + if (qs.isCond(3) && (getQuestItemsCount(player, PROOF_OF_QUALIFICATION) >= PROOF_OF_QUALIFICATION_NEEDED))
- + {
- + takeItems(player, PROOF_OF_QUALIFICATION, PROOF_OF_QUALIFICATION_NEEDED);
- + giveItems(player, LEONA_CERTIFICATE, 1);
- + qs.exitQuest(false, true);
- +
- + final Quest mainQ = QuestManager.getInstance().getQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName());
- + if (mainQ != null)
- + {
- + mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
- + }
- + htmltext = event;
- + }
- + else
- + {
- + htmltext = getNoQuestLevelRewardMsg(player);
- + }
- + break;
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onTalk(Npc npc, PlayerInstance player)
- + {
- + String htmltext = getNoQuestMsg(player);
- + final QuestState qs = getQuestState(player, true);
- + switch (qs.getState())
- + {
- + case State.CREATED:
- + {
- + if (hasItem(player, LIONEL_HUNTERS_LIST_PART_4))
- + {
- + htmltext = "34230-01.htm";
- + }
- + else
- + {
- + htmltext = "34230-00.htm";
- + }
- + break;
- + }
- + case State.STARTED:
- + {
- + switch (npc.getId())
- + {
- + case CAPTAIN_SPORCHA:
- + {
- + if (qs.isCond(1))
- + {
- + if (getQuestItemsCount(player, PROOF_OF_QUALIFICATION) >= PROOF_OF_QUALIFICATION_NEEDED)
- + {
- + htmltext = "34230-07.html";
- + }
- + else
- + {
- + htmltext = "34230-06.html";
- + }
- + }
- + break;
- + }
- + case LEONA_BLACKBIRD:
- + {
- + if (qs.isCond(2))
- + {
- + htmltext = "31595-01.htm";
- + }
- + else if (qs.isCond(3))
- + {
- + htmltext = "31595-05.htm";
- + }
- + else
- + {
- + htmltext = "31595-00.html";
- + }
- + }
- + break;
- + }
- + }
- + break;
- +
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- +
- + }
- +
- + @Override
- + public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
- + {
- + if ((getQuestItemsCount(player, PROOF_OF_QUALIFICATION) < PROOF_OF_QUALIFICATION_NEEDED) && (getRandom(100) < 90))
- + {
- + giveItems(player, PROOF_OF_QUALIFICATION, 1);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- + }
- + if ((getQuestItemsCount(player, PROOF_OF_QUALIFICATION) >= PROOF_OF_QUALIFICATION_NEEDED) && (player.getLevel() >= MIN_LEVEL))
- + {
- + qs.setCond(2, true);
- + }
- + }
- + }
- +
- + @Override
- + public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
- + {
- + executeForEachPlayer(killer, npc, isSummon, true, false);
- + return super.onKill(npc, killer, isSummon);
- + }
- +}
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34222-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34222-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34222-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Hierarch Kekropus:<br>
- +I don't think you are done yet.<br>
- +Bring me the <font color="LEVEL">Blackbird Clan Certificate</font> and the <font color="LEVEL">Giant Trackers Certificate</font>.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34222-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34222-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34222-01.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Hierarch Kekropus:<br>
- +Did you bring me <font color="LEVEL">Blackbird Clan Certificate</font> and <font color="LEVEL">Giant Trackers Certificate</font> requested by Krenaht?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34222-02.html">"Yes, here they are."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34222-02.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34222-02.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34222-02.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Hierarch Kekropus:<br>
- +I knew you could do it. Here's the certificate. I hope you become even stronger.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +You are not ready to be called by me. Come back when you are ready.<br>
- +(The Exalted, Reaching Another Level quest is in progress and level 103+ and Lionel Hunter Mission List - 4 should be in the inventory.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-01.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +Did Lionel Hunter send you? You look special.<br>
- +Yes, the right person for my mission.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10875_ForReputation 34237-02.htm">"Go on"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-02.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +Well, you need to gain fame to use that power correctly... but it's not easy to gain fame, either good or bad...<br>
- +Nevertheless, if you gain fame, you will be able to exercise influence, earning a ground to use your power.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34237-03.htm">"Ask about the mission"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-03.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +As far as I know, after the title Exalted was created, many new factions have emerged. They might influence one another, or it might be just a coincidence.<br>
- +In either case, what I want from you is to build a relationship with them and earn their trust. Can you do that?
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34237-04.html">"Alright"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-04.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +Okay. Your mission is to help the <font color="LEVEL">Blackbird Clan</font> and the <font color="LEVEL">Giant Trackers</font> and earn an amity level of 6 with them. You must receive certificates to prove your achievement.<br>
- +Receive the <font color="LEVEL">Blackbird Clan Certificate</font> from Leona Blackbird and the <font color="LEVEL">Giant Trackers Certificate</font> from Kekropus. To complete the mission, report to Kekropus.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-05.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +I don't think you are done yet.<br>
- +Receive the <font color="LEVEL">Blackbird Clan Certificate</font> from Leona Blackbird and the <font color="LEVEL">Giant Trackers Certificate</font> from Kekropus. To complete the mission, report to Kekropus.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-06.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-06.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-06.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +You did it! How was it? Not that bad, right?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34237-07.html">"It was okay."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-07.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +You've proven me right. I knew you could do it.<br>
- +Go see Hierarch Kekropus in Giran Town now.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/Q10875_ForReputation.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/Q10875_ForReputation.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/Q10875_ForReputation.java (working copy)
- @@ -0,0 +1,169 @@
- +/*
- + * 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.Q10875_ForReputation;
- +
- +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.Q10873_ExaltedReachingAnotherLevel.Q10873_ExaltedReachingAnotherLevel;
- +
- +/**
- + * For Reputation (10875)
- + * @URL https://l2wiki.com/For_Reputation https://www.youtube.com/watch?v=7i-M4U4qxaA
- + * @author Mobius
- + */
- +public class Q10875_ForReputation extends Quest
- +{
- + // NPC
- + private static final int KRENAHT = 34237;
- + private static final int KEKROPUS = 34222;
- + // Items
- + private static final int BLACKBIRD_CLAN_CERTIFICATION = 47840;
- + private static final int GIANT_TRACKERS_CERTIFICATION = 47841;
- + // Rewards
- + private static final int KEKROPUS_CERTIFICATE = 47831;
- + private static final int SPELLBOOK_VITALITY_OF_THE_EXALTED = 47831;
- + // Misc
- + private static final int MIN_LEVEL = 103;
- +
- + public Q10875_ForReputation()
- + {
- + super(10875);
- + addStartNpc(KRENAHT);
- + addTalkId(KRENAHT, KEKROPUS);
- + addCondMinLevel(MIN_LEVEL, "34237-00.html");
- + addCondStartedQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName(), "34237-00.html");
- + }
- +
- + @Override
- + public String onAdvEvent(String event, Npc npc, PlayerInstance player)
- + {
- + String htmltext = null;
- + final QuestState qs = getQuestState(player, false);
- + if (qs == null)
- + {
- + return htmltext;
- + }
- +
- + switch (event)
- + {
- + case "34237-02.htm":
- + case "34237-03.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34237-04.html":
- + {
- + qs.startQuest();
- + htmltext = event;
- + break;
- + }
- + case "34237-07.html":
- + {
- + qs.setCond(2);
- + htmltext = event;
- + break;
- + }
- + case "34222-02.html":
- + {
- + if (qs.isCond(2))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + if (!hasQuestItems(player, BLACKBIRD_CLAN_CERTIFICATION, GIANT_TRACKERS_CERTIFICATION))
- + {
- + htmltext = "34222-00.html";
- + }
- + else
- + {
- + htmltext = event;
- + giveItems(player, KEKROPUS_CERTIFICATE, 1);
- + giveItems(player, SPELLBOOK_VITALITY_OF_THE_EXALTED, 1);
- + qs.exitQuest(false, true);
- + }
- + }
- + 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 = "34237-01.htm";
- + break;
- + }
- + case State.STARTED:
- + {
- + switch (npc.getId())
- + {
- + case KRENAHT:
- + {
- + if (qs.isCond(1) && !hasQuestItems(player, BLACKBIRD_CLAN_CERTIFICATION, GIANT_TRACKERS_CERTIFICATION))
- + {
- + htmltext = "34237-05.html";
- + }
- + else if (qs.isCond(2))
- + {
- + htmltext = "34237-07.htm";
- + }
- + else
- + {
- + htmltext = "34237-06.htm";
- + }
- + break;
- + }
- + case KEKROPUS:
- + {
- + if (qs.isCond(2))
- + {
- + htmltext = "34222-01.htm";
- + }
- + else
- + {
- + htmltext = "34222-00.html";
- + }
- + break;
- + }
- + }
- + break;
- + }
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- + }
- +}
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34222-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34222-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34222-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Hierarch Kekropus:<br>
- +I don't think you are done yet.<br>
- +Bring me the <font color="LEVEL">Blackbird Clan Certificate</font> and the <font color="LEVEL">Giant Trackers Certificate</font>.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34222-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34222-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34222-01.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Hierarch Kekropus:<br>
- +Did you bring me <font color="LEVEL">Blackbird Clan Certificate</font> and <font color="LEVEL">Giant Trackers Certificate</font> requested by Krenaht?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34222-02.html">"Yes, here they are."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34222-02.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34222-02.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34222-02.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Hierarch Kekropus:<br>
- +I knew you could do it. Here's the certificate. I hope you become even stronger.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +You are not ready to be called by me. Come back when you are ready.<br>
- +(The Exalted, Reaching Another Level quest is in progress and level 103+ and Lionel Hunter Mission List - 4 should be in the inventory.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-01.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +Did Lionel Hunter send you? You look special.<br>
- +Yes, the right person for my mission.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10875_ForReputation 34237-02.htm">"Go on"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-02.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +Well, you need to gain fame to use that power correctly... but it's not easy to gain fame, either good or bad...<br>
- +Nevertheless, if you gain fame, you will be able to exercise influence, earning a ground to use your power.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34237-03.htm">"Ask about the mission"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-03.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +As far as I know, after the title Exalted was created, many new factions have emerged. They might influence one another, or it might be just a coincidence.<br>
- +In either case, what I want from you is to build a relationship with them and earn their trust. Can you do that?
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34237-04.html">"Alright"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-04.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +Okay. Your mission is to help the <font color="LEVEL">Blackbird Clan</font> and the <font color="LEVEL">Giant Trackers</font> and earn an amity level of 6 with them. You must receive certificates to prove your achievement.<br>
- +Receive the <font color="LEVEL">Blackbird Clan Certificate</font> from Leona Blackbird and the <font color="LEVEL">Giant Trackers Certificate</font> from Kekropus. To complete the mission, report to Kekropus.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-05.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +I don't think you are done yet.<br>
- +Receive the <font color="LEVEL">Blackbird Clan Certificate</font> from Leona Blackbird and the <font color="LEVEL">Giant Trackers Certificate</font> from Kekropus. To complete the mission, report to Kekropus.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-06.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-06.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-06.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +You did it! How was it? Not that bad, right?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10875_ForReputation 34237-07.html">"It was okay."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/34237-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/34237-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/34237-07.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Giant Tracker Leader Krenaht:<br>
- +You've proven me right. I knew you could do it.<br>
- +Go see Hierarch Kekropus in Giran Town now.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10875_ForReputation/Q10875_ForReputation.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10875_ForReputation/Q10875_ForReputation.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10875_ForReputation/Q10875_ForReputation.java (working copy)
- @@ -0,0 +1,169 @@
- +/*
- + * 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.Q10875_ForReputation;
- +
- +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.Q10873_ExaltedReachingAnotherLevel.Q10873_ExaltedReachingAnotherLevel;
- +
- +/**
- + * For Reputation (10875)
- + * @URL https://l2wiki.com/For_Reputation https://www.youtube.com/watch?v=7i-M4U4qxaA
- + * @author Mobius
- + */
- +public class Q10875_ForReputation extends Quest
- +{
- + // NPC
- + private static final int KRENAHT = 34237;
- + private static final int KEKROPUS = 34222;
- + // Items
- + private static final int BLACKBIRD_CLAN_CERTIFICATION = 47840;
- + private static final int GIANT_TRACKERS_CERTIFICATION = 47841;
- + // Rewards
- + private static final int KEKROPUS_CERTIFICATE = 47831;
- + private static final int SPELLBOOK_VITALITY_OF_THE_EXALTED = 47831;
- + // Misc
- + private static final int MIN_LEVEL = 103;
- +
- + public Q10875_ForReputation()
- + {
- + super(10875);
- + addStartNpc(KRENAHT);
- + addTalkId(KRENAHT, KEKROPUS);
- + addCondMinLevel(MIN_LEVEL, "34237-00.html");
- + addCondStartedQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName(), "34237-00.html");
- + }
- +
- + @Override
- + public String onAdvEvent(String event, Npc npc, PlayerInstance player)
- + {
- + String htmltext = null;
- + final QuestState qs = getQuestState(player, false);
- + if (qs == null)
- + {
- + return htmltext;
- + }
- +
- + switch (event)
- + {
- + case "34237-02.htm":
- + case "34237-03.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34237-04.html":
- + {
- + qs.startQuest();
- + htmltext = event;
- + break;
- + }
- + case "34237-07.html":
- + {
- + qs.setCond(2);
- + htmltext = event;
- + break;
- + }
- + case "34222-02.html":
- + {
- + if (qs.isCond(2))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + if (!hasQuestItems(player, BLACKBIRD_CLAN_CERTIFICATION, GIANT_TRACKERS_CERTIFICATION))
- + {
- + htmltext = "34222-00.html";
- + }
- + else
- + {
- + htmltext = event;
- + giveItems(player, KEKROPUS_CERTIFICATE, 1);
- + giveItems(player, SPELLBOOK_VITALITY_OF_THE_EXALTED, 1);
- + qs.exitQuest(false, true);
- + }
- + }
- + 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 = "34237-01.htm";
- + break;
- + }
- + case State.STARTED:
- + {
- + switch (npc.getId())
- + {
- + case KRENAHT:
- + {
- + if (qs.isCond(1) && !hasQuestItems(player, BLACKBIRD_CLAN_CERTIFICATION, GIANT_TRACKERS_CERTIFICATION))
- + {
- + htmltext = "34237-05.html";
- + }
- + else if (qs.isCond(2))
- + {
- + htmltext = "34237-07.htm";
- + }
- + else
- + {
- + htmltext = "34237-06.htm";
- + }
- + break;
- + }
- + case KEKROPUS:
- + {
- + if (qs.isCond(2))
- + {
- + htmltext = "34222-01.htm";
- + }
- + else
- + {
- + htmltext = "34222-00.html";
- + }
- + break;
- + }
- + }
- + break;
- + }
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- + }
- +}
- Index: dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-00.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-00.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-00.htm (working copy)
- @@ -1,4 +1,4 @@
- -<html><body>Santiago:<br>
- +<html><body>Fishing Guild Leader Santiago:<br>
- You are not ready to be called by me. Come back when you are ready.<br>
- (The Exalted, Reaching Another Level quest is is progress and level 103+ and Lionel Hunter Mission List - 4 should be in the inventory.)
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-01.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-01.htm (working copy)
- @@ -1,5 +1,4 @@
- -<html><body>Santiago:<br>
- -Santiago, the Head of the Fisheries Guild, said he needed special qualities to get an Honorary Status.<br>
- -character traits and even perform work that does not fit the noble face.<br>
- -<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10876_LeadersGrace 34138-02.htm">"Yes, I'm ready."</Button>
- +<html><body>Fishing Guild Leader Santiago:<br>
- +You must be the one Lionel Hunter talked about. Ah, no need to raise your guard. I'm a fisher. I have no interest in fighting. I mean, I'm not in the position to give such missions.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10876_LeadersGrace 34138-02.htm">"Go on."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-02.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-02.htm (working copy)
- @@ -1,5 +1,4 @@
- -<html><body>Santiago:<br>
- -so how? you are ready? You can, I believe you! become a true foodie!.<br>
- -you need to try very hard if you want to earn my trust and respect for you.<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10876_LeadersGrace 34138-03.htm">"Yes."</Button>
- +<html><body>Fishing Guild Leader Santiago:<br>
- +Lionel Hunter said that you would lead the world. A leader must have dignity. I ask you to prove it.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10876_LeadersGrace 34138-03.htm">"Ask what to prove."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-03.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-03.htm (working copy)
- @@ -1,4 +1,5 @@
- -<html><body>Santiago:<br>
- -Fishing Guild Leader Santiago says the one who seeks out new power should have the grace that matches the power.<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10876_LeadersGrace 34138-04.html">"I'm ready."</Button>
- +<html><body>Fishing Guild Leader Santiago:<br>
- +The strong and the privileged usually don't understand the poor. But a good leader must care for the poor. If one wins, another loses. If you ignore this rule, you're no better than those monsters out there.<br>
- +My point is that your mission is to help the poor.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10876_LeadersGrace 34138-04.html">"Alright."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-04.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-04.html (working copy)
- @@ -1,4 +1,5 @@
- -<html><body>Santiago:<br>
- -I charge you to obtain <font color="LEVEL">Special Fish Stew</font> (50 pcs.) <font color="LEVEL">And R-Grade Gems</font> (80)<br>
- -as soon as you complete the task, come to me.
- +<html><body>Fishing Guild Leader Santiago:<br>
- +There are some poor people in this area. Gather <font color="LEVEL">50 Special Fish Stews</font> to feed them.<br>
- +To make 1 Special Fish Stew, you need <font color="LEVEL">1 Powerful Fish</font> and <font color="LEVEL">1 Magic Spice</font>. Once you get them, ask me and I'll exchange them immediately. You can gather the igredients yourself or buy them.<br>
- +I'd also like to teach them how to fish, but I don't have enough materials for fishing rods. Please gather <font color="LEVEL">80 Gemstones (R-Grade)</font> for me. That's your mission.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-05.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-05.html (working copy)
- @@ -1,4 +1,4 @@
- -<html><body>Santiago:<br>
- -I charge you to obtain <font color="LEVEL">Special Fish Stew</font> (50 pcs.) <font color="LEVEL">And R-Grade Gems</font> (80)<br>
- +<html><body>Fishing Guild Leader Santiago:<br>
- +I charge you to obtain <font color="LEVEL">50 Special Fish Stews</font> and <font color="LEVEL">80 Gemstones (R-Grade)</font><br>
- as soon as you complete the task, come to me.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-06.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-06.html (working copy)
- @@ -1,4 +1,4 @@
- -<html><body>Santiago:<br>
- +<html><body>Fishing Guild Leader Santiago:<br>
- You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
- here is your reward.<br>
- <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10876_LeadersGrace 34138-07.html">"Yes, here."</Button>
- Index: dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-07.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10876_LeadersGrace/34138-07.html (working copy)
- @@ -1,4 +1,4 @@
- -<html><body>Santiago:<br>
- +<html><body>Fishing Guild Leader Santiago:<br>
- The power given to us by the gods... But you've proven that we are now able to overcome any limits without the protection of the gods.<br>
- Now that you have violated the restrictions set by the gods, we will call you a master and give you this.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10876_LeadersGrace/Q10876_LeadersGrace.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10876_LeadersGrace/Q10876_LeadersGrace.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10876_LeadersGrace/Q10876_LeadersGrace.java (working copy)
- @@ -40,7 +40,7 @@
- private static final int R_GRADE_GEMSTONE = 19440;
- private static final ItemHolder LIONEL_HUNTERS_LIST_PART_4 = new ItemHolder(47829, 1);
- // Rewards
- - private static final int SANTIAGO_SERTIFICATE = 47832;
- + private static final int SANTIAGO_CERTIFICATE = 47832;
- private static final int ELCYUM_CRYSTAL = 36514;
- // Misc
- private static final int MIN_LEVEL = 103;
- @@ -88,7 +88,7 @@
- takeItems(player, SPECIAL_FISH_STEW, -50);
- takeItems(player, R_GRADE_GEMSTONE, -80);
- giveItems(player, ELCYUM_CRYSTAL, 1);
- - giveItems(player, SANTIAGO_SERTIFICATE, 1);
- + giveItems(player, SANTIAGO_CERTIFICATE, 1);
- qs.exitQuest(false, true);
- final Quest mainQ = QuestManager.getInstance().getQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName());
- Index: dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Hunters Guild Leader Arcturus:<br>
- +You are not ready to be called by me. Come back when you are ready.<br>
- +(The Exalted, Reaching Another Level quest is in progress and level 103+ and Lionel Hunter Mission List - 4 should be in the inventory.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-01.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Hunters Guild Leader Arcturus:<br>
- +I hunted countless beasts and monsters, but this world still swarms with them. Many say that the world is in this crisis. If they are right, I will wade through the crisis in my own way.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10877_BreakThroughCrisis 34267-02.htm">"Go on."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-02.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Hunters Guild Leader Arcturus:<br>
- +To complete the Hunter Guild's Guide is to save the world from threats and restore peace.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10877_BreakThroughCrisis 34267-03.htm">"Ask why"</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-03.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Hunters Guild Leader Arcturus:<br>
- +First, if we hunt monsters, the world will be safer. Second, if we know more about the monsters, we will share the information with others so that it will be used to make the world safer.<br>
- +If you dream of rising to a respected position, I advise you to join this mission.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10877_BreakThroughCrisis 34267-04.html">"Alright."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-04.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Hunters Guild Leader Arcturus:<br>
- +<font color="LEVEL">Fill 10</font> Hunter Guild's Bestiaries. You can fill them by defeating 10 of the monsters illustrated in the Bestiary. You can select even those you have defetead before.<br>
- +Note that it is useless to kill monsters of other factions.<br>
- +<font color="LEVEL">Click Menu > Bestiary, and the Bestiary page will open. Select the Hunter Guild as your faction and defeat 10 of the listed monsters to complete the mission.</font>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-05.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Hunters Guild Leader Arcturus:<br>
- +<font color="LEVEL">Fill 10</font> Hunter Guild's Bestiaries.<br>
- +As soon as you complete the task, come to me.<br>
- +<font color="LEVEL">Click Menu > Bestiary, and the Bestiary page will open. Select the Hunter Guild as your faction and defeat 10 of the listed monsters to complete the mission.</font>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-06.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-06.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Hunters Guild Leader Arcturus:<br>
- +Have you <font color="LEVEL">filled 10</font> Hunter Guild's Bestiaries?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10877_BreakThroughCrisis 34267-07.html">"Yes, here."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-07.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Hunters Guild Leader Arcturus:<br>
- +You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
- +Here is your reward.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10877_BreakThroughCrisis 34267-08.html">"Great."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-08.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-08.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/34267-08.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Hunters Guild Leader Arcturus:<br>
- +The power given to us by the gods... But you've proven that we are now able to overcome any limits without the protection of the gods.<br>
- +Now that you have violated the restrictions set by the gods, we will call you a master and give you this.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/Q10877_BreakThroughCrisis.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/Q10877_BreakThroughCrisis.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10877_BreakThroughCrisis/Q10877_BreakThroughCrisis.java (working copy)
- @@ -0,0 +1,178 @@
- +/*
- + * 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.Q10877_BreakThroughCrisis;
- +
- +import java.util.ArrayList;
- +import java.util.List;
- +
- +import org.l2jmobius.gameserver.data.xml.impl.MonsterBookData;
- +import org.l2jmobius.gameserver.enums.Faction;
- +import org.l2jmobius.gameserver.instancemanager.QuestManager;
- +import org.l2jmobius.gameserver.model.actor.Npc;
- +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
- +import org.l2jmobius.gameserver.model.holders.ItemHolder;
- +import org.l2jmobius.gameserver.model.holders.MonsterBookCardHolder;
- +import org.l2jmobius.gameserver.model.quest.Quest;
- +import org.l2jmobius.gameserver.model.quest.QuestState;
- +import org.l2jmobius.gameserver.model.quest.State;
- +
- +import quests.Q10873_ExaltedReachingAnotherLevel.Q10873_ExaltedReachingAnotherLevel;
- +
- +/**
- + * Break Through Crisis (10877)
- + * @URL https://l2wiki.com/Break_Through_Crisis
- + * @author CostyKiller
- + */
- +public class Q10877_BreakThroughCrisis extends Quest
- +{
- + // NPC
- + private static final int ARCTURUS = 34267;
- + // Items
- + private static final ItemHolder LIONEL_HUNTERS_LIST_PART_4 = new ItemHolder(47829, 1);
- + // Rewards
- + private static final int ARCTURUS_CERTIFICATE = 47833;
- + // Misc
- + private static final int MIN_LEVEL = 103;
- + private static final int BESTIARY_PAGES_NEEDED = 10;
- +
- + public Q10877_BreakThroughCrisis()
- + {
- + super(10877);
- + addStartNpc(ARCTURUS);
- + addTalkId(ARCTURUS);
- + addCondMinLevel(MIN_LEVEL, "34267-00.html");
- + addCondStartedQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName(), "34267-00.html");
- + }
- +
- + @Override
- + public String onAdvEvent(String event, Npc npc, PlayerInstance player)
- + {
- + String htmltext = null;
- + final QuestState qs = getQuestState(player, false);
- + if (qs == null)
- + {
- + return htmltext;
- + }
- + switch (event)
- + {
- + case "34267-02.htm":
- + case "34267-03.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34267-04.html":
- + {
- + if (hasItem(player, LIONEL_HUNTERS_LIST_PART_4))
- + {
- + qs.startQuest();
- + htmltext = event;
- + }
- + break;
- + }
- + case "34267-07.html":
- + {
- + qs.setCond(2);
- + htmltext = event;
- + break;
- + }
- + case "34267-08.html":
- + {
- + // 64 to 103 card ids of hunters guild mobs
- + final List<Integer> killedMobs = new ArrayList<>();
- + for (MonsterBookCardHolder card : MonsterBookData.getInstance().getMonsterBookCards())
- + {
- + if ((card.getFaction() == Faction.HUNTERS_GUILD) && (player.getMonsterBookKillCount(card.getId()) > 0))
- + {
- + killedMobs.add(card.getId());
- + }
- + }
- + if (killedMobs.size() >= BESTIARY_PAGES_NEEDED)
- + {
- + addExpAndSp(player, 34471245000L, 634471244);
- + giveItems(player, ARCTURUS_CERTIFICATE, 1);
- + qs.exitQuest(false, true);
- +
- + final Quest mainQ = QuestManager.getInstance().getQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName());
- + if (mainQ != null)
- + {
- + mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
- + }
- + htmltext = event;
- + }
- + else
- + {
- + htmltext = "34267-06.html";
- + }
- + break;
- + }
- + }
- + return htmltext;
- + }
- +
- + @Override
- + public String onTalk(Npc npc, PlayerInstance player)
- + {
- + String htmltext = getNoQuestMsg(player);
- + final QuestState qs = getQuestState(player, true);
- + switch (qs.getState())
- + {
- + case State.CREATED:
- + {
- + if (hasItem(player, LIONEL_HUNTERS_LIST_PART_4))
- + {
- + htmltext = "34267-01.htm";
- + }
- + else
- + {
- + htmltext = "34267-00.htm";
- + }
- + break;
- + }
- + case State.STARTED:
- + {
- + if (qs.isCond(1))
- + {
- + // 64 to 103 card ids of hunters guild mobs
- + final List<Integer> killedMobs = new ArrayList<>();
- + for (MonsterBookCardHolder card : MonsterBookData.getInstance().getMonsterBookCards())
- + {
- + if ((card.getFaction() == Faction.HUNTERS_GUILD) && (player.getMonsterBookKillCount(card.getId()) > 0))
- + {
- + killedMobs.add(card.getId());
- + }
- + }
- + if (killedMobs.size() >= BESTIARY_PAGES_NEEDED)
- + {
- + htmltext = "34267-06.html";
- + }
- + }
- + else
- + {
- + htmltext = "34267-05.html";
- + }
- + break;
- + }
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- + }
- +}
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-00.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-00.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-00.htm (nonexistent)
- @@ -1,4 +0,0 @@
- -<html><body>Eva's Knight Lionel Hunter:<br>
- -You are not ready to be called by me. Come back when you are ready.<br>
- -(Only characters who have completed the Exalted, Reaching Another Level quest may take this quest and level 105+.)
- -</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-00.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-00.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-00.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Eva's Knight Lionel Hunter:<br>
- +You are not ready to be called by me. Come back when you are ready.<br>
- +(Only characters who have completed the Exalted, Reaching Another Level quest may take this quest and level 104+.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-01.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-01.htm (working copy)
- @@ -1,5 +1,6 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -Great job passing the second test. I knew you would be able to do it.<br>
- -Now, only the third test is left. Are you ready for it?<br>
- -<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10879_ExaltedGuideToPower 33907-03.htm">"Yes, I'm ready."</Button>
- +You have passed three old tests and one new test.<br>
- +You may have enough qualities to be the Guide of Power.If you pass this test, all my doubts about you will change to faith.<br>
- +I'll continue to watch you. Now, will you listen to the explanation of the fifth test?<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10879_ExaltedGuideToPower 33907-03.htm">"Go on."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-03.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-03.htm (working copy)
- @@ -1,5 +1,7 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -All the efforts you've made so far are simple compared to what you'll have to do now.<br>
- -You must remember that it is not about overcoming the limit, but about learning that there's no limit at all. Do you understand what I'm saying?<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10879_ExaltedGuideToPower 33907-04.htm">"Yes."</Button>
- +You challenged your limits and overcame them.<br>
- +You also reached the new stage that no one else had experienced. For what did you endure all these trials?<br>
- +For your personal satisfaction on honor? Although you gained an incredible power in the process, the trials were arduous and painful.<br>
- +Would you tell me? What do you think is the purpose of your journey?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10879_ExaltedGuideToPower 33907-04.htm">"Ask if it was for other people."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-04.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-04.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-04.htm (working copy)
- @@ -1,6 +1,7 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -You've already overcome your limit. There's no such thing as a limit now. That's what you will be proving on this fifth test.<br>
- -The things you've obtained as you improved will make you even stronger, and what you will obtain from now on will help you prove yourself.<br>
- -Are you ready to not go back?<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10879_ExaltedGuideToPower 33907-05.html">"I'm ready."</Button>
- +You're right. Your power is no longer your own.<br>
- +You have overcome your limits and obtained the power and position so great as to influence the world. Your power may determine the fate of a village, territory or even country.<br>
- +To reach that stage, however, you must take the final test. You must pass this test to be the Guide of Power.<br>
- +Would you take the fifth test?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10879_ExaltedGuideToPower 33907-05.html">"Yes, that is correct."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-05.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-05.html (working copy)
- @@ -1,7 +1,8 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -This is the third test.<br>
- -You must overcome not just the limit of the power you were born with, but also the limit of the new power you obtained.<br>
- -Make sure your <font color="LEVEL">Lv. 104</font>. Then, go find <font color="LEVEL">Master Gyphon</font> and <font color="LEVEL">Commissioner Dinford</font> in <font color="LEVEL">Camp Blackbird</font>, <font color="LEVEL">Settlen</font> in the <font color="LEVEL">Underground Kainak</font>, the <font color="LEVEL">Admiral Keucereus</font> in the <font color="LEVEL">Ketserus Alliance Base</font>, and pass the tests they give you. It's best that you hear about the tests from them.<br><br><br>
- -Remember to bring back their certificates.<br>
- -If you forget who you must go to, refer to the guide I'll be giving you.
- +I'll tell you about the fifth test.<br>
- +First, you must reach <font color="LEVEL">Lv.105</font> to prove that you're qualified to be Guide of Power. You must also pass the tests of the following people and receive their certificates.<br>
- +The testers include <font color="LEVEL">Master Cyphona</font> and <font color="LEVEL">Quartermaster Dinford</font> in the <font color="LEVEL">Blackbird Campsite</font>, <font color="LEVEL">Owner Settlen</font> of <font color="LEVEL">Underground Gainak Mystic Tavern</font>, and <font color="LEVEL">Admiral Keucereus</font> in the <font color="LEVEL">Keucereus Alliance Base</font>.<br><br><br>
- +Only they know what they'll test you on, so go talk to them. If you forget who you must go to, refer to the guide I'll be giving you.<br><br>
- +All this can be substituted by completing a mission from <font color="LEVEL">Cardinal Seresin</font> in the <font color="LEVEL">Town of Oren</font>.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10879_ExaltedGuideToPower 33907-05a.html">"I'll do that."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-05a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-05a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-05a.html (working copy)
- @@ -0,0 +1,8 @@
- +<html><body>Eva's Knight Lionel Hunter:<br>
- +I'll tell you about the fifth test.<br>
- +First, you must reach <font color="LEVEL">Lv.105</font> to prove that you're qualified to be Guide of Power. You must also pass the tests of the following people and receive their certificates.<br>
- +The testers include <font color="LEVEL">Master Cyphona</font> and <font color="LEVEL">Quartermaster Dinford</font> in the <font color="LEVEL">Blackbird Campsite</font>, <font color="LEVEL">Owner Settlen</font> of <font color="LEVEL">Underground Gainak Mystic Tavern</font>, and <font color="LEVEL">Admiral Keucereus</font> in the <font color="LEVEL">Keucereus Alliance Base</font>.<br><br><br>
- +Only they know what they'll test you on, so go talk to them. If you forget who you must go to, refer to the guide I'll be giving you.<br><br>
- +All this can be substituted by completing a mission from <font color="LEVEL">Cardinal Seresin</font> in the <font color="LEVEL">Town of Oren</font>.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10879_ExaltedGuideToPower 33907-05a.html">"I'll do that."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-06.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-06.html (working copy)
- @@ -1,6 +1,5 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -You haven't finished all the tests. In order to overcome your limit, you must pass all the tests.<br>
- -You must overcome not just the limit of the power you were born with, but also the limit of the new power you obtained.<br>
- -Make sure your <font color="LEVEL">Lv. 104</font>. Then, go find <font color="LEVEL">Master Gyphon</font> and <font color="LEVEL">Commissioner Dinford</font> in <font color="LEVEL">Camp Blackbird</font>, <font color="LEVEL">Settlen</font> in the <font color="LEVEL">Underground Kainak</font>, the <font color="LEVEL">Admiral Keucereus</font> in the <font color="LEVEL">Ketserus Alliance Base</font>, and pass the tests they give you.<br>
- -It's best that you hear about the tests from them. Remember to bring back their certificates.
- -</body></html>
- \ No newline at end of file
- +You haven't finished all the tests. In order to become Guide of Power, you must pass all the tests.<br>
- +You must reach <font color="LEVEL">Lv.105</font>, pass the tests of the following people and receive their certificates.<br>
- +The testers include <font color="LEVEL">Master Cyphona</font> and <font color="LEVEL">Quartermaster Dinford</font> in the <font color="LEVEL">Blackbird Campsite</font>, <font color="LEVEL">Owner Settlen</font> of <font color="LEVEL">Underground Gainak Mystic Tavern</font>, and <font color="LEVEL">Admiral Keucereus</font> in the <font color="LEVEL">Keucereus Alliance Base</font>.<br><br><br>
- +Only they know what they'll test you on, so go talk to them.<br></body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-06a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-06a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-06a.html (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Eva's Knight Lionel Hunter:<br>
- +You haven't finished the test. In order to become Guide of Power, you must pass the test.<br>
- +You must reach <font color="LEVEL">Lv.105</font>, pass the test and receive a certificate.<br>
- +Go find <font color="LEVEL">Cardinal Seresin</font> in the <font color="LEVEL">Town of Oren</font>.<br>
- +Only her knows what she'll test you on, so go talk to her.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-07a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-07a.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-07a.html (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Eva's Knight Lionel Hunter:<br>
- +You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
- +Do you have the certificate?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10879_ExaltedGuideToPower 33907-08.html">"Yes, here."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-08.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-08.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/33907-08.html (working copy)
- @@ -1,4 +1,4 @@
- <html><body>Eva's Knight Lionel Hunter:<br>
- -You have passed a series of tests in order to become a Conductor of Strength.<br>
- -Get access to the next quest Obtaining a New Power. Congratulations.
- +You have passed a series of tests in order to become a Guide of Power.<br>
- +Congratulations.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/Q10879_ExaltedGuideToPower.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/Q10879_ExaltedGuideToPower.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10879_ExaltedGuideToPower/Q10879_ExaltedGuideToPower.java (working copy)
- @@ -38,13 +38,13 @@
- private static final int DINFORD_CERTIFICATE = 47836;
- private static final int SETTLEN_SERTIFICATE = 47837;
- private static final int ADMIRAL_KEUCEREUS_CERTIFICATE = 47838;
- + private static final int SERESIN_CERTIFICATE = 80829;
- private static final int LIONEL_MISSION_LIST_5 = 47834;
- // Rewards
- - private static final int VITALITY_OF_THE_EXALTED = 47855;
- private static final int DIGNITY_OF_THE_EXALTED = 47853;
- // Misc
- - private static final int MIN_LEVEL = 105;
- - private static final int MIN_COMPLETE_LEVEL = 104;
- + private static final int MIN_LEVEL = 104;
- + private static final int MIN_COMPLETE_LEVEL = 105;
- public Q10879_ExaltedGuideToPower()
- {
- @@ -51,9 +51,9 @@
- super(10879);
- addStartNpc(LIONEL);
- addTalkId(LIONEL);
- - addCondMinLevel(MIN_LEVEL, "33907-00.htm");
- - addCondCompletedQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName(), "33907-00.htm");
- - registerQuestItems(LIONEL_MISSION_LIST_5, MASTER_CYPHONA_CERTIFICATE, DINFORD_CERTIFICATE, SETTLEN_SERTIFICATE, ADMIRAL_KEUCEREUS_CERTIFICATE);
- + addCondMinLevel(MIN_LEVEL, "33907-00.html");
- + addCondCompletedQuest(Q10873_ExaltedReachingAnotherLevel.class.getSimpleName(), "33907-00.html");
- + registerQuestItems(LIONEL_MISSION_LIST_5, MASTER_CYPHONA_CERTIFICATE, DINFORD_CERTIFICATE, SETTLEN_SERTIFICATE, ADMIRAL_KEUCEREUS_CERTIFICATE, SERESIN_CERTIFICATE);
- }
- @Override
- @@ -83,12 +83,18 @@
- }
- break;
- }
- + case "33907-05a.html":
- + {
- + qs.setCond(3);
- + htmltext = event;
- + break;
- + }
- case "33907-08.html":
- {
- - if (hasQuestItems(player, MASTER_CYPHONA_CERTIFICATE, DINFORD_CERTIFICATE, SETTLEN_SERTIFICATE, ADMIRAL_KEUCEREUS_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- + if ((hasQuestItems(player, SERESIN_CERTIFICATE) || (hasQuestItems(player, MASTER_CYPHONA_CERTIFICATE, DINFORD_CERTIFICATE, SETTLEN_SERTIFICATE, ADMIRAL_KEUCEREUS_CERTIFICATE))) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- {
- - giveItems(player, VITALITY_OF_THE_EXALTED, 1);
- giveItems(player, DIGNITY_OF_THE_EXALTED, 1);
- + addExpAndSp(player, 2217691008000L, (int) 2217691008L);
- qs.exitQuest(false, true);
- htmltext = event;
- }
- @@ -112,14 +118,33 @@
- }
- case State.STARTED:
- {
- - if (hasQuestItems(player, MASTER_CYPHONA_CERTIFICATE, DINFORD_CERTIFICATE, SETTLEN_SERTIFICATE, ADMIRAL_KEUCEREUS_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- + switch (qs.getCond())
- {
- - htmltext = "33907-07.html";
- + case 1:
- + {
- + if (hasQuestItems(player, MASTER_CYPHONA_CERTIFICATE, DINFORD_CERTIFICATE, SETTLEN_SERTIFICATE, ADMIRAL_KEUCEREUS_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- + {
- + htmltext = "33907-07.html";
- + }
- + else
- + {
- + htmltext = "33907-06.html";
- + }
- + break;
- + }
- + case 3:
- + {
- + if (hasQuestItems(player, SERESIN_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
- + {
- + htmltext = "33907-07a.html";
- + }
- + else
- + {
- + htmltext = "33907-06a.html";
- + }
- + break;
- + }
- }
- - else
- - {
- - htmltext = "33907-06.html";
- - }
- break;
- }
- case State.COMPLETED:
- Index: dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34054-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34054-06.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34054-06.html (working copy)
- @@ -1,7 +1,7 @@
- <html><body>Ferin:<br>
- Are you done?<br>
- You've done great.<br>
- -choose one of the awards.<br>
- +Choose one of the awards.<br>
- <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34054-07.html">"FP 4500 pcs. with Mother Tree Guardians."</Button>
- <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34054-07a.html">"FP 4500 pcs. with Unworldly Visitors."</Button>
- <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34054-07b.html">"FP 4500 pcs. with Kingdom's Royal Guard."</Button>
- Index: dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34054-07a.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34054-07a.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34054-07a.html (working copy)
- @@ -1,3 +1,3 @@
- -<html><body>Verdure Elder Elikia:<br>
- +<html><body>Ferin:<br>
- Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34054-07b.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34054-07b.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34054-07b.html (working copy)
- @@ -1,3 +1,3 @@
- -<html><body>Verdure Elder Elikia:<br>
- +<html><body>Ferin:<br>
- Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-01.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-01.htm (working copy)
- @@ -1,6 +1,5 @@
- <html><body>Master Cyphona:<br>
- -Fate doesn't just happen, nor can it be cut off just because one wants to.<br>
- -Meeting Lionel and taking part in giving out this test is all fate.<br>
- -And you must have come here because you will be passing it.<br>
- -<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10880_TheLastOneStanding 34055-02.htm">"What's the test about?"</Button>
- +A while ago Lionel Hunter sent a messenger to Ferin. His message was about how to test and qualify the <font color="LEVEL">Guide of Power</font> who is supposed to save the world from darkness.<br>
- +I won't bore you with a long story. In short, he asked Ferin to test the adventurers he sends and give certificates to only those who pass.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10880_TheLastOneStanding 34055-02.htm">"Go on."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-02.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-02.htm (working copy)
- @@ -1,6 +1,5 @@
- <html><body>Master Cyphona:<br>
- -The battle with the monsters!<br>
- -to gain new strength, you need to hunt for monsters.<br>
- -and then you will receive my certificate.<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34055-03.htm">"Properly?"</Button>
- +I was surprised that Ferin accepted the offer so readily. He's not a person who takes on troublesome work. I was wondering what he had in mind... Now I'm doing his job.<br>
- +I thought is better for you to know what happened so far.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34055-03.htm">"Go on."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-03.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-03.htm (working copy)
- @@ -1,6 +1,5 @@
- <html><body>Master Cyphona:<br>
- -What do you think of the monsters of the Material Realm? Those monsters are the subject to our blades, due to our long history in battle.<br>
- -I know of some creatures who were turned into monsters as a result of experiments. And there are those who've lost their precious ones to those monsters. I know their sadness and anger. But we don't always remember them when we defeat those monsters.<br>
- -I believe we must always remember the sadness and anger that they hold within. Don't you agree?<br>
- -<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34055-04.htm">"Sounds right."</Button>
- +I thought that <font color="LEVEL">hunting</font> would be the simplest way of proving oneself capable of guiding the power, and you are certainly qualified to take the test.<br>
- +However, it doesn't mean that you can finish it successfully. Think carefully before undertaking the mission.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10880_TheLastOneStanding 34055-04.htm">"Alright."</Button>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-04.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-04.htm (revision 7687)
- +++ dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-04.htm (working copy)
- @@ -1,5 +1,6 @@
- <html><body>Master Cyphona:<br>
- -I'm about to give you a very long test. In that process, I want you to remember the sadness and anger of many.<br>
- -Go defeat the monsters in <font color="LEVEL">Enchanted Valley, Atelia Fortress, Shadow of the Mother Tree</font> and <font color="LEVEL">Garden of Spirits</font> and bring back the <font color="LEVEL">Proof of Strength - 10000</font>.<br>
- -In that long process, never forget the sadness that derives from long battles against the monsters.
- +You're determined. I'll explain the mission then.<br>
- +Hunt monsters at the <font color="LEVEL">Enchanted Valley, Garden of Spirits, Atelia Fortress and Shadow of the Mother Tree</font> and bring <font color="LEVEL">Proof of Strength</font>. Hmm... Let's see... Ferin said you need to bring about <font color="LEVEL">10.000</font><br>
- +You'll need to go talk to Ferin once the mission is complete so I can't lower the quantity, sorry.<br>
- +Good luck.
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-05.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10880_TheLastOneStanding/34055-05.html (working copy)
- @@ -1,4 +1,4 @@
- <html><body>Master Cyphona:<br>
- -It won't be easy bringing back proof of the monsters that you've defeated. But once you can do that, I'll acknowledge your strength.<br>
- -Go defeat the monsters in <font color="LEVEL">Enchanted Valley, Atelia Fortress, Shadow of the Mother Tree</font> and <font color="LEVEL">Garden of Spirits</font> and bring back the <font color="LEVEL">Proof of Strength - 10000</font>.<br>
- +Hunt monsters at the <font color="LEVEL">Enchanted Valley, Garden of Spirits, Atelia Fortress and Shadow of the Mother Tree</font> and bring <font color="LEVEL">10.000 Proof of Strength</font>.<br>
- +Once the mission is complete go talk to Ferin.<br>
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10880_TheLastOneStanding/Q10880_TheLastOneStanding.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10880_TheLastOneStanding/Q10880_TheLastOneStanding.java (revision 7687)
- +++ dist/game/data/scripts/quests/Q10880_TheLastOneStanding/Q10880_TheLastOneStanding.java (working copy)
- @@ -41,7 +41,7 @@
- private static final int CYPHONA = 34055;
- private static final int FERIN = 34054;
- // Items
- - private static final int MASTER_CYPHONA_CERTIFICATE = 47835;
- + private static final int FERIN_CERTIFICATE = 47835;
- private static final int PROOF_OF_STRENGTH = 47843;
- private static final ItemHolder LIONEL_HUNTERS_LIST_PART_5 = new ItemHolder(47834, 1);
- // Monsters
- @@ -57,6 +57,7 @@
- 23572, // Nymph Cosmos
- 23573, // Nymph Cosmos
- 23578, // Nymph Guardian
- +
- // Garden of Spirits
- 23541, // Kerberos Lager
- 23550, // Kerberos Lager (night)
- @@ -74,6 +75,7 @@
- 23557, // Fury Kerberos Leger (night)
- 23549, // Fury Kerberos Nero
- 23558, // Fury Kerberos Nero (night)
- +
- // Atelia Fortress
- 23505, // Fortress Raider 101
- 23506, // Fortress Guardian Captain 101
- @@ -89,6 +91,7 @@
- 23510, // Atelia Flame Master 102
- 23511, // Fortress Archon 102
- 23512, // Atelia High Priest 102
- +
- // Shadow of the Mother Tree
- 24117, // Crystal Reep
- 24118, // Crystal Reep
- @@ -108,6 +111,8 @@
- // Misc
- private static final int MIN_LEVEL = 104;
- + private static final int FP = 4500; // Faction Points
- + private static final int PROOF_OF_STRENGTH_NEEDED = 10000;
- public Q10880_TheLastOneStanding()
- {
- @@ -155,8 +160,8 @@
- if ((player.getLevel() >= MIN_LEVEL))
- {
- takeItems(player, PROOF_OF_STRENGTH, -1);
- - giveItems(player, MASTER_CYPHONA_CERTIFICATE, 1);
- - addFactionPoints(player, Faction.MOTHER_TREE_GUARDIANS, 4500);
- + giveItems(player, FERIN_CERTIFICATE, 1);
- + addFactionPoints(player, Faction.MOTHER_TREE_GUARDIANS, FP);
- qs.exitQuest(false, true);
- final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
- @@ -180,8 +185,8 @@
- if ((player.getLevel() >= MIN_LEVEL))
- {
- takeItems(player, PROOF_OF_STRENGTH, -1);
- - giveItems(player, MASTER_CYPHONA_CERTIFICATE, 1);
- - addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 4500);
- + giveItems(player, FERIN_CERTIFICATE, 1);
- + addFactionPoints(player, Faction.UNWORLDLY_VISITORS, FP);
- qs.exitQuest(false, true);
- final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
- @@ -200,13 +205,13 @@
- }
- case "34054-07b.html":
- {
- - if (qs.isCond(2))
- + if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_STRENGTH) >= PROOF_OF_STRENGTH_NEEDED))
- {
- if ((player.getLevel() >= MIN_LEVEL))
- {
- - takeItems(player, PROOF_OF_STRENGTH, -1);
- - giveItems(player, MASTER_CYPHONA_CERTIFICATE, 1);
- - addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, 4500);
- + takeItems(player, PROOF_OF_STRENGTH, PROOF_OF_STRENGTH_NEEDED);
- + giveItems(player, FERIN_CERTIFICATE, 1);
- + addFactionPoints(player, Faction.KINGDOM_ROYAL_GUARDS, FP);
- qs.exitQuest(false, true);
- final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
- @@ -260,7 +265,7 @@
- }
- case FERIN:
- {
- - if (qs.isCond(2))
- + if (qs.isCond(2) && (getQuestItemsCount(player, PROOF_OF_STRENGTH) >= PROOF_OF_STRENGTH_NEEDED))
- {
- htmltext = "34054-06.html";
- }
- @@ -294,7 +299,7 @@
- giveItems(player, PROOF_OF_STRENGTH, 1);
- playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- - if (getQuestItemsCount(player, PROOF_OF_STRENGTH) >= 10000)
- + if (getQuestItemsCount(player, PROOF_OF_STRENGTH) >= PROOF_OF_STRENGTH_NEEDED)
- {
- qs.setCond(2, true);
- }
- Index: dist/game/data/scripts/quests/Q10880_TheLastOneStanding/noItem.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10880_TheLastOneStanding/noItem.html (revision 7687)
- +++ dist/game/data/scripts/quests/Q10880_TheLastOneStanding/noItem.html (working copy)
- @@ -1,4 +1,4 @@
- -<html><body>Verdure Elder Elikia:<br>
- +<html><body>Master Cyphona:<br>
- I don't know how you found your way here, but I can't do anything for you if you haven't talked to Lionel Hunter.<br>
- (You don't meet the requirements for proceed with this quest. You need Lionel Hunter's Mission List - Part 5 in your inventory.)
- </body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/34235-06.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/34235-06.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/34235-06.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Royal Guard Captain Logart Van Dyke:<br>
- +May I help you?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10881_ForThePride 34235-07.html">"State your business."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/34235-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/34235-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/34235-07.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Royal Guard Captain Logart Van Dyke:<br>
- +I don't see the certificates. You can receive the <font color="LEVEL">Mother Tree Guardians Certificate</font> from <font color="LEVEL">Guardian Irene</font> and <font color="LEVEL">Unworldly Visitors Certificate</font> from <font color="LEVEL">Ferin</font>.<br>
- +To get them, you must earn their trust.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/34235-08.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/34235-08.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/34235-08.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Royal Guard Captain Logart Van Dyke:<br>
- +Have you got the certificates?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10881_ForThePride 34235-09.html">"Yes, I have."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/34235-09.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/34235-09.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/34235-09.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Royal Guard Captain Logart Van Dyke:<br>
- +Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/34236-00.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/34236-00.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/34236-00.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Quartermaster Dinford:<br>
- +I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
- +(Only characters above Lv. 104 and The Exalted, Guide to Power quest should be in progress..)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/34236-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/34236-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/34236-01.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Quartermaster Dinford:<br>
- +Hello! I assign missions on behalf of the Kingdom's Royal Guard and Royal Guard Captain Logart Van Dyke. Would you let me explain it?<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10881_ForThePride 34236-02.htm">"Go on."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/34236-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/34236-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/34236-02.htm (working copy)
- @@ -0,0 +1,6 @@
- +<html><body>Quartermaster Dinford:<br>
- +Do you know what pride means? Pride is confidence that you gain when you believe in yourself.<br>
- +Then, how you can judge you own ability? How can you prove that your judgment is right? You can earn true pride only when those who are qualified for such judgment are convinced in your abilities.<br>
- +I suggest this mission in the hope of developing your confidence.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10881_ForThePride 34236-03.htm">"Ask about the mission."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/34236-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/34236-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/34236-03.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Quartermaster Dinford:<br>
- +As far as I know, you've built relationships with some factions. If you undertake missions of other factions, you will be able to understand the meaning of true pride. Will you accept their missions?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10881_ForThePride 34236-04.htm">"Alright."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/34236-04.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/34236-04.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/34236-04.htm (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Quartermaster Dinford:<br>
- +Great. Take on missions of the <font color="LEVEL">Mother Tree Guardians</font>, the <font color="LEVEL">Unworldly Visitors</font>, and the <font color="LEVEL">Kingdom's Royal Guard</font>, and increase your Faction Level with <font color="LEVEL">two or more of these factions</font>, to at least <font color="LEVEL">6</font>. Then, receive certificates to prove your Faction Level 6 or higher from the following people: the <font color="LEVEL">Mother Tree Guardians Certificate</font> from <font color="LEVEL">Guardian Irene</font>, the <font color="LEVEL">Unworldly Visitors Certificate</font> from <font color="LEVEL">Ferin</font>, and the <font color="LEVEL">Kingdom's Royal Guard Certificate</font> from <font color="LEVEL">Royal Guard Captain Logart Van Dyke</font>.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/34236-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/34236-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/34236-05.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Quartermaster Dinford:<br>
- +Great, you have the certificates. Now go talk to <font color="LEVEL">Royal Guard Captain Logart Van Dyke</font>.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/Q10881_ForThePride.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/Q10881_ForThePride.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/Q10881_ForThePride.java (working copy)
- @@ -0,0 +1,181 @@
- +/*
- + * 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.Q10881_ForThePride;
- +
- +import org.l2jmobius.gameserver.instancemanager.QuestManager;
- +import org.l2jmobius.gameserver.model.actor.Npc;
- +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
- +import org.l2jmobius.gameserver.model.holders.ItemHolder;
- +import org.l2jmobius.gameserver.model.quest.Quest;
- +import org.l2jmobius.gameserver.model.quest.QuestState;
- +import org.l2jmobius.gameserver.model.quest.State;
- +
- +import quests.Q10879_ExaltedGuideToPower.Q10879_ExaltedGuideToPower;
- +
- +/**
- + * For the Pride (10881)
- + * @URL https://l2wiki.com/For_the_Pride
- + * @author CostyKiller
- + */
- +public class Q10881_ForThePride extends Quest
- +{
- + private static final int DINFORD = 34236;
- + private static final int LOGART_VAN_DYKE = 34235;
- +
- + public Q10881_ForThePride()
- + {
- + super(10881);
- + addStartNpc(DINFORD);
- + addTalkId(DINFORD, LOGART_VAN_DYKE);
- + addCondMinLevel(MIN_LEVEL, "34236-00.htm");
- + addCondStartedQuest(Q10879_ExaltedGuideToPower.class.getSimpleName(), "34236-00.htm");
- + }
- +
- + // Items
- + private static final int LOGART_VAN_DYKE_CERTIFICATE = 47836;
- + private static final int MOTHER_TREE_GUARDIAN_CERTIFICATION = 47844;
- + private static final int UNWORLDLY_VISITORS_CERTIFICATION = 47845;
- + private static final int KINGDOM_ROYAL_GUARD_CERTIFICATION = 47846;
- + private static final ItemHolder LIONEL_HUNTERS_LIST_PART_5 = new ItemHolder(47834, 1);
- + private static final int SPELLBOOK_VITALITY_OF_THE_EXALTED = 47855;
- + // Misc
- + private static final int MIN_LEVEL = 104;
- +
- + @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 "34326-02.htm":
- + case "34326-03.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34326-04.htm":
- + {
- + if (hasItem(player, LIONEL_HUNTERS_LIST_PART_5))
- + {
- + qs.startQuest();
- + htmltext = event;
- + }
- + break;
- + }
- + case "34325-07.html":
- + {
- + if (qs.isCond(1) && (!(hasQuestItems(player, MOTHER_TREE_GUARDIAN_CERTIFICATION, UNWORLDLY_VISITORS_CERTIFICATION)) || !(hasQuestItems(player, MOTHER_TREE_GUARDIAN_CERTIFICATION, KINGDOM_ROYAL_GUARD_CERTIFICATION)) || !(hasQuestItems(player, UNWORLDLY_VISITORS_CERTIFICATION, KINGDOM_ROYAL_GUARD_CERTIFICATION))))
- + {
- + htmltext = event;
- + }
- + else
- + {
- + qs.setCond(2);
- + htmltext = "34325-08.htm";
- + }
- + break;
- + }
- + case "34325-09.html":
- + {
- + if (qs.isCond(2))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + giveItems(player, LOGART_VAN_DYKE_CERTIFICATE, 1);
- + giveItems(player, SPELLBOOK_VITALITY_OF_THE_EXALTED, 1);
- + qs.exitQuest(false, true);
- +
- + final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
- + if (mainQ != null)
- + {
- + mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
- + }
- + 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:
- + {
- + if ((npc.getId() == DINFORD) && (hasItem(player, LIONEL_HUNTERS_LIST_PART_5)))
- + {
- + htmltext = "34326-01.htm";
- + }
- + else
- + {
- + htmltext = "noItem.html";
- + }
- + break;
- + }
- + case State.STARTED:
- + {
- + switch (npc.getId())
- + {
- + case DINFORD:
- + {
- + if (qs.isCond(1) && ((hasQuestItems(player, MOTHER_TREE_GUARDIAN_CERTIFICATION, UNWORLDLY_VISITORS_CERTIFICATION)) || (hasQuestItems(player, MOTHER_TREE_GUARDIAN_CERTIFICATION, KINGDOM_ROYAL_GUARD_CERTIFICATION)) || (hasQuestItems(player, UNWORLDLY_VISITORS_CERTIFICATION, KINGDOM_ROYAL_GUARD_CERTIFICATION))))
- + {
- + htmltext = "34326-05.html";
- + }
- + break;
- + }
- + case LOGART_VAN_DYKE:
- + {
- + if (qs.isCond(1))
- + {
- + htmltext = "34325-06.htm";
- + }
- + else if (qs.isCond(2))
- + {
- + htmltext = "34325-08.html";
- + }
- + break;
- + }
- + }
- + break;
- + }
- + case State.COMPLETED:
- + {
- + htmltext = getAlreadyCompletedMsg(player);
- + break;
- + }
- + }
- + return htmltext;
- + }
- +}
- Index: dist/game/data/scripts/quests/Q10881_ForThePride/noItem.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10881_ForThePride/noItem.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10881_ForThePride/noItem.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Quartermaster Dinford:<br>
- +I don't know how you found your way here, but I can't do anything for you if you haven't talked to Lionel Hunter.<br>
- +(You don't meet the requirements for proceed with this quest. You need Lionel Hunter's Mission List - Part 5 in your inventory.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-00.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-00.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-00.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Owner Settlen:<br>
- +I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
- +(Only characters above Lv. 104 and The Exalted, Guide to Power quest should be in progress..)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-01.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Owner Settlen:<br>
- +I'm going to give you a mission. I believe that those in high positions have to listen to the voices of their people. Fortunately, I know many stories to tell you. You don't need to wander around to hear them.
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10882_VictoryCollection 34180-02.htm">"Ask what to do."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-02.htm (working copy)
- @@ -0,0 +1,5 @@
- +<html><body>Owner Settlen:<br>
- +Listen to all stories you can hear in this tavern.<br>
- +After completing this mission, make books about the stories and bring them to me.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10882_VictoryCollection 34180-03.htm">"Alright."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-03.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-03.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-03.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Owner Settlen:<br>
- +You cannot make a storybook simply by listening to a story, but you're more likely to get it if you listen to more stories, more often. Understand?<br>
- +I expect you to bring me a <font color="LEVEL">Storybook - Tauti</font>, <font color="LEVEL">Storybook - Kelbim</font>, <font color="LEVEL">Storybook - Freya</font>, and <font color="LEVEL">Storybook - Kain van Halter</font>.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-04.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Owner Settlen:<br>
- +I expect you to bring me a <font color="LEVEL">Storybook - Tauti</font>, <font color="LEVEL">Storybook - Kelbim</font>, <font color="LEVEL">Storybook - Freya</font>, and <font color="LEVEL">Storybook - Kain van Halter</font>.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-05.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-05.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-05.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Owner Settlen:<br>
- +Have you got all the story books?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10882_VictoryCollection 34180-06.html">"Yes, I have."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-06.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-06.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10882_VictoryCollection/34180-06.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Owner Settlen:<br>
- +Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10882_VictoryCollection/Q10882_VictoryCollection.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10882_VictoryCollection/Q10882_VictoryCollection.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10882_VictoryCollection/Q10882_VictoryCollection.java (working copy)
- @@ -0,0 +1,198 @@
- +/*
- + * 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.Q10882_VictoryCollection;
- +
- +import org.l2jmobius.Config;
- +import org.l2jmobius.commons.util.CommonUtil;
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +import org.l2jmobius.gameserver.instancemanager.QuestManager;
- +import org.l2jmobius.gameserver.model.actor.Npc;
- +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
- +import org.l2jmobius.gameserver.model.holders.ItemHolder;
- +import org.l2jmobius.gameserver.model.quest.Quest;
- +import org.l2jmobius.gameserver.model.quest.QuestState;
- +import org.l2jmobius.gameserver.model.quest.State;
- +
- +import quests.Q10879_ExaltedGuideToPower.Q10879_ExaltedGuideToPower;
- +
- +/**
- + * Victory Collection (10882)
- + * @URL https://l2wiki.com/Victory_Collection
- + * @author CostyKiller
- + */
- +public class Q10882_VictoryCollection extends Quest
- +{
- + // Npcs
- + private static final int SETTLEN = 34180;
- + // Monsters
- + private static final int[] MONSTERS =
- + {
- + // TODO: Add Kelbim and Kain Instance Monsters
- + // TODO: Add Story books drop to RBs
- + // Tauti Instance Monsters
- + 23680, // Flame Golem
- + 23709, // Flame Scarab
- + 23683, // Seal Archangel
- + 23685, // Seal Angel
- +
- + // Freya Instance Monsters
- + 23686, // Frost Golem
- + 23687, // Glacier Frostbringer
- + 23703, // Ice Knight
- + 23689 // Freya
- +
- + };
- + // Items
- + private static final int SETTLEN_CERTIFICATE = 47837;
- + private static final ItemHolder LIONEL_HUNTERS_LIST_PART_5 = new ItemHolder(47834, 1);
- + private static final int STORY_BOOK_OF_TAUTI = 47847;
- + private static final int STORY_BOOK_OF_KELBIM = 47848;
- + private static final int STORY_BOOK_OF_FREYA = 47849;
- + private static final int STORY_BOOK_OF_KAIN_VAN_HALTER = 47850;
- + private static final int COVERED_PAGE = 48930;
- + // Misc
- + private static final int MIN_LEVEL = 104;
- +
- + public Q10882_VictoryCollection()
- + {
- + super(10882);
- + addStartNpc(SETTLEN);
- + addTalkId(SETTLEN);
- + addKillId(MONSTERS);
- + addCondMinLevel(MIN_LEVEL, "34180-00.htm");
- + addCondStartedQuest(Q10879_ExaltedGuideToPower.class.getSimpleName(), "34180-00.htm");
- + }
- +
- + @Override
- + public String onAdvEvent(String event, Npc npc, PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if (qs == null)
- + {
- + return null;
- + }
- +
- + String htmltext = null;
- +
- + switch (event)
- + {
- + case "34180-02.htm":
- + case "34180-04.html":
- + {
- + htmltext = event;
- + break;
- + }
- + case "34180-03.html":
- + {
- + if (hasItem(player, LIONEL_HUNTERS_LIST_PART_5))
- + {
- + qs.startQuest();
- + htmltext = event;
- + }
- + break;
- + }
- + case "34180-06.html":
- + {
- + if (qs.isCond(2))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + giveItems(player, SETTLEN_CERTIFICATE, 1);
- + addExpAndSp(player, 69661122560L, 709661122);
- + qs.exitQuest(false, true);
- +
- + final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
- + if (mainQ != null)
- + {
- + mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
- + }
- + 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:
- + {
- + if ((npc.getId() == SETTLEN) && (hasItem(player, LIONEL_HUNTERS_LIST_PART_5)))
- + {
- + htmltext = "34180-01.htm";
- + }
- + else
- + {
- + htmltext = "noItem.html";
- + }
- + break;
- + }
- + case State.STARTED:
- + {
- + if ((npc.getId() == SETTLEN) && qs.isCond(2) && (hasQuestItems(player, STORY_BOOK_OF_TAUTI, STORY_BOOK_OF_KELBIM, STORY_BOOK_OF_FREYA, STORY_BOOK_OF_KAIN_VAN_HALTER)))
- + {
- + htmltext = "34180-05.htm";
- + }
- + else
- + {
- + htmltext = "34180-04.html";
- + }
- + 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) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE) && CommonUtil.contains(MONSTERS, npc.getId()))
- + {
- + giveItems(player, COVERED_PAGE, 1);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
- +
- + if (getQuestItemsCount(player, COVERED_PAGE) >= 24)
- + {
- + qs.setCond(2, true);
- + }
- + }
- + }
- +}
- Index: dist/game/data/scripts/quests/Q10882_VictoryCollection/noItem.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10882_VictoryCollection/noItem.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10882_VictoryCollection/noItem.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Owner Settlen:<br>
- +I don't know how you found your way here, but I can't do anything for you if you haven't talked to Lionel Hunter.<br>
- +(You don't meet the requirements for proceed with this quest. You need Lionel Hunter's Mission List - Part 5 in your inventory.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-00.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-00.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-00.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Admiral Keucereus:<br>
- +I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
- +(Only characters above Lv. 104 and The Exalted, Guide to Power quest should be in progress..)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-01.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-01.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-01.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Admiral Keucereus:<br>
- +Did Lionel Hunter send you? I should appreciate his choice. You seem to be the right person for my mission.<br>
- +<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10883_ImmortalHonor 32548-02.htm">"Go on."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-02.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-02.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-02.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Admiral Keucereus:<br>
- +Battles frequently take place here. I'm sure that you know what it means to be summoned.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10883_ImmortalHonor 32548-03.htm">"Yes."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-03.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-03.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-03.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Admiral Keucereus:<br>
- +This battle will determine the fate of the world. Do you want to gain fame? Or honor? Either would be meaningless if there is no world. Do you understand? Then, your duty is to save the world.<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10883_ImmortalHonor 32548-04.html">"Alright."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-04.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-04.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-04.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Admiral Keucereus:<br>
- +I order you to defeat <font color="LEVEL">Camille</font> and <font color="LEVEL">Kain van Halter</font>.
- +Save the world and earn eternal fame.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-05.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-05.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-05.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Admiral Keucereus:<br>
- +I ordered you to defeat <font color="LEVEL">Camille</font> and <font color="LEVEL">Kain van Halter</font>.
- +Come back when you killed them.<br>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-06.htm
- ===================================================================
- --- dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-06.htm (nonexistent)
- +++ dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-06.htm (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Admiral Keucereus:<br>
- +Have you defeated <font color="LEVEL">Camille</font> and <font color="LEVEL">Kain van Halter</font>?<br>
- +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10883_ImmortalHonor 32548-07.html">"Yes, I have."</Button>
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-07.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-07.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10883_ImmortalHonor/32548-07.html (working copy)
- @@ -0,0 +1,3 @@
- +<html><body>Admiral Keucereus:<br>
- +Great work. I hope you you never forget the sadness of those who have to suffer because of the long battles against the monsters.
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/Q10883_ImmortalHonor/Q10883_ImmortalHonor.java
- ===================================================================
- --- dist/game/data/scripts/quests/Q10883_ImmortalHonor/Q10883_ImmortalHonor.java (nonexistent)
- +++ dist/game/data/scripts/quests/Q10883_ImmortalHonor/Q10883_ImmortalHonor.java (working copy)
- @@ -0,0 +1,175 @@
- +/*
- + * 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.Q10883_ImmortalHonor;
- +
- +import org.l2jmobius.Config;
- +import org.l2jmobius.gameserver.enums.QuestSound;
- +import org.l2jmobius.gameserver.instancemanager.QuestManager;
- +import org.l2jmobius.gameserver.model.actor.Npc;
- +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
- +import org.l2jmobius.gameserver.model.holders.ItemHolder;
- +import org.l2jmobius.gameserver.model.quest.Quest;
- +import org.l2jmobius.gameserver.model.quest.QuestState;
- +import org.l2jmobius.gameserver.model.quest.State;
- +
- +import quests.Q10879_ExaltedGuideToPower.Q10879_ExaltedGuideToPower;
- +
- +/**
- + * Immortal Honor (10883)
- + * @URL https://l2wiki.com/Immortal_Honor
- + * @author CostyKiller
- + */
- +public class Q10883_ImmortalHonor extends Quest
- +{
- + // Npcs
- + private static final int KEUCEREUS_ADMIRAL = 32548;
- + // Raids
- + private static final int CAMILLE = 26236;
- + private static final int KAIN_VAN_HALTER = 26235;
- + // Items
- + private static final int KEUCEREUS_CERTIFICATE = 47837;
- + private static final ItemHolder LIONEL_HUNTERS_LIST_PART_5 = new ItemHolder(47834, 1);
- + // Misc
- + private static final int MIN_LEVEL = 104;
- +
- + public Q10883_ImmortalHonor()
- + {
- + super(10883);
- + addStartNpc(KEUCEREUS_ADMIRAL);
- + addTalkId(KEUCEREUS_ADMIRAL);
- + addKillId(CAMILLE, KAIN_VAN_HALTER);
- + addCondMinLevel(MIN_LEVEL, "32548-00.htm");
- + addCondStartedQuest(Q10879_ExaltedGuideToPower.class.getSimpleName(), "32548-00.htm");
- + }
- +
- + @Override
- + public String onAdvEvent(String event, Npc npc, PlayerInstance player)
- + {
- + final QuestState qs = getQuestState(player, false);
- + if (qs == null)
- + {
- + return null;
- + }
- +
- + String htmltext = null;
- +
- + switch (event)
- + {
- + case "32548-02.htm":
- + case "32548-03.htm":
- + {
- + htmltext = event;
- + break;
- + }
- + case "32548-04.html":
- + {
- + if (hasItem(player, LIONEL_HUNTERS_LIST_PART_5))
- + {
- + qs.startQuest();
- + qs.set(Integer.toString(CAMILLE), "false");
- + qs.set(Integer.toString(KAIN_VAN_HALTER), "false");
- + htmltext = event;
- + }
- + break;
- + }
- + case "32548-07.html":
- + {
- + if (qs.isCond(2))
- + {
- + if ((player.getLevel() >= MIN_LEVEL))
- + {
- + giveItems(player, KEUCEREUS_CERTIFICATE, 1);
- + addExpAndSp(player, 104491683840L, 1064491683);
- + qs.exitQuest(false, true);
- +
- + final Quest mainQ = QuestManager.getInstance().getQuest(Q10879_ExaltedGuideToPower.class.getSimpleName());
- + if (mainQ != null)
- + {
- + mainQ.notifyEvent("SUBQUEST_FINISHED_NOTIFY", npc, player);
- + }
- + 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:
- + {
- + if ((npc.getId() == KEUCEREUS_ADMIRAL) && (hasItem(player, LIONEL_HUNTERS_LIST_PART_5)))
- + {
- + htmltext = "32548-01.htm";
- + }
- + else
- + {
- + htmltext = "noItem.html";
- + }
- + break;
- + }
- + case State.STARTED:
- + {
- + if ((npc.getId() == KEUCEREUS_ADMIRAL) && qs.get(Integer.toString(CAMILLE)).equals("true") && qs.get(Integer.toString(KAIN_VAN_HALTER)).equals("true"))
- + {
- + htmltext = "32548-06.htm";
- + }
- + else
- + {
- + htmltext = "32548-05.html";
- + }
- + 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.isStarted() && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
- + {
- + qs.set(Integer.toString(npc.getId()), "true");
- + notifyKill(npc, player, isSummon);
- + playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
- + }
- + }
- +}
- Index: dist/game/data/scripts/quests/Q10883_ImmortalHonor/noItem.html
- ===================================================================
- --- dist/game/data/scripts/quests/Q10883_ImmortalHonor/noItem.html (nonexistent)
- +++ dist/game/data/scripts/quests/Q10883_ImmortalHonor/noItem.html (working copy)
- @@ -0,0 +1,4 @@
- +<html><body>Admiral Keucereus:<br>
- +I don't know how you found your way here, but I can't do anything for you if you haven't talked to Lionel Hunter.<br>
- +(You don't meet the requirements for proceed with this quest. You need Lionel Hunter's Mission List - Part 5 in your inventory.)
- +</body></html>
- \ No newline at end of file
- Index: dist/game/data/scripts/quests/not_done/Q10514_NewPathToGlory.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10514_NewPathToGlory.java (revision 7687)
- +++ dist/game/data/scripts/quests/not_done/Q10514_NewPathToGlory.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 Q10514_NewPathToGlory extends Quest
- -{
- - private static final int START_NPC = 30070;
- -
- - public Q10514_NewPathToGlory()
- - {
- - super(10514);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10515_NewWayForPride.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10515_NewWayForPride.java (revision 7687)
- +++ dist/game/data/scripts/quests/not_done/Q10515_NewWayForPride.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 Q10515_NewWayForPride extends Quest
- -{
- - private static final int START_NPC = 30657;
- -
- - public Q10515_NewWayForPride()
- - {
- - super(10515);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10874_AgainstTheNewEnemy.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10874_AgainstTheNewEnemy.java (revision 7687)
- +++ dist/game/data/scripts/quests/not_done/Q10874_AgainstTheNewEnemy.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 Q10874_AgainstTheNewEnemy extends Quest
- -{
- - private static final int START_NPC = 34230;
- -
- - public Q10874_AgainstTheNewEnemy()
- - {
- - super(10874);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10875_ForReputation.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10875_ForReputation.java (revision 7687)
- +++ dist/game/data/scripts/quests/not_done/Q10875_ForReputation.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 Q10875_ForReputation extends Quest
- -{
- - private static final int START_NPC = 34237;
- -
- - public Q10875_ForReputation()
- - {
- - super(10875);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10877_BreakThroughCrisis.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10877_BreakThroughCrisis.java (revision 7687)
- +++ dist/game/data/scripts/quests/not_done/Q10877_BreakThroughCrisis.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 Q10877_BreakThroughCrisis extends Quest
- -{
- - private static final int START_NPC = 34267;
- -
- - public Q10877_BreakThroughCrisis()
- - {
- - super(10877);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10881_ForThePride.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10881_ForThePride.java (revision 7687)
- +++ dist/game/data/scripts/quests/not_done/Q10881_ForThePride.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 Q10881_ForThePride extends Quest
- -{
- - private static final int START_NPC = 34236;
- -
- - public Q10881_ForThePride()
- - {
- - super(10881);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10882_VictoryCollection.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10882_VictoryCollection.java (revision 7687)
- +++ dist/game/data/scripts/quests/not_done/Q10882_VictoryCollection.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 Q10882_VictoryCollection extends Quest
- -{
- - private static final int START_NPC = 34180;
- -
- - public Q10882_VictoryCollection()
- - {
- - super(10882);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
- Index: dist/game/data/scripts/quests/not_done/Q10883_ImmortalHonor.java
- ===================================================================
- --- dist/game/data/scripts/quests/not_done/Q10883_ImmortalHonor.java (revision 7687)
- +++ dist/game/data/scripts/quests/not_done/Q10883_ImmortalHonor.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 Q10883_ImmortalHonor extends Quest
- -{
- - private static final int START_NPC = 32548;
- -
- - public Q10883_ImmortalHonor()
- - {
- - super(10883);
- - addStartNpc(START_NPC);
- - addTalkId(START_NPC);
- - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- - }
- -}
Add Comment
Please, Sign In to add comment