diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/MissingQuests.txt index a9ea6273e9..d277266161 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/MissingQuests.txt @@ -1,6 +1,5 @@ 353 Power of Darkness 480 Another Legacy of Cruma Tower -482 Recertification of Value 504 Competition for the Bandit Stronghold 505 Blood Offering 655 A Grand Plan for Taming Wild Beasts diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java new file mode 100644 index 0000000000..82ea15741d --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java @@ -0,0 +1,334 @@ +/* + * 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 . + */ +package quests.Q00482_RecertificationOfValue; + +import com.l2jmobius.gameserver.enums.CategoryType; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.L2Summon; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.SkillHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.skills.SkillCaster; +import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList; + +import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue; + +/** + * Recertification Of Value (482) + * @author Zeusx + */ +public class Q00482_RecertificationOfValue extends Quest +{ + // NPCs + private static final int RIEYI = 33406; + private static final int KYUORI = 33358; + // Monsters + private static final int[] TOI_MONSTERS = + { + 23044, + 23045, + 23046, + 23047, + 23048, + 23049, + 23050, + 23051, + 23052, + 23053, + 23054, + 23055, + 23056, + 23057, + 23058, + 23059, + 23060, + 23061, + 23062, + 23063, + 23064, + 23065, + 23066, + 23067, + 23068, + 23101, + 23102, + 23103, + 23104, + 23105, + 23106, + 23107, + 23108, + 23109, + 23110, + 23111, + 23112 + }; + // Buffs + private static final SkillHolder[] WARRIOR_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + }; + private static final SkillHolder[] MAGE_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder[] SUMMON_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder HASTE = new SkillHolder(4327, 1); // Adventurer's Haste + private static final SkillHolder HASTE2 = new SkillHolder(5632, 1); // Adventurer's Haste + private static final SkillHolder CUBIC = new SkillHolder(4338, 1); // Adventurer's Life Cubic + // Item + private static final int TOWER_OF_INSOLENCE_TOKEN = 17624; + + public Q00482_RecertificationOfValue() + { + super(482); + addStartNpc(RIEYI); + addTalkId(RIEYI, KYUORI); + addKillId(TOI_MONSTERS); + addCondMinLevel(48, "liason_starter2_q0482_02.htm"); + addCondCompletedQuest(Q10353_CertificationOfValue.class.getSimpleName(), "liason_starter2_q0482_02.htm"); // TODO: Need proper Name + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + + String htmltext = null; + switch (event) + { + case "liason_starter2_q0482_05.htm": + case "liason_starter2_q0482_06.htm": + case "liason_starter2_q0482_07.htm": + { + htmltext = event; + break; + } + case "liason_starter2_q0482_08.htm": + { + qs.startQuest(); + qs.setMemoState(1); + htmltext = event; + break; + } + case "oman_cuori_q0482_02.htm": + { + qs.setCond(2, true); + qs.setMemoState(2); + htmltext = event; + break; + } + case "oman_cuori_q0482_07.htm": + { + qs.exitQuest(QuestType.DAILY, true); + addExpAndSp(player, 1_500_000, 360); + giveItems(player, TOWER_OF_INSOLENCE_TOKEN, 1); + htmltext = event; + break; + } + case "EXIT": // TODO: Need make Instance Kamaloka (Hall of Abyss). + { + player.teleToLocation(new Location(114312, 13413, -5096)); + break; + } + case "BUFF_PLAYER": + { + npc.setTarget(player.getPet()); + if (player.isInCategory(CategoryType.MAGE_GROUP)) + { + for (SkillHolder skill : MAGE_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + else + { + for (SkillHolder skill : WARRIOR_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, npc, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, npc, HASTE2.getSkill()); + } + else if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + break; + } + case "BUFF_SUMMON": + { + for (L2Summon servitors : player.getServitorsAndPets()) + { + for (SkillHolder skill : SUMMON_BUFFS) + { + SkillCaster.triggerCast(npc, servitors, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, servitors, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, servitors, HASTE2.getSkill()); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState qs = getQuestState(player, false); + + if (qs == null) + { + return htmltext; + } + + switch (npc.getId()) + { + case RIEYI: + { + switch (qs.getCond()) + { + case 0: + { + htmltext = qs.isNowAvailable() ? "liason_starter2_q0482_03.htm" : "liason_starter2_q0482_01.htm"; + break; + } + case 1: + { + htmltext = "liason_starter2_q0482_09.htm"; + break; + } + } + break; + } + case KYUORI: + { + if (qs.isCompleted()) + { + htmltext = "oman_cuori_q0482_03.htm"; + } + switch (qs.getCond()) + { + case 1: + { + htmltext = "oman_cuori_q0482_01.htm"; + break; + } + case 2: + { + if (qs.getInt("23044") < 1) + { + htmltext = "oman_cuori_q0482_05.htm"; + } + else if ((qs.getInt("23044") > 1) && (qs.getInt("23044") < 10)) + { + htmltext = "oman_cuori_q0482_06.htm"; + } + break; + } + case 3: + { + htmltext = "oman_cuori_q0482_07.htm"; + break; + } + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState st = getQuestState(killer, false); + if ((st != null) && st.isCond(1)) + { + int npcId = npc.getId(); + + String variable = String.valueOf(npcId); // i3 + int currentValue = st.getInt(variable); + if (currentValue < 10) + { + st.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID + + if (currentValue >= 10) + { + st.setCond(3, true); + } + else + { + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + final ExQuestNpcLogList log = new ExQuestNpcLogList(getId()); + log.addNpc(npcId, st.getInt("23044")); + killer.sendPacket(log); + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm new file mode 100644 index 0000000000..388934fb64 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm @@ -0,0 +1,5 @@ +Rieyi:
+Well hello again, friend. How��Β²�²β€�Β¬�²β€��†s it going? Don��Β²�²β€�Β¬�²β€��†t suppose you are up to help out the Krasis again? It��Β²�²β€�Β¬�²β€��†s nothing special... just a little like what you did last time. No, I��Β²�²β€�Β¬�²β€��†m lying. It��Β²�²β€�Β¬�²β€��†s exactly what you did last time. But, hey at least you know you��Β²�²β€�Β¬�²β€��†re getting yourself into this time.
+ + + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm new file mode 100644 index 0000000000..af4264227e --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm @@ -0,0 +1,4 @@ +Rieyi:
+No, no. I'm sorry, but I'm afraid you'll get hurt out there.
+(Only characters whose level is greater than 48 and who have completed the Certification of Value quest can perform this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm new file mode 100644 index 0000000000..f38aab6220 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm @@ -0,0 +1,4 @@ +Rieyi:
+Excellent job, as I expected. Stop by again some time. Our Krasis may have further need for your talents.
+(You can only perform this quest once a day. This quest is reset daily at 6:30 AM.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm new file mode 100644 index 0000000000..49f3430267 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm @@ -0,0 +1,4 @@ +Rieyi:
+Honestly, I'm sorry, but I just don't think you're up for this high-risk task. You need to mature a bit more. Build up your skills, then come see me again.
+(Only characters who have finished the [Name of Prequest] quest can take this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm new file mode 100644 index 0000000000..9c3e465f0a --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm @@ -0,0 +1,6 @@ +Rieyi:
+Didn��Β²�²β€�Β¬�²β€��†t we already have this discussion? Like a million times already? Or was that someone else��Β²�²β€�Β¬�’Β¦ never mind, I guess I can tell you again.
+Our Krasis is basically a group of Dark Elves who specialize in making problems... disappear. We mostly hire out to the notabilities, and work behind the scenes. We've been around since the moon was young. Why we've been the silent power behind many of the most dramatic events in history.
+We've always guarded the knowledge of our existence very carefully, but with the current crisis with Shilen, we've decided that we need to step into the light and take a more prominent role.
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm new file mode 100644 index 0000000000..89ada37ce1 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm @@ -0,0 +1,5 @@ +Rieyi:
+If we want to win in this war against Shilen, we need to slap the power from her hands to give us an extra edge. She��Β²�²β€�Β¬�²β€��†s the one who��Β²�²β€�Β¬�²β€��†s behind the recent plethora of disasters and in order to fight her we need someone to get their hands a little dirty to win. We have an operative located at the Tower of Insolence ready to brief you if you want to take the gig. We��Β²�²β€�Β¬�²β€��†re running low on resources so we can��Β²�²β€�Β¬�²β€��†t send her in to handle the task if that was what you were thinking.
+Krasis has given the okay to allow contract adventures to assist us in our missions. Unfortunately, there is no financial compensation, but you��Β²�²β€�Β¬�²β€��†ll get experience performing these types of missions and earn all types of credit with the Krasis.
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm new file mode 100644 index 0000000000..e247f095de --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm @@ -0,0 +1,5 @@ +Rieyi:
+You have already met Kyuori in the Tower of Insolence, have you not? She is also a member of Krasis, like me. Get more details from her when you find her. It's not anything particularly different, I assure you.
+Don't worry, I've seen you fight. It's nothing you and your friends can't handle.
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm new file mode 100644 index 0000000000..6ae9aaf259 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you help Krasis, I will also help you all I can. I can tell you now that you will benefit just as much, if not more.
+I can give you buffs and, if necessary, even teleport you to the front of the Tower of Insolence where you are to carry out the mission. Feel free to tell me whatever you wish to say.
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm new file mode 100644 index 0000000000..c66e4ce106 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you agree to help our Krasis, I can help you out with a little support magic or a quick teleport to the Cruma Tower.
+What would you like to do?
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm new file mode 100644 index 0000000000..b10ab7b299 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm @@ -0,0 +1,4 @@ +Rieyi:
+Oh. Is this Dummy - Quest Item 1? I'm glad that I brought it. I will give you compensation.


+(In case there is no compensation link, additional handling is needed!!!) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm new file mode 100644 index 0000000000..6b07aa25a3 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm @@ -0,0 +1,4 @@ +Kyuori:
+I��Β²�²β€�Β¬�²β€��†m so bored. I saw an adventurer meet the business end of an Exhausted Vengeful Spirit��Β²�²β€�Β¬�²β€��†s sword an hour ago��Β²�²β€�Β¬�’Β¦ that was good for a quick laugh, but now I��Β²�²β€�Β¬�²β€��†m back to being bored again.
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm new file mode 100644 index 0000000000..307a4ce010 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm @@ -0,0 +1,5 @@ +Kyuori:
+Hah, I knew it would have to be something like that! Nobody would come to this place for a party. Well, I suppose you're here to take out some monsters in the Tower of Insolence.
+Go on, then! You aren't scared, are ya?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm new file mode 100644 index 0000000000..7b8ccf17f1 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm @@ -0,0 +1,4 @@ +Kyuori:
+I like your devotion! However, a quest can only be done once, and you're needed elsewhere.
+(You have already completed this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm new file mode 100644 index 0000000000..d2c6e52ce5 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm @@ -0,0 +1,5 @@ +Kyuori:
+Relax kid, it��Β²�²β€�Β¬�²β€��†s a monster clean up gig. Same deal as the last time. Kill about 10 creatures from this list and return back to me for your reward.
+(On the List): +Exhausted Vengeful Spirit, Wings of Viciousness, Baron's Knight, Terestian, Drill Demon, Knight's Vengeful Spirit, Royal Guard Knight Vengeful Spirit, Baron's Priest, Evil Shadow, Brutal Warrior, Dark Knight, Priest of Darkness, Vampire Queen, Bonehead Slave, Platinum Tribe Soldier, Platinum Tribe Archer, Platinum Tribe Warrior, Platinum Tribe Shaman, Platinum Tribe Overlord, Heaven's Palus Knight, Heaven's Palace Fighter, Heaven's Palace Terminator, Heaven's Palace Priest, Heaven's Palace Judge, Heaven's Palace Sniper, Slaughter Bathin, Bathin's Knight, Bathin's Wizard, Elmoreden's Lady, Elmoreden's Archer Escort, Elmoreden's Maid, Elmoreden's Guardian Warrior, Binder, Bound Warrior, Bound Archer, Heaven's Palace Seraphim, and Heaven's Palace Seraphim Escort. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm new file mode 100644 index 0000000000..22e3e583c6 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm @@ -0,0 +1,3 @@ +Kyuori:
+Those creatures aren't going to fall on their own swords, so I suggest you go ahead and get a move on it. Remember, 10 Creatures should be enough. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm new file mode 100644 index 0000000000..a75edc1897 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm @@ -0,0 +1,3 @@ +Kyuori:
+Not enough! You couldn't get more? Is 10 too much? Or are you afraid? Or... are you too dumb to count numbers? Stop whining and kill 10 monsters from Tower of Insolence. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm new file mode 100644 index 0000000000..523aa16e60 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm @@ -0,0 +1,3 @@ +Kyuori:
+Bravo, your performance was as grand as the last one, quick and predictable. As promised here is another Token of Insolence. Remember, Ende over here is crazy for these coins and is willing to trade some of her wares in exchange for them. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/QuestMasterHandler.java index d93285ba84..4e9b2a7e75 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -142,6 +142,7 @@ import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden; import quests.Q00474_WaitingForTheSummer.Q00474_WaitingForTheSummer; import quests.Q00476_PlainMission.Q00476_PlainMission; import quests.Q00481_ShadowHelper.Q00481_ShadowHelper; +import quests.Q00482_RecertificationOfValue.Q00482_RecertificationOfValue; import quests.Q00483_IntendedTactic.Q00483_IntendedTactic; import quests.Q00485_HotSpringWater.Q00485_HotSpringWater; import quests.Q00488_WondersOfCaring.Q00488_WondersOfCaring; @@ -583,6 +584,7 @@ public class QuestMasterHandler Q00474_WaitingForTheSummer.class, Q00476_PlainMission.class, Q00481_ShadowHelper.class, + Q00482_RecertificationOfValue.class, Q00483_IntendedTactic.class, Q00485_HotSpringWater.class, Q00488_WondersOfCaring.class, diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/MissingQuests.txt index 02cc24a9ad..3cb6198dfa 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/MissingQuests.txt @@ -1,5 +1,4 @@ 480 Another Legacy of Cruma Tower -482 Recertification of Value 504 Competition for the Bandit Stronghold 655 A Grand Plan for Taming Wild Beasts 665 Great Pirate Zaken's Treasure diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java new file mode 100644 index 0000000000..82ea15741d --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java @@ -0,0 +1,334 @@ +/* + * 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 . + */ +package quests.Q00482_RecertificationOfValue; + +import com.l2jmobius.gameserver.enums.CategoryType; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.L2Summon; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.SkillHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.skills.SkillCaster; +import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList; + +import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue; + +/** + * Recertification Of Value (482) + * @author Zeusx + */ +public class Q00482_RecertificationOfValue extends Quest +{ + // NPCs + private static final int RIEYI = 33406; + private static final int KYUORI = 33358; + // Monsters + private static final int[] TOI_MONSTERS = + { + 23044, + 23045, + 23046, + 23047, + 23048, + 23049, + 23050, + 23051, + 23052, + 23053, + 23054, + 23055, + 23056, + 23057, + 23058, + 23059, + 23060, + 23061, + 23062, + 23063, + 23064, + 23065, + 23066, + 23067, + 23068, + 23101, + 23102, + 23103, + 23104, + 23105, + 23106, + 23107, + 23108, + 23109, + 23110, + 23111, + 23112 + }; + // Buffs + private static final SkillHolder[] WARRIOR_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + }; + private static final SkillHolder[] MAGE_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder[] SUMMON_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder HASTE = new SkillHolder(4327, 1); // Adventurer's Haste + private static final SkillHolder HASTE2 = new SkillHolder(5632, 1); // Adventurer's Haste + private static final SkillHolder CUBIC = new SkillHolder(4338, 1); // Adventurer's Life Cubic + // Item + private static final int TOWER_OF_INSOLENCE_TOKEN = 17624; + + public Q00482_RecertificationOfValue() + { + super(482); + addStartNpc(RIEYI); + addTalkId(RIEYI, KYUORI); + addKillId(TOI_MONSTERS); + addCondMinLevel(48, "liason_starter2_q0482_02.htm"); + addCondCompletedQuest(Q10353_CertificationOfValue.class.getSimpleName(), "liason_starter2_q0482_02.htm"); // TODO: Need proper Name + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + + String htmltext = null; + switch (event) + { + case "liason_starter2_q0482_05.htm": + case "liason_starter2_q0482_06.htm": + case "liason_starter2_q0482_07.htm": + { + htmltext = event; + break; + } + case "liason_starter2_q0482_08.htm": + { + qs.startQuest(); + qs.setMemoState(1); + htmltext = event; + break; + } + case "oman_cuori_q0482_02.htm": + { + qs.setCond(2, true); + qs.setMemoState(2); + htmltext = event; + break; + } + case "oman_cuori_q0482_07.htm": + { + qs.exitQuest(QuestType.DAILY, true); + addExpAndSp(player, 1_500_000, 360); + giveItems(player, TOWER_OF_INSOLENCE_TOKEN, 1); + htmltext = event; + break; + } + case "EXIT": // TODO: Need make Instance Kamaloka (Hall of Abyss). + { + player.teleToLocation(new Location(114312, 13413, -5096)); + break; + } + case "BUFF_PLAYER": + { + npc.setTarget(player.getPet()); + if (player.isInCategory(CategoryType.MAGE_GROUP)) + { + for (SkillHolder skill : MAGE_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + else + { + for (SkillHolder skill : WARRIOR_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, npc, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, npc, HASTE2.getSkill()); + } + else if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + break; + } + case "BUFF_SUMMON": + { + for (L2Summon servitors : player.getServitorsAndPets()) + { + for (SkillHolder skill : SUMMON_BUFFS) + { + SkillCaster.triggerCast(npc, servitors, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, servitors, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, servitors, HASTE2.getSkill()); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState qs = getQuestState(player, false); + + if (qs == null) + { + return htmltext; + } + + switch (npc.getId()) + { + case RIEYI: + { + switch (qs.getCond()) + { + case 0: + { + htmltext = qs.isNowAvailable() ? "liason_starter2_q0482_03.htm" : "liason_starter2_q0482_01.htm"; + break; + } + case 1: + { + htmltext = "liason_starter2_q0482_09.htm"; + break; + } + } + break; + } + case KYUORI: + { + if (qs.isCompleted()) + { + htmltext = "oman_cuori_q0482_03.htm"; + } + switch (qs.getCond()) + { + case 1: + { + htmltext = "oman_cuori_q0482_01.htm"; + break; + } + case 2: + { + if (qs.getInt("23044") < 1) + { + htmltext = "oman_cuori_q0482_05.htm"; + } + else if ((qs.getInt("23044") > 1) && (qs.getInt("23044") < 10)) + { + htmltext = "oman_cuori_q0482_06.htm"; + } + break; + } + case 3: + { + htmltext = "oman_cuori_q0482_07.htm"; + break; + } + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState st = getQuestState(killer, false); + if ((st != null) && st.isCond(1)) + { + int npcId = npc.getId(); + + String variable = String.valueOf(npcId); // i3 + int currentValue = st.getInt(variable); + if (currentValue < 10) + { + st.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID + + if (currentValue >= 10) + { + st.setCond(3, true); + } + else + { + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + final ExQuestNpcLogList log = new ExQuestNpcLogList(getId()); + log.addNpc(npcId, st.getInt("23044")); + killer.sendPacket(log); + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm new file mode 100644 index 0000000000..68e4f525f3 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm @@ -0,0 +1,5 @@ +Rieyi:
+Well hello again, friend. How�²β�¬β�Άs it going? Don�²β�¬β�Άt suppose you are up to help out the Krasis again? It�²β�¬β�Άs nothing special... just a little like what you did last time. No, I�²β�¬β�Άm lying. It�²β�¬β�Άs exactly what you did last time. But, hey at least you know you�²β�¬β�Άre getting yourself into this time.
+ + + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm new file mode 100644 index 0000000000..af4264227e --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm @@ -0,0 +1,4 @@ +Rieyi:
+No, no. I'm sorry, but I'm afraid you'll get hurt out there.
+(Only characters whose level is greater than 48 and who have completed the Certification of Value quest can perform this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm new file mode 100644 index 0000000000..f38aab6220 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm @@ -0,0 +1,4 @@ +Rieyi:
+Excellent job, as I expected. Stop by again some time. Our Krasis may have further need for your talents.
+(You can only perform this quest once a day. This quest is reset daily at 6:30 AM.) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm new file mode 100644 index 0000000000..49f3430267 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm @@ -0,0 +1,4 @@ +Rieyi:
+Honestly, I'm sorry, but I just don't think you're up for this high-risk task. You need to mature a bit more. Build up your skills, then come see me again.
+(Only characters who have finished the [Name of Prequest] quest can take this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm new file mode 100644 index 0000000000..4dbf6e243e --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm @@ -0,0 +1,6 @@ +Rieyi:
+Didn�²β�¬β�Άt we already have this discussion? Like a million times already? Or was that someone else�²β�¬Β¦ never mind, I guess I can tell you again.
+Our Krasis is basically a group of Dark Elves who specialize in making problems... disappear. We mostly hire out to the notabilities, and work behind the scenes. We've been around since the moon was young. Why we've been the silent power behind many of the most dramatic events in history.
+We've always guarded the knowledge of our existence very carefully, but with the current crisis with Shilen, we've decided that we need to step into the light and take a more prominent role.
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm new file mode 100644 index 0000000000..e3be9dd062 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm @@ -0,0 +1,5 @@ +Rieyi:
+If we want to win in this war against Shilen, we need to slap the power from her hands to give us an extra edge. She�²β�¬β�Άs the one who�²β�¬β�Άs behind the recent plethora of disasters and in order to fight her we need someone to get their hands a little dirty to win. We have an operative located at the Tower of Insolence ready to brief you if you want to take the gig. We�²β�¬β�Άre running low on resources so we can�²β�¬β�Άt send her in to handle the task if that was what you were thinking.
+Krasis has given the okay to allow contract adventures to assist us in our missions. Unfortunately, there is no financial compensation, but you�²β�¬β�Άll get experience performing these types of missions and earn all types of credit with the Krasis.
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm new file mode 100644 index 0000000000..e247f095de --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm @@ -0,0 +1,5 @@ +Rieyi:
+You have already met Kyuori in the Tower of Insolence, have you not? She is also a member of Krasis, like me. Get more details from her when you find her. It's not anything particularly different, I assure you.
+Don't worry, I've seen you fight. It's nothing you and your friends can't handle.
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm new file mode 100644 index 0000000000..6ae9aaf259 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you help Krasis, I will also help you all I can. I can tell you now that you will benefit just as much, if not more.
+I can give you buffs and, if necessary, even teleport you to the front of the Tower of Insolence where you are to carry out the mission. Feel free to tell me whatever you wish to say.
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm new file mode 100644 index 0000000000..c66e4ce106 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you agree to help our Krasis, I can help you out with a little support magic or a quick teleport to the Cruma Tower.
+What would you like to do?
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm new file mode 100644 index 0000000000..b10ab7b299 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm @@ -0,0 +1,4 @@ +Rieyi:
+Oh. Is this Dummy - Quest Item 1? I'm glad that I brought it. I will give you compensation.


+(In case there is no compensation link, additional handling is needed!!!) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm new file mode 100644 index 0000000000..e1aaaf1804 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm @@ -0,0 +1,4 @@ +Kyuori:
+I�²β�¬β�Άm so bored. I saw an adventurer meet the business end of an Exhausted Vengeful Spirit�²β�¬β�Άs sword an hour ago�²β�¬Β¦ that was good for a quick laugh, but now I�²β�¬β�Άm back to being bored again.
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm new file mode 100644 index 0000000000..d8e875d571 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm @@ -0,0 +1,5 @@ +Kyuori:
+Hah, I knew it would have to be something like that! Nobody would come to this place for a party. Well, I suppose you're here to take out some monsters in the Tower of Insolence.
+Go on, then! You aren't scared, are ya?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm new file mode 100644 index 0000000000..7b8ccf17f1 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm @@ -0,0 +1,4 @@ +Kyuori:
+I like your devotion! However, a quest can only be done once, and you're needed elsewhere.
+(You have already completed this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm new file mode 100644 index 0000000000..0be8edf79f --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm @@ -0,0 +1,5 @@ +Kyuori:
+Relax kid, it�²β�¬β�Άs a monster clean up gig. Same deal as the last time. Kill about 10 creatures from this list and return back to me for your reward.
+(On the List): +Exhausted Vengeful Spirit, Wings of Viciousness, Baron's Knight, Terestian, Drill Demon, Knight's Vengeful Spirit, Royal Guard Knight Vengeful Spirit, Baron's Priest, Evil Shadow, Brutal Warrior, Dark Knight, Priest of Darkness, Vampire Queen, Bonehead Slave, Platinum Tribe Soldier, Platinum Tribe Archer, Platinum Tribe Warrior, Platinum Tribe Shaman, Platinum Tribe Overlord, Heaven's Palus Knight, Heaven's Palace Fighter, Heaven's Palace Terminator, Heaven's Palace Priest, Heaven's Palace Judge, Heaven's Palace Sniper, Slaughter Bathin, Bathin's Knight, Bathin's Wizard, Elmoreden's Lady, Elmoreden's Archer Escort, Elmoreden's Maid, Elmoreden's Guardian Warrior, Binder, Bound Warrior, Bound Archer, Heaven's Palace Seraphim, and Heaven's Palace Seraphim Escort. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm new file mode 100644 index 0000000000..22e3e583c6 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm @@ -0,0 +1,3 @@ +Kyuori:
+Those creatures aren't going to fall on their own swords, so I suggest you go ahead and get a move on it. Remember, 10 Creatures should be enough. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm new file mode 100644 index 0000000000..a75edc1897 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm @@ -0,0 +1,3 @@ +Kyuori:
+Not enough! You couldn't get more? Is 10 too much? Or are you afraid? Or... are you too dumb to count numbers? Stop whining and kill 10 monsters from Tower of Insolence. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm new file mode 100644 index 0000000000..523aa16e60 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm @@ -0,0 +1,3 @@ +Kyuori:
+Bravo, your performance was as grand as the last one, quick and predictable. As promised here is another Token of Insolence. Remember, Ende over here is crazy for these coins and is willing to trade some of her wares in exchange for them. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java index 3df495c345..c88fa53754 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -141,6 +141,7 @@ import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden; import quests.Q00474_WaitingForTheSummer.Q00474_WaitingForTheSummer; import quests.Q00476_PlainMission.Q00476_PlainMission; import quests.Q00481_ShadowHelper.Q00481_ShadowHelper; +import quests.Q00482_RecertificationOfValue.Q00482_RecertificationOfValue; import quests.Q00483_IntendedTactic.Q00483_IntendedTactic; import quests.Q00485_HotSpringWater.Q00485_HotSpringWater; import quests.Q00488_WondersOfCaring.Q00488_WondersOfCaring; @@ -622,6 +623,7 @@ public class QuestMasterHandler Q00474_WaitingForTheSummer.class, Q00476_PlainMission.class, Q00481_ShadowHelper.class, + Q00482_RecertificationOfValue.class, Q00483_IntendedTactic.class, Q00485_HotSpringWater.class, Q00488_WondersOfCaring.class, diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt index eead045a27..a555243ae9 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt @@ -1,4 +1,3 @@ -482 Recertification of Value 504 Competition for the Bandit Stronghold 655 A Grand Plan for Taming Wild Beasts 744 The Alligator Hunter returns diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java new file mode 100644 index 0000000000..82ea15741d --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java @@ -0,0 +1,334 @@ +/* + * 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 . + */ +package quests.Q00482_RecertificationOfValue; + +import com.l2jmobius.gameserver.enums.CategoryType; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.L2Summon; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.SkillHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.skills.SkillCaster; +import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList; + +import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue; + +/** + * Recertification Of Value (482) + * @author Zeusx + */ +public class Q00482_RecertificationOfValue extends Quest +{ + // NPCs + private static final int RIEYI = 33406; + private static final int KYUORI = 33358; + // Monsters + private static final int[] TOI_MONSTERS = + { + 23044, + 23045, + 23046, + 23047, + 23048, + 23049, + 23050, + 23051, + 23052, + 23053, + 23054, + 23055, + 23056, + 23057, + 23058, + 23059, + 23060, + 23061, + 23062, + 23063, + 23064, + 23065, + 23066, + 23067, + 23068, + 23101, + 23102, + 23103, + 23104, + 23105, + 23106, + 23107, + 23108, + 23109, + 23110, + 23111, + 23112 + }; + // Buffs + private static final SkillHolder[] WARRIOR_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + }; + private static final SkillHolder[] MAGE_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder[] SUMMON_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder HASTE = new SkillHolder(4327, 1); // Adventurer's Haste + private static final SkillHolder HASTE2 = new SkillHolder(5632, 1); // Adventurer's Haste + private static final SkillHolder CUBIC = new SkillHolder(4338, 1); // Adventurer's Life Cubic + // Item + private static final int TOWER_OF_INSOLENCE_TOKEN = 17624; + + public Q00482_RecertificationOfValue() + { + super(482); + addStartNpc(RIEYI); + addTalkId(RIEYI, KYUORI); + addKillId(TOI_MONSTERS); + addCondMinLevel(48, "liason_starter2_q0482_02.htm"); + addCondCompletedQuest(Q10353_CertificationOfValue.class.getSimpleName(), "liason_starter2_q0482_02.htm"); // TODO: Need proper Name + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + + String htmltext = null; + switch (event) + { + case "liason_starter2_q0482_05.htm": + case "liason_starter2_q0482_06.htm": + case "liason_starter2_q0482_07.htm": + { + htmltext = event; + break; + } + case "liason_starter2_q0482_08.htm": + { + qs.startQuest(); + qs.setMemoState(1); + htmltext = event; + break; + } + case "oman_cuori_q0482_02.htm": + { + qs.setCond(2, true); + qs.setMemoState(2); + htmltext = event; + break; + } + case "oman_cuori_q0482_07.htm": + { + qs.exitQuest(QuestType.DAILY, true); + addExpAndSp(player, 1_500_000, 360); + giveItems(player, TOWER_OF_INSOLENCE_TOKEN, 1); + htmltext = event; + break; + } + case "EXIT": // TODO: Need make Instance Kamaloka (Hall of Abyss). + { + player.teleToLocation(new Location(114312, 13413, -5096)); + break; + } + case "BUFF_PLAYER": + { + npc.setTarget(player.getPet()); + if (player.isInCategory(CategoryType.MAGE_GROUP)) + { + for (SkillHolder skill : MAGE_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + else + { + for (SkillHolder skill : WARRIOR_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, npc, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, npc, HASTE2.getSkill()); + } + else if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + break; + } + case "BUFF_SUMMON": + { + for (L2Summon servitors : player.getServitorsAndPets()) + { + for (SkillHolder skill : SUMMON_BUFFS) + { + SkillCaster.triggerCast(npc, servitors, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, servitors, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, servitors, HASTE2.getSkill()); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState qs = getQuestState(player, false); + + if (qs == null) + { + return htmltext; + } + + switch (npc.getId()) + { + case RIEYI: + { + switch (qs.getCond()) + { + case 0: + { + htmltext = qs.isNowAvailable() ? "liason_starter2_q0482_03.htm" : "liason_starter2_q0482_01.htm"; + break; + } + case 1: + { + htmltext = "liason_starter2_q0482_09.htm"; + break; + } + } + break; + } + case KYUORI: + { + if (qs.isCompleted()) + { + htmltext = "oman_cuori_q0482_03.htm"; + } + switch (qs.getCond()) + { + case 1: + { + htmltext = "oman_cuori_q0482_01.htm"; + break; + } + case 2: + { + if (qs.getInt("23044") < 1) + { + htmltext = "oman_cuori_q0482_05.htm"; + } + else if ((qs.getInt("23044") > 1) && (qs.getInt("23044") < 10)) + { + htmltext = "oman_cuori_q0482_06.htm"; + } + break; + } + case 3: + { + htmltext = "oman_cuori_q0482_07.htm"; + break; + } + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState st = getQuestState(killer, false); + if ((st != null) && st.isCond(1)) + { + int npcId = npc.getId(); + + String variable = String.valueOf(npcId); // i3 + int currentValue = st.getInt(variable); + if (currentValue < 10) + { + st.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID + + if (currentValue >= 10) + { + st.setCond(3, true); + } + else + { + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + final ExQuestNpcLogList log = new ExQuestNpcLogList(getId()); + log.addNpc(npcId, st.getInt("23044")); + killer.sendPacket(log); + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm new file mode 100644 index 0000000000..b78c1386d5 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm @@ -0,0 +1,5 @@ +Rieyi:
+Well hello again, friend. How’s it going? Don’t suppose you are up to help out the Krasis again? It’s nothing special... just a little like what you did last time. No, I’m lying. It’s exactly what you did last time. But, hey at least you know you’re getting yourself into this time.
+ + + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm new file mode 100644 index 0000000000..af4264227e --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm @@ -0,0 +1,4 @@ +Rieyi:
+No, no. I'm sorry, but I'm afraid you'll get hurt out there.
+(Only characters whose level is greater than 48 and who have completed the Certification of Value quest can perform this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm new file mode 100644 index 0000000000..f38aab6220 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm @@ -0,0 +1,4 @@ +Rieyi:
+Excellent job, as I expected. Stop by again some time. Our Krasis may have further need for your talents.
+(You can only perform this quest once a day. This quest is reset daily at 6:30 AM.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm new file mode 100644 index 0000000000..49f3430267 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm @@ -0,0 +1,4 @@ +Rieyi:
+Honestly, I'm sorry, but I just don't think you're up for this high-risk task. You need to mature a bit more. Build up your skills, then come see me again.
+(Only characters who have finished the [Name of Prequest] quest can take this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm new file mode 100644 index 0000000000..1aa4f2ae00 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm @@ -0,0 +1,6 @@ +Rieyi:
+Didn’t we already have this discussion? Like a million times already? Or was that someone else… never mind, I guess I can tell you again.
+Our Krasis is basically a group of Dark Elves who specialize in making problems... disappear. We mostly hire out to the notabilities, and work behind the scenes. We've been around since the moon was young. Why we've been the silent power behind many of the most dramatic events in history.
+We've always guarded the knowledge of our existence very carefully, but with the current crisis with Shilen, we've decided that we need to step into the light and take a more prominent role.
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm new file mode 100644 index 0000000000..b7ad0d98b9 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm @@ -0,0 +1,5 @@ +Rieyi:
+If we want to win in this war against Shilen, we need to slap the power from her hands to give us an extra edge. She’s the one who’s behind the recent plethora of disasters and in order to fight her we need someone to get their hands a little dirty to win. We have an operative located at the Tower of Insolence ready to brief you if you want to take the gig. We’re running low on resources so we can’t send her in to handle the task if that was what you were thinking.
+Krasis has given the okay to allow contract adventures to assist us in our missions. Unfortunately, there is no financial compensation, but you’ll get experience performing these types of missions and earn all types of credit with the Krasis.
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm new file mode 100644 index 0000000000..e247f095de --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm @@ -0,0 +1,5 @@ +Rieyi:
+You have already met Kyuori in the Tower of Insolence, have you not? She is also a member of Krasis, like me. Get more details from her when you find her. It's not anything particularly different, I assure you.
+Don't worry, I've seen you fight. It's nothing you and your friends can't handle.
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm new file mode 100644 index 0000000000..6ae9aaf259 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you help Krasis, I will also help you all I can. I can tell you now that you will benefit just as much, if not more.
+I can give you buffs and, if necessary, even teleport you to the front of the Tower of Insolence where you are to carry out the mission. Feel free to tell me whatever you wish to say.
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm new file mode 100644 index 0000000000..c66e4ce106 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you agree to help our Krasis, I can help you out with a little support magic or a quick teleport to the Cruma Tower.
+What would you like to do?
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm new file mode 100644 index 0000000000..b10ab7b299 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm @@ -0,0 +1,4 @@ +Rieyi:
+Oh. Is this Dummy - Quest Item 1? I'm glad that I brought it. I will give you compensation.


+(In case there is no compensation link, additional handling is needed!!!) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm new file mode 100644 index 0000000000..a3cad4add8 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm @@ -0,0 +1,4 @@ +Kyuori:
+I’m so bored. I saw an adventurer meet the business end of an Exhausted Vengeful Spirit’s sword an hour ago… that was good for a quick laugh, but now I’m back to being bored again.
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm new file mode 100644 index 0000000000..2e497cf975 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm @@ -0,0 +1,5 @@ +Kyuori:
+Hah, I knew it would have to be something like that! Nobody would come to this place for a party. Well, I suppose you're here to take out some monsters in the Tower of Insolence.
+Go on, then! You aren't scared, are ya?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm new file mode 100644 index 0000000000..7b8ccf17f1 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm @@ -0,0 +1,4 @@ +Kyuori:
+I like your devotion! However, a quest can only be done once, and you're needed elsewhere.
+(You have already completed this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm new file mode 100644 index 0000000000..fb34e6114e --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm @@ -0,0 +1,5 @@ +Kyuori:
+Relax kid, it’s a monster clean up gig. Same deal as the last time. Kill about 10 creatures from this list and return back to me for your reward.
+(On the List): +Exhausted Vengeful Spirit, Wings of Viciousness, Baron's Knight, Terestian, Drill Demon, Knight's Vengeful Spirit, Royal Guard Knight Vengeful Spirit, Baron's Priest, Evil Shadow, Brutal Warrior, Dark Knight, Priest of Darkness, Vampire Queen, Bonehead Slave, Platinum Tribe Soldier, Platinum Tribe Archer, Platinum Tribe Warrior, Platinum Tribe Shaman, Platinum Tribe Overlord, Heaven's Palus Knight, Heaven's Palace Fighter, Heaven's Palace Terminator, Heaven's Palace Priest, Heaven's Palace Judge, Heaven's Palace Sniper, Slaughter Bathin, Bathin's Knight, Bathin's Wizard, Elmoreden's Lady, Elmoreden's Archer Escort, Elmoreden's Maid, Elmoreden's Guardian Warrior, Binder, Bound Warrior, Bound Archer, Heaven's Palace Seraphim, and Heaven's Palace Seraphim Escort. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm new file mode 100644 index 0000000000..22e3e583c6 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm @@ -0,0 +1,3 @@ +Kyuori:
+Those creatures aren't going to fall on their own swords, so I suggest you go ahead and get a move on it. Remember, 10 Creatures should be enough. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm new file mode 100644 index 0000000000..a75edc1897 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm @@ -0,0 +1,3 @@ +Kyuori:
+Not enough! You couldn't get more? Is 10 too much? Or are you afraid? Or... are you too dumb to count numbers? Stop whining and kill 10 monsters from Tower of Insolence. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm new file mode 100644 index 0000000000..523aa16e60 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm @@ -0,0 +1,3 @@ +Kyuori:
+Bravo, your performance was as grand as the last one, quick and predictable. As promised here is another Token of Insolence. Remember, Ende over here is crazy for these coins and is willing to trade some of her wares in exchange for them. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java index c7bbaf32af..6a9f86747c 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -119,6 +119,7 @@ import quests.Q00472_ChallengeSteamCorridor.Q00472_ChallengeSteamCorridor; import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden; import quests.Q00474_WaitingForTheSummer.Q00474_WaitingForTheSummer; import quests.Q00476_PlainMission.Q00476_PlainMission; +import quests.Q00482_RecertificationOfValue.Q00482_RecertificationOfValue; import quests.Q00483_IntendedTactic.Q00483_IntendedTactic; import quests.Q00485_HotSpringWater.Q00485_HotSpringWater; import quests.Q00488_WondersOfCaring.Q00488_WondersOfCaring; @@ -566,6 +567,7 @@ public class QuestMasterHandler Q00473_InTheCoralGarden.class, Q00474_WaitingForTheSummer.class, Q00476_PlainMission.class, + Q00482_RecertificationOfValue.class, Q00483_IntendedTactic.class, Q00485_HotSpringWater.class, Q00488_WondersOfCaring.class, diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt index dd97080fbf..06b0a3dbb3 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt @@ -1,4 +1,3 @@ -482 Recertification of Value 504 Competition for the Bandit Stronghold 655 A Grand Plan for Taming Wild Beasts 665 Basic Training for Hunter Guild Member diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java new file mode 100644 index 0000000000..82ea15741d --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java @@ -0,0 +1,334 @@ +/* + * 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 . + */ +package quests.Q00482_RecertificationOfValue; + +import com.l2jmobius.gameserver.enums.CategoryType; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.L2Summon; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.SkillHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.skills.SkillCaster; +import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList; + +import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue; + +/** + * Recertification Of Value (482) + * @author Zeusx + */ +public class Q00482_RecertificationOfValue extends Quest +{ + // NPCs + private static final int RIEYI = 33406; + private static final int KYUORI = 33358; + // Monsters + private static final int[] TOI_MONSTERS = + { + 23044, + 23045, + 23046, + 23047, + 23048, + 23049, + 23050, + 23051, + 23052, + 23053, + 23054, + 23055, + 23056, + 23057, + 23058, + 23059, + 23060, + 23061, + 23062, + 23063, + 23064, + 23065, + 23066, + 23067, + 23068, + 23101, + 23102, + 23103, + 23104, + 23105, + 23106, + 23107, + 23108, + 23109, + 23110, + 23111, + 23112 + }; + // Buffs + private static final SkillHolder[] WARRIOR_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + }; + private static final SkillHolder[] MAGE_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder[] SUMMON_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder HASTE = new SkillHolder(4327, 1); // Adventurer's Haste + private static final SkillHolder HASTE2 = new SkillHolder(5632, 1); // Adventurer's Haste + private static final SkillHolder CUBIC = new SkillHolder(4338, 1); // Adventurer's Life Cubic + // Item + private static final int TOWER_OF_INSOLENCE_TOKEN = 17624; + + public Q00482_RecertificationOfValue() + { + super(482); + addStartNpc(RIEYI); + addTalkId(RIEYI, KYUORI); + addKillId(TOI_MONSTERS); + addCondMinLevel(48, "liason_starter2_q0482_02.htm"); + addCondCompletedQuest(Q10353_CertificationOfValue.class.getSimpleName(), "liason_starter2_q0482_02.htm"); // TODO: Need proper Name + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + + String htmltext = null; + switch (event) + { + case "liason_starter2_q0482_05.htm": + case "liason_starter2_q0482_06.htm": + case "liason_starter2_q0482_07.htm": + { + htmltext = event; + break; + } + case "liason_starter2_q0482_08.htm": + { + qs.startQuest(); + qs.setMemoState(1); + htmltext = event; + break; + } + case "oman_cuori_q0482_02.htm": + { + qs.setCond(2, true); + qs.setMemoState(2); + htmltext = event; + break; + } + case "oman_cuori_q0482_07.htm": + { + qs.exitQuest(QuestType.DAILY, true); + addExpAndSp(player, 1_500_000, 360); + giveItems(player, TOWER_OF_INSOLENCE_TOKEN, 1); + htmltext = event; + break; + } + case "EXIT": // TODO: Need make Instance Kamaloka (Hall of Abyss). + { + player.teleToLocation(new Location(114312, 13413, -5096)); + break; + } + case "BUFF_PLAYER": + { + npc.setTarget(player.getPet()); + if (player.isInCategory(CategoryType.MAGE_GROUP)) + { + for (SkillHolder skill : MAGE_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + else + { + for (SkillHolder skill : WARRIOR_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, npc, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, npc, HASTE2.getSkill()); + } + else if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + break; + } + case "BUFF_SUMMON": + { + for (L2Summon servitors : player.getServitorsAndPets()) + { + for (SkillHolder skill : SUMMON_BUFFS) + { + SkillCaster.triggerCast(npc, servitors, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, servitors, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, servitors, HASTE2.getSkill()); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState qs = getQuestState(player, false); + + if (qs == null) + { + return htmltext; + } + + switch (npc.getId()) + { + case RIEYI: + { + switch (qs.getCond()) + { + case 0: + { + htmltext = qs.isNowAvailable() ? "liason_starter2_q0482_03.htm" : "liason_starter2_q0482_01.htm"; + break; + } + case 1: + { + htmltext = "liason_starter2_q0482_09.htm"; + break; + } + } + break; + } + case KYUORI: + { + if (qs.isCompleted()) + { + htmltext = "oman_cuori_q0482_03.htm"; + } + switch (qs.getCond()) + { + case 1: + { + htmltext = "oman_cuori_q0482_01.htm"; + break; + } + case 2: + { + if (qs.getInt("23044") < 1) + { + htmltext = "oman_cuori_q0482_05.htm"; + } + else if ((qs.getInt("23044") > 1) && (qs.getInt("23044") < 10)) + { + htmltext = "oman_cuori_q0482_06.htm"; + } + break; + } + case 3: + { + htmltext = "oman_cuori_q0482_07.htm"; + break; + } + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState st = getQuestState(killer, false); + if ((st != null) && st.isCond(1)) + { + int npcId = npc.getId(); + + String variable = String.valueOf(npcId); // i3 + int currentValue = st.getInt(variable); + if (currentValue < 10) + { + st.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID + + if (currentValue >= 10) + { + st.setCond(3, true); + } + else + { + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + final ExQuestNpcLogList log = new ExQuestNpcLogList(getId()); + log.addNpc(npcId, st.getInt("23044")); + killer.sendPacket(log); + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm new file mode 100644 index 0000000000..b78c1386d5 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm @@ -0,0 +1,5 @@ +Rieyi:
+Well hello again, friend. How’s it going? Don’t suppose you are up to help out the Krasis again? It’s nothing special... just a little like what you did last time. No, I’m lying. It’s exactly what you did last time. But, hey at least you know you’re getting yourself into this time.
+ + + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm new file mode 100644 index 0000000000..af4264227e --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm @@ -0,0 +1,4 @@ +Rieyi:
+No, no. I'm sorry, but I'm afraid you'll get hurt out there.
+(Only characters whose level is greater than 48 and who have completed the Certification of Value quest can perform this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm new file mode 100644 index 0000000000..f38aab6220 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm @@ -0,0 +1,4 @@ +Rieyi:
+Excellent job, as I expected. Stop by again some time. Our Krasis may have further need for your talents.
+(You can only perform this quest once a day. This quest is reset daily at 6:30 AM.) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm new file mode 100644 index 0000000000..49f3430267 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm @@ -0,0 +1,4 @@ +Rieyi:
+Honestly, I'm sorry, but I just don't think you're up for this high-risk task. You need to mature a bit more. Build up your skills, then come see me again.
+(Only characters who have finished the [Name of Prequest] quest can take this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm new file mode 100644 index 0000000000..1aa4f2ae00 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm @@ -0,0 +1,6 @@ +Rieyi:
+Didn’t we already have this discussion? Like a million times already? Or was that someone else… never mind, I guess I can tell you again.
+Our Krasis is basically a group of Dark Elves who specialize in making problems... disappear. We mostly hire out to the notabilities, and work behind the scenes. We've been around since the moon was young. Why we've been the silent power behind many of the most dramatic events in history.
+We've always guarded the knowledge of our existence very carefully, but with the current crisis with Shilen, we've decided that we need to step into the light and take a more prominent role.
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm new file mode 100644 index 0000000000..b7ad0d98b9 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm @@ -0,0 +1,5 @@ +Rieyi:
+If we want to win in this war against Shilen, we need to slap the power from her hands to give us an extra edge. She’s the one who’s behind the recent plethora of disasters and in order to fight her we need someone to get their hands a little dirty to win. We have an operative located at the Tower of Insolence ready to brief you if you want to take the gig. We’re running low on resources so we can’t send her in to handle the task if that was what you were thinking.
+Krasis has given the okay to allow contract adventures to assist us in our missions. Unfortunately, there is no financial compensation, but you’ll get experience performing these types of missions and earn all types of credit with the Krasis.
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm new file mode 100644 index 0000000000..e247f095de --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm @@ -0,0 +1,5 @@ +Rieyi:
+You have already met Kyuori in the Tower of Insolence, have you not? She is also a member of Krasis, like me. Get more details from her when you find her. It's not anything particularly different, I assure you.
+Don't worry, I've seen you fight. It's nothing you and your friends can't handle.
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm new file mode 100644 index 0000000000..6ae9aaf259 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you help Krasis, I will also help you all I can. I can tell you now that you will benefit just as much, if not more.
+I can give you buffs and, if necessary, even teleport you to the front of the Tower of Insolence where you are to carry out the mission. Feel free to tell me whatever you wish to say.
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm new file mode 100644 index 0000000000..c66e4ce106 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you agree to help our Krasis, I can help you out with a little support magic or a quick teleport to the Cruma Tower.
+What would you like to do?
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm new file mode 100644 index 0000000000..b10ab7b299 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm @@ -0,0 +1,4 @@ +Rieyi:
+Oh. Is this Dummy - Quest Item 1? I'm glad that I brought it. I will give you compensation.


+(In case there is no compensation link, additional handling is needed!!!) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm new file mode 100644 index 0000000000..a3cad4add8 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm @@ -0,0 +1,4 @@ +Kyuori:
+I’m so bored. I saw an adventurer meet the business end of an Exhausted Vengeful Spirit’s sword an hour ago… that was good for a quick laugh, but now I’m back to being bored again.
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm new file mode 100644 index 0000000000..2e497cf975 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm @@ -0,0 +1,5 @@ +Kyuori:
+Hah, I knew it would have to be something like that! Nobody would come to this place for a party. Well, I suppose you're here to take out some monsters in the Tower of Insolence.
+Go on, then! You aren't scared, are ya?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm new file mode 100644 index 0000000000..7b8ccf17f1 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm @@ -0,0 +1,4 @@ +Kyuori:
+I like your devotion! However, a quest can only be done once, and you're needed elsewhere.
+(You have already completed this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm new file mode 100644 index 0000000000..fb34e6114e --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm @@ -0,0 +1,5 @@ +Kyuori:
+Relax kid, it’s a monster clean up gig. Same deal as the last time. Kill about 10 creatures from this list and return back to me for your reward.
+(On the List): +Exhausted Vengeful Spirit, Wings of Viciousness, Baron's Knight, Terestian, Drill Demon, Knight's Vengeful Spirit, Royal Guard Knight Vengeful Spirit, Baron's Priest, Evil Shadow, Brutal Warrior, Dark Knight, Priest of Darkness, Vampire Queen, Bonehead Slave, Platinum Tribe Soldier, Platinum Tribe Archer, Platinum Tribe Warrior, Platinum Tribe Shaman, Platinum Tribe Overlord, Heaven's Palus Knight, Heaven's Palace Fighter, Heaven's Palace Terminator, Heaven's Palace Priest, Heaven's Palace Judge, Heaven's Palace Sniper, Slaughter Bathin, Bathin's Knight, Bathin's Wizard, Elmoreden's Lady, Elmoreden's Archer Escort, Elmoreden's Maid, Elmoreden's Guardian Warrior, Binder, Bound Warrior, Bound Archer, Heaven's Palace Seraphim, and Heaven's Palace Seraphim Escort. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm new file mode 100644 index 0000000000..22e3e583c6 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm @@ -0,0 +1,3 @@ +Kyuori:
+Those creatures aren't going to fall on their own swords, so I suggest you go ahead and get a move on it. Remember, 10 Creatures should be enough. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm new file mode 100644 index 0000000000..a75edc1897 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm @@ -0,0 +1,3 @@ +Kyuori:
+Not enough! You couldn't get more? Is 10 too much? Or are you afraid? Or... are you too dumb to count numbers? Stop whining and kill 10 monsters from Tower of Insolence. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm new file mode 100644 index 0000000000..523aa16e60 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm @@ -0,0 +1,3 @@ +Kyuori:
+Bravo, your performance was as grand as the last one, quick and predictable. As promised here is another Token of Insolence. Remember, Ende over here is crazy for these coins and is willing to trade some of her wares in exchange for them. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java index e37f279cfe..f8224d73a5 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -119,6 +119,7 @@ import quests.Q00472_ChallengeSteamCorridor.Q00472_ChallengeSteamCorridor; import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden; import quests.Q00474_WaitingForTheSummer.Q00474_WaitingForTheSummer; import quests.Q00476_PlainMission.Q00476_PlainMission; +import quests.Q00482_RecertificationOfValue.Q00482_RecertificationOfValue; import quests.Q00483_IntendedTactic.Q00483_IntendedTactic; import quests.Q00485_HotSpringWater.Q00485_HotSpringWater; import quests.Q00488_WondersOfCaring.Q00488_WondersOfCaring; @@ -564,6 +565,7 @@ public class QuestMasterHandler Q00473_InTheCoralGarden.class, Q00474_WaitingForTheSummer.class, Q00476_PlainMission.class, + Q00482_RecertificationOfValue.class, Q00483_IntendedTactic.class, Q00485_HotSpringWater.class, Q00488_WondersOfCaring.class, diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt index b1b7493fb1..9be3729d09 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt @@ -1,4 +1,3 @@ -482 Recertification of Value 504 Competition for the Bandit Stronghold 561 Basic Mission: Harnak Underground Ruins 562 Basic Mission: Altar of Evil diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java new file mode 100644 index 0000000000..82ea15741d --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java @@ -0,0 +1,334 @@ +/* + * 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 . + */ +package quests.Q00482_RecertificationOfValue; + +import com.l2jmobius.gameserver.enums.CategoryType; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.L2Summon; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.SkillHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.skills.SkillCaster; +import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList; + +import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue; + +/** + * Recertification Of Value (482) + * @author Zeusx + */ +public class Q00482_RecertificationOfValue extends Quest +{ + // NPCs + private static final int RIEYI = 33406; + private static final int KYUORI = 33358; + // Monsters + private static final int[] TOI_MONSTERS = + { + 23044, + 23045, + 23046, + 23047, + 23048, + 23049, + 23050, + 23051, + 23052, + 23053, + 23054, + 23055, + 23056, + 23057, + 23058, + 23059, + 23060, + 23061, + 23062, + 23063, + 23064, + 23065, + 23066, + 23067, + 23068, + 23101, + 23102, + 23103, + 23104, + 23105, + 23106, + 23107, + 23108, + 23109, + 23110, + 23111, + 23112 + }; + // Buffs + private static final SkillHolder[] WARRIOR_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + }; + private static final SkillHolder[] MAGE_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder[] SUMMON_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder HASTE = new SkillHolder(4327, 1); // Adventurer's Haste + private static final SkillHolder HASTE2 = new SkillHolder(5632, 1); // Adventurer's Haste + private static final SkillHolder CUBIC = new SkillHolder(4338, 1); // Adventurer's Life Cubic + // Item + private static final int TOWER_OF_INSOLENCE_TOKEN = 17624; + + public Q00482_RecertificationOfValue() + { + super(482); + addStartNpc(RIEYI); + addTalkId(RIEYI, KYUORI); + addKillId(TOI_MONSTERS); + addCondMinLevel(48, "liason_starter2_q0482_02.htm"); + addCondCompletedQuest(Q10353_CertificationOfValue.class.getSimpleName(), "liason_starter2_q0482_02.htm"); // TODO: Need proper Name + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + + String htmltext = null; + switch (event) + { + case "liason_starter2_q0482_05.htm": + case "liason_starter2_q0482_06.htm": + case "liason_starter2_q0482_07.htm": + { + htmltext = event; + break; + } + case "liason_starter2_q0482_08.htm": + { + qs.startQuest(); + qs.setMemoState(1); + htmltext = event; + break; + } + case "oman_cuori_q0482_02.htm": + { + qs.setCond(2, true); + qs.setMemoState(2); + htmltext = event; + break; + } + case "oman_cuori_q0482_07.htm": + { + qs.exitQuest(QuestType.DAILY, true); + addExpAndSp(player, 1_500_000, 360); + giveItems(player, TOWER_OF_INSOLENCE_TOKEN, 1); + htmltext = event; + break; + } + case "EXIT": // TODO: Need make Instance Kamaloka (Hall of Abyss). + { + player.teleToLocation(new Location(114312, 13413, -5096)); + break; + } + case "BUFF_PLAYER": + { + npc.setTarget(player.getPet()); + if (player.isInCategory(CategoryType.MAGE_GROUP)) + { + for (SkillHolder skill : MAGE_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + else + { + for (SkillHolder skill : WARRIOR_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, npc, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, npc, HASTE2.getSkill()); + } + else if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + break; + } + case "BUFF_SUMMON": + { + for (L2Summon servitors : player.getServitorsAndPets()) + { + for (SkillHolder skill : SUMMON_BUFFS) + { + SkillCaster.triggerCast(npc, servitors, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, servitors, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, servitors, HASTE2.getSkill()); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState qs = getQuestState(player, false); + + if (qs == null) + { + return htmltext; + } + + switch (npc.getId()) + { + case RIEYI: + { + switch (qs.getCond()) + { + case 0: + { + htmltext = qs.isNowAvailable() ? "liason_starter2_q0482_03.htm" : "liason_starter2_q0482_01.htm"; + break; + } + case 1: + { + htmltext = "liason_starter2_q0482_09.htm"; + break; + } + } + break; + } + case KYUORI: + { + if (qs.isCompleted()) + { + htmltext = "oman_cuori_q0482_03.htm"; + } + switch (qs.getCond()) + { + case 1: + { + htmltext = "oman_cuori_q0482_01.htm"; + break; + } + case 2: + { + if (qs.getInt("23044") < 1) + { + htmltext = "oman_cuori_q0482_05.htm"; + } + else if ((qs.getInt("23044") > 1) && (qs.getInt("23044") < 10)) + { + htmltext = "oman_cuori_q0482_06.htm"; + } + break; + } + case 3: + { + htmltext = "oman_cuori_q0482_07.htm"; + break; + } + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState st = getQuestState(killer, false); + if ((st != null) && st.isCond(1)) + { + int npcId = npc.getId(); + + String variable = String.valueOf(npcId); // i3 + int currentValue = st.getInt(variable); + if (currentValue < 10) + { + st.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID + + if (currentValue >= 10) + { + st.setCond(3, true); + } + else + { + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + final ExQuestNpcLogList log = new ExQuestNpcLogList(getId()); + log.addNpc(npcId, st.getInt("23044")); + killer.sendPacket(log); + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm new file mode 100644 index 0000000000..6641f0f735 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm @@ -0,0 +1,5 @@ +Rieyi:
+Well hello again, friend. How’s it going? Don’t suppose you are up to help out the Krasis again? It’s nothing special... just a little like what you did last time. No, I’m lying. It’s exactly what you did last time. But, hey at least you know you’re getting yourself into this time.
+ + + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm new file mode 100644 index 0000000000..af4264227e --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm @@ -0,0 +1,4 @@ +Rieyi:
+No, no. I'm sorry, but I'm afraid you'll get hurt out there.
+(Only characters whose level is greater than 48 and who have completed the Certification of Value quest can perform this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm new file mode 100644 index 0000000000..f38aab6220 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm @@ -0,0 +1,4 @@ +Rieyi:
+Excellent job, as I expected. Stop by again some time. Our Krasis may have further need for your talents.
+(You can only perform this quest once a day. This quest is reset daily at 6:30 AM.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm new file mode 100644 index 0000000000..49f3430267 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm @@ -0,0 +1,4 @@ +Rieyi:
+Honestly, I'm sorry, but I just don't think you're up for this high-risk task. You need to mature a bit more. Build up your skills, then come see me again.
+(Only characters who have finished the [Name of Prequest] quest can take this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm new file mode 100644 index 0000000000..32cffe3290 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm @@ -0,0 +1,6 @@ +Rieyi:
+Didn’t we already have this discussion? Like a million times already? Or was that someone else… never mind, I guess I can tell you again.
+Our Krasis is basically a group of Dark Elves who specialize in making problems... disappear. We mostly hire out to the notabilities, and work behind the scenes. We've been around since the moon was young. Why we've been the silent power behind many of the most dramatic events in history.
+We've always guarded the knowledge of our existence very carefully, but with the current crisis with Shilen, we've decided that we need to step into the light and take a more prominent role.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm new file mode 100644 index 0000000000..e1a7bf4813 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm @@ -0,0 +1,5 @@ +Rieyi:
+If we want to win in this war against Shilen, we need to slap the power from her hands to give us an extra edge. She’s the one who’s behind the recent plethora of disasters and in order to fight her we need someone to get their hands a little dirty to win. We have an operative located at the Tower of Insolence ready to brief you if you want to take the gig. We’re running low on resources so we can’t send her in to handle the task if that was what you were thinking.
+Krasis has given the okay to allow contract adventures to assist us in our missions. Unfortunately, there is no financial compensation, but you’ll get experience performing these types of missions and earn all types of credit with the Krasis.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm new file mode 100644 index 0000000000..e247f095de --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm @@ -0,0 +1,5 @@ +Rieyi:
+You have already met Kyuori in the Tower of Insolence, have you not? She is also a member of Krasis, like me. Get more details from her when you find her. It's not anything particularly different, I assure you.
+Don't worry, I've seen you fight. It's nothing you and your friends can't handle.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm new file mode 100644 index 0000000000..6ae9aaf259 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you help Krasis, I will also help you all I can. I can tell you now that you will benefit just as much, if not more.
+I can give you buffs and, if necessary, even teleport you to the front of the Tower of Insolence where you are to carry out the mission. Feel free to tell me whatever you wish to say.
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm new file mode 100644 index 0000000000..c66e4ce106 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you agree to help our Krasis, I can help you out with a little support magic or a quick teleport to the Cruma Tower.
+What would you like to do?
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm new file mode 100644 index 0000000000..b10ab7b299 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm @@ -0,0 +1,4 @@ +Rieyi:
+Oh. Is this Dummy - Quest Item 1? I'm glad that I brought it. I will give you compensation.


+(In case there is no compensation link, additional handling is needed!!!) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm new file mode 100644 index 0000000000..55fbd8f646 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm @@ -0,0 +1,4 @@ +Kyuori:
+I’m so bored. I saw an adventurer meet the business end of an Exhausted Vengeful Spirit’s sword an hour ago… that was good for a quick laugh, but now I’m back to being bored again.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm new file mode 100644 index 0000000000..5d192d98f8 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm @@ -0,0 +1,5 @@ +Kyuori:
+Hah, I knew it would have to be something like that! Nobody would come to this place for a party. Well, I suppose you're here to take out some monsters in the Tower of Insolence.
+Go on, then! You aren't scared, are ya?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm new file mode 100644 index 0000000000..7b8ccf17f1 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm @@ -0,0 +1,4 @@ +Kyuori:
+I like your devotion! However, a quest can only be done once, and you're needed elsewhere.
+(You have already completed this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm new file mode 100644 index 0000000000..717b842585 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm @@ -0,0 +1,5 @@ +Kyuori:
+Relax kid, it’s a monster clean up gig. Same deal as the last time. Kill about 10 creatures from this list and return back to me for your reward.
+(On the List): +Exhausted Vengeful Spirit, Wings of Viciousness, Baron's Knight, Terestian, Drill Demon, Knight's Vengeful Spirit, Royal Guard Knight Vengeful Spirit, Baron's Priest, Evil Shadow, Brutal Warrior, Dark Knight, Priest of Darkness, Vampire Queen, Bonehead Slave, Platinum Tribe Soldier, Platinum Tribe Archer, Platinum Tribe Warrior, Platinum Tribe Shaman, Platinum Tribe Overlord, Heaven's Palus Knight, Heaven's Palace Fighter, Heaven's Palace Terminator, Heaven's Palace Priest, Heaven's Palace Judge, Heaven's Palace Sniper, Slaughter Bathin, Bathin's Knight, Bathin's Wizard, Elmoreden's Lady, Elmoreden's Archer Escort, Elmoreden's Maid, Elmoreden's Guardian Warrior, Binder, Bound Warrior, Bound Archer, Heaven's Palace Seraphim, and Heaven's Palace Seraphim Escort. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm new file mode 100644 index 0000000000..22e3e583c6 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm @@ -0,0 +1,3 @@ +Kyuori:
+Those creatures aren't going to fall on their own swords, so I suggest you go ahead and get a move on it. Remember, 10 Creatures should be enough. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm new file mode 100644 index 0000000000..a75edc1897 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm @@ -0,0 +1,3 @@ +Kyuori:
+Not enough! You couldn't get more? Is 10 too much? Or are you afraid? Or... are you too dumb to count numbers? Stop whining and kill 10 monsters from Tower of Insolence. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm new file mode 100644 index 0000000000..523aa16e60 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm @@ -0,0 +1,3 @@ +Kyuori:
+Bravo, your performance was as grand as the last one, quick and predictable. As promised here is another Token of Insolence. Remember, Ende over here is crazy for these coins and is willing to trade some of her wares in exchange for them. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java index b7b993c31c..932bfb44d5 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -118,6 +118,7 @@ import quests.Q00472_ChallengeSteamCorridor.Q00472_ChallengeSteamCorridor; import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden; import quests.Q00474_WaitingForTheSummer.Q00474_WaitingForTheSummer; import quests.Q00476_PlainMission.Q00476_PlainMission; +import quests.Q00482_RecertificationOfValue.Q00482_RecertificationOfValue; import quests.Q00483_IntendedTactic.Q00483_IntendedTactic; import quests.Q00485_HotSpringWater.Q00485_HotSpringWater; import quests.Q00488_WondersOfCaring.Q00488_WondersOfCaring; @@ -551,6 +552,7 @@ public class QuestMasterHandler Q00473_InTheCoralGarden.class, Q00474_WaitingForTheSummer.class, Q00476_PlainMission.class, + Q00482_RecertificationOfValue.class, Q00483_IntendedTactic.class, Q00485_HotSpringWater.class, Q00488_WondersOfCaring.class, diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt index b38996f064..940d1c9c02 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt @@ -1,4 +1,3 @@ -482 Recertification of Value 504 Competition for the Bandit Stronghold 529 Regular Barrier Maintenance 554 Red Libra Request - Silent Valley diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java new file mode 100644 index 0000000000..82ea15741d --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java @@ -0,0 +1,334 @@ +/* + * 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 . + */ +package quests.Q00482_RecertificationOfValue; + +import com.l2jmobius.gameserver.enums.CategoryType; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.L2Summon; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.SkillHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.skills.SkillCaster; +import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList; + +import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue; + +/** + * Recertification Of Value (482) + * @author Zeusx + */ +public class Q00482_RecertificationOfValue extends Quest +{ + // NPCs + private static final int RIEYI = 33406; + private static final int KYUORI = 33358; + // Monsters + private static final int[] TOI_MONSTERS = + { + 23044, + 23045, + 23046, + 23047, + 23048, + 23049, + 23050, + 23051, + 23052, + 23053, + 23054, + 23055, + 23056, + 23057, + 23058, + 23059, + 23060, + 23061, + 23062, + 23063, + 23064, + 23065, + 23066, + 23067, + 23068, + 23101, + 23102, + 23103, + 23104, + 23105, + 23106, + 23107, + 23108, + 23109, + 23110, + 23111, + 23112 + }; + // Buffs + private static final SkillHolder[] WARRIOR_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + }; + private static final SkillHolder[] MAGE_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder[] SUMMON_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder HASTE = new SkillHolder(4327, 1); // Adventurer's Haste + private static final SkillHolder HASTE2 = new SkillHolder(5632, 1); // Adventurer's Haste + private static final SkillHolder CUBIC = new SkillHolder(4338, 1); // Adventurer's Life Cubic + // Item + private static final int TOWER_OF_INSOLENCE_TOKEN = 17624; + + public Q00482_RecertificationOfValue() + { + super(482); + addStartNpc(RIEYI); + addTalkId(RIEYI, KYUORI); + addKillId(TOI_MONSTERS); + addCondMinLevel(48, "liason_starter2_q0482_02.htm"); + addCondCompletedQuest(Q10353_CertificationOfValue.class.getSimpleName(), "liason_starter2_q0482_02.htm"); // TODO: Need proper Name + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + + String htmltext = null; + switch (event) + { + case "liason_starter2_q0482_05.htm": + case "liason_starter2_q0482_06.htm": + case "liason_starter2_q0482_07.htm": + { + htmltext = event; + break; + } + case "liason_starter2_q0482_08.htm": + { + qs.startQuest(); + qs.setMemoState(1); + htmltext = event; + break; + } + case "oman_cuori_q0482_02.htm": + { + qs.setCond(2, true); + qs.setMemoState(2); + htmltext = event; + break; + } + case "oman_cuori_q0482_07.htm": + { + qs.exitQuest(QuestType.DAILY, true); + addExpAndSp(player, 1_500_000, 360); + giveItems(player, TOWER_OF_INSOLENCE_TOKEN, 1); + htmltext = event; + break; + } + case "EXIT": // TODO: Need make Instance Kamaloka (Hall of Abyss). + { + player.teleToLocation(new Location(114312, 13413, -5096)); + break; + } + case "BUFF_PLAYER": + { + npc.setTarget(player.getPet()); + if (player.isInCategory(CategoryType.MAGE_GROUP)) + { + for (SkillHolder skill : MAGE_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + else + { + for (SkillHolder skill : WARRIOR_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, npc, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, npc, HASTE2.getSkill()); + } + else if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + break; + } + case "BUFF_SUMMON": + { + for (L2Summon servitors : player.getServitorsAndPets()) + { + for (SkillHolder skill : SUMMON_BUFFS) + { + SkillCaster.triggerCast(npc, servitors, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, servitors, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, servitors, HASTE2.getSkill()); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState qs = getQuestState(player, false); + + if (qs == null) + { + return htmltext; + } + + switch (npc.getId()) + { + case RIEYI: + { + switch (qs.getCond()) + { + case 0: + { + htmltext = qs.isNowAvailable() ? "liason_starter2_q0482_03.htm" : "liason_starter2_q0482_01.htm"; + break; + } + case 1: + { + htmltext = "liason_starter2_q0482_09.htm"; + break; + } + } + break; + } + case KYUORI: + { + if (qs.isCompleted()) + { + htmltext = "oman_cuori_q0482_03.htm"; + } + switch (qs.getCond()) + { + case 1: + { + htmltext = "oman_cuori_q0482_01.htm"; + break; + } + case 2: + { + if (qs.getInt("23044") < 1) + { + htmltext = "oman_cuori_q0482_05.htm"; + } + else if ((qs.getInt("23044") > 1) && (qs.getInt("23044") < 10)) + { + htmltext = "oman_cuori_q0482_06.htm"; + } + break; + } + case 3: + { + htmltext = "oman_cuori_q0482_07.htm"; + break; + } + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState st = getQuestState(killer, false); + if ((st != null) && st.isCond(1)) + { + int npcId = npc.getId(); + + String variable = String.valueOf(npcId); // i3 + int currentValue = st.getInt(variable); + if (currentValue < 10) + { + st.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID + + if (currentValue >= 10) + { + st.setCond(3, true); + } + else + { + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + final ExQuestNpcLogList log = new ExQuestNpcLogList(getId()); + log.addNpc(npcId, st.getInt("23044")); + killer.sendPacket(log); + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm new file mode 100644 index 0000000000..6641f0f735 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm @@ -0,0 +1,5 @@ +Rieyi:
+Well hello again, friend. How’s it going? Don’t suppose you are up to help out the Krasis again? It’s nothing special... just a little like what you did last time. No, I’m lying. It’s exactly what you did last time. But, hey at least you know you’re getting yourself into this time.
+ + + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm new file mode 100644 index 0000000000..af4264227e --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm @@ -0,0 +1,4 @@ +Rieyi:
+No, no. I'm sorry, but I'm afraid you'll get hurt out there.
+(Only characters whose level is greater than 48 and who have completed the Certification of Value quest can perform this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm new file mode 100644 index 0000000000..f38aab6220 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm @@ -0,0 +1,4 @@ +Rieyi:
+Excellent job, as I expected. Stop by again some time. Our Krasis may have further need for your talents.
+(You can only perform this quest once a day. This quest is reset daily at 6:30 AM.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm new file mode 100644 index 0000000000..49f3430267 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm @@ -0,0 +1,4 @@ +Rieyi:
+Honestly, I'm sorry, but I just don't think you're up for this high-risk task. You need to mature a bit more. Build up your skills, then come see me again.
+(Only characters who have finished the [Name of Prequest] quest can take this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm new file mode 100644 index 0000000000..32cffe3290 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm @@ -0,0 +1,6 @@ +Rieyi:
+Didn’t we already have this discussion? Like a million times already? Or was that someone else… never mind, I guess I can tell you again.
+Our Krasis is basically a group of Dark Elves who specialize in making problems... disappear. We mostly hire out to the notabilities, and work behind the scenes. We've been around since the moon was young. Why we've been the silent power behind many of the most dramatic events in history.
+We've always guarded the knowledge of our existence very carefully, but with the current crisis with Shilen, we've decided that we need to step into the light and take a more prominent role.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm new file mode 100644 index 0000000000..e1a7bf4813 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm @@ -0,0 +1,5 @@ +Rieyi:
+If we want to win in this war against Shilen, we need to slap the power from her hands to give us an extra edge. She’s the one who’s behind the recent plethora of disasters and in order to fight her we need someone to get their hands a little dirty to win. We have an operative located at the Tower of Insolence ready to brief you if you want to take the gig. We’re running low on resources so we can’t send her in to handle the task if that was what you were thinking.
+Krasis has given the okay to allow contract adventures to assist us in our missions. Unfortunately, there is no financial compensation, but you’ll get experience performing these types of missions and earn all types of credit with the Krasis.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm new file mode 100644 index 0000000000..e247f095de --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm @@ -0,0 +1,5 @@ +Rieyi:
+You have already met Kyuori in the Tower of Insolence, have you not? She is also a member of Krasis, like me. Get more details from her when you find her. It's not anything particularly different, I assure you.
+Don't worry, I've seen you fight. It's nothing you and your friends can't handle.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm new file mode 100644 index 0000000000..6ae9aaf259 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you help Krasis, I will also help you all I can. I can tell you now that you will benefit just as much, if not more.
+I can give you buffs and, if necessary, even teleport you to the front of the Tower of Insolence where you are to carry out the mission. Feel free to tell me whatever you wish to say.
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm new file mode 100644 index 0000000000..c66e4ce106 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you agree to help our Krasis, I can help you out with a little support magic or a quick teleport to the Cruma Tower.
+What would you like to do?
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm new file mode 100644 index 0000000000..b10ab7b299 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm @@ -0,0 +1,4 @@ +Rieyi:
+Oh. Is this Dummy - Quest Item 1? I'm glad that I brought it. I will give you compensation.


+(In case there is no compensation link, additional handling is needed!!!) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm new file mode 100644 index 0000000000..55fbd8f646 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm @@ -0,0 +1,4 @@ +Kyuori:
+I’m so bored. I saw an adventurer meet the business end of an Exhausted Vengeful Spirit’s sword an hour ago… that was good for a quick laugh, but now I’m back to being bored again.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm new file mode 100644 index 0000000000..5d192d98f8 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm @@ -0,0 +1,5 @@ +Kyuori:
+Hah, I knew it would have to be something like that! Nobody would come to this place for a party. Well, I suppose you're here to take out some monsters in the Tower of Insolence.
+Go on, then! You aren't scared, are ya?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm new file mode 100644 index 0000000000..7b8ccf17f1 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm @@ -0,0 +1,4 @@ +Kyuori:
+I like your devotion! However, a quest can only be done once, and you're needed elsewhere.
+(You have already completed this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm new file mode 100644 index 0000000000..717b842585 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm @@ -0,0 +1,5 @@ +Kyuori:
+Relax kid, it’s a monster clean up gig. Same deal as the last time. Kill about 10 creatures from this list and return back to me for your reward.
+(On the List): +Exhausted Vengeful Spirit, Wings of Viciousness, Baron's Knight, Terestian, Drill Demon, Knight's Vengeful Spirit, Royal Guard Knight Vengeful Spirit, Baron's Priest, Evil Shadow, Brutal Warrior, Dark Knight, Priest of Darkness, Vampire Queen, Bonehead Slave, Platinum Tribe Soldier, Platinum Tribe Archer, Platinum Tribe Warrior, Platinum Tribe Shaman, Platinum Tribe Overlord, Heaven's Palus Knight, Heaven's Palace Fighter, Heaven's Palace Terminator, Heaven's Palace Priest, Heaven's Palace Judge, Heaven's Palace Sniper, Slaughter Bathin, Bathin's Knight, Bathin's Wizard, Elmoreden's Lady, Elmoreden's Archer Escort, Elmoreden's Maid, Elmoreden's Guardian Warrior, Binder, Bound Warrior, Bound Archer, Heaven's Palace Seraphim, and Heaven's Palace Seraphim Escort. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm new file mode 100644 index 0000000000..22e3e583c6 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm @@ -0,0 +1,3 @@ +Kyuori:
+Those creatures aren't going to fall on their own swords, so I suggest you go ahead and get a move on it. Remember, 10 Creatures should be enough. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm new file mode 100644 index 0000000000..a75edc1897 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm @@ -0,0 +1,3 @@ +Kyuori:
+Not enough! You couldn't get more? Is 10 too much? Or are you afraid? Or... are you too dumb to count numbers? Stop whining and kill 10 monsters from Tower of Insolence. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm new file mode 100644 index 0000000000..523aa16e60 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm @@ -0,0 +1,3 @@ +Kyuori:
+Bravo, your performance was as grand as the last one, quick and predictable. As promised here is another Token of Insolence. Remember, Ende over here is crazy for these coins and is willing to trade some of her wares in exchange for them. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java index 5feb7be806..083a83ff78 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -99,6 +99,7 @@ import quests.Q00472_ChallengeSteamCorridor.Q00472_ChallengeSteamCorridor; import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden; import quests.Q00474_WaitingForTheSummer.Q00474_WaitingForTheSummer; import quests.Q00476_PlainMission.Q00476_PlainMission; +import quests.Q00482_RecertificationOfValue.Q00482_RecertificationOfValue; import quests.Q00483_IntendedTactic.Q00483_IntendedTactic; import quests.Q00485_HotSpringWater.Q00485_HotSpringWater; import quests.Q00492_TombRaiders.Q00492_TombRaiders; @@ -482,6 +483,7 @@ public class QuestMasterHandler Q00474_WaitingForTheSummer.class, Q00476_PlainMission.class, Q00483_IntendedTactic.class, + Q00482_RecertificationOfValue.class, Q00485_HotSpringWater.class, Q00492_TombRaiders.class, Q00493_KickingOutUnwelcomeGuests.class, diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt index b38996f064..940d1c9c02 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt @@ -1,4 +1,3 @@ -482 Recertification of Value 504 Competition for the Bandit Stronghold 529 Regular Barrier Maintenance 554 Red Libra Request - Silent Valley diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java new file mode 100644 index 0000000000..82ea15741d --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/Q00482_RecertificationOfValue.java @@ -0,0 +1,334 @@ +/* + * 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 . + */ +package quests.Q00482_RecertificationOfValue; + +import com.l2jmobius.gameserver.enums.CategoryType; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.L2Summon; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.SkillHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.skills.SkillCaster; +import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList; + +import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue; + +/** + * Recertification Of Value (482) + * @author Zeusx + */ +public class Q00482_RecertificationOfValue extends Quest +{ + // NPCs + private static final int RIEYI = 33406; + private static final int KYUORI = 33358; + // Monsters + private static final int[] TOI_MONSTERS = + { + 23044, + 23045, + 23046, + 23047, + 23048, + 23049, + 23050, + 23051, + 23052, + 23053, + 23054, + 23055, + 23056, + 23057, + 23058, + 23059, + 23060, + 23061, + 23062, + 23063, + 23064, + 23065, + 23066, + 23067, + 23068, + 23101, + 23102, + 23103, + 23104, + 23105, + 23106, + 23107, + 23108, + 23109, + 23110, + 23111, + 23112 + }; + // Buffs + private static final SkillHolder[] WARRIOR_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + }; + private static final SkillHolder[] MAGE_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder[] SUMMON_BUFFS = + { + new SkillHolder(4322, 1), // Adventurer's Wind Walk + new SkillHolder(4323, 1), // Adventurer's Shield + new SkillHolder(5637, 1), // Adventurer's Magic Barrier + new SkillHolder(4324, 1), // Adventurer's Blessed Body + new SkillHolder(4325, 1), // Adventurer's Vampiric Rage + new SkillHolder(4326, 1), // Adventurer's Regeneration + new SkillHolder(4328, 1), // Adventurer's Blessed Soul + new SkillHolder(4329, 1), // Adventurer's Acumen + new SkillHolder(4330, 1), // Adventurer's Concentration + new SkillHolder(4331, 1), // Adventurer's Empower + }; + private static final SkillHolder HASTE = new SkillHolder(4327, 1); // Adventurer's Haste + private static final SkillHolder HASTE2 = new SkillHolder(5632, 1); // Adventurer's Haste + private static final SkillHolder CUBIC = new SkillHolder(4338, 1); // Adventurer's Life Cubic + // Item + private static final int TOWER_OF_INSOLENCE_TOKEN = 17624; + + public Q00482_RecertificationOfValue() + { + super(482); + addStartNpc(RIEYI); + addTalkId(RIEYI, KYUORI); + addKillId(TOI_MONSTERS); + addCondMinLevel(48, "liason_starter2_q0482_02.htm"); + addCondCompletedQuest(Q10353_CertificationOfValue.class.getSimpleName(), "liason_starter2_q0482_02.htm"); // TODO: Need proper Name + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + + String htmltext = null; + switch (event) + { + case "liason_starter2_q0482_05.htm": + case "liason_starter2_q0482_06.htm": + case "liason_starter2_q0482_07.htm": + { + htmltext = event; + break; + } + case "liason_starter2_q0482_08.htm": + { + qs.startQuest(); + qs.setMemoState(1); + htmltext = event; + break; + } + case "oman_cuori_q0482_02.htm": + { + qs.setCond(2, true); + qs.setMemoState(2); + htmltext = event; + break; + } + case "oman_cuori_q0482_07.htm": + { + qs.exitQuest(QuestType.DAILY, true); + addExpAndSp(player, 1_500_000, 360); + giveItems(player, TOWER_OF_INSOLENCE_TOKEN, 1); + htmltext = event; + break; + } + case "EXIT": // TODO: Need make Instance Kamaloka (Hall of Abyss). + { + player.teleToLocation(new Location(114312, 13413, -5096)); + break; + } + case "BUFF_PLAYER": + { + npc.setTarget(player.getPet()); + if (player.isInCategory(CategoryType.MAGE_GROUP)) + { + for (SkillHolder skill : MAGE_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + else + { + for (SkillHolder skill : WARRIOR_BUFFS) + { + SkillCaster.triggerCast(npc, npc, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, npc, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, npc, HASTE2.getSkill()); + } + else if ((player.getLevel() >= 16) && (player.getLevel() <= 34)) + { + SkillCaster.triggerCast(npc, npc, CUBIC.getSkill()); + } + } + break; + } + case "BUFF_SUMMON": + { + for (L2Summon servitors : player.getServitorsAndPets()) + { + for (SkillHolder skill : SUMMON_BUFFS) + { + SkillCaster.triggerCast(npc, servitors, skill.getSkill()); + } + if ((player.getLevel() >= 6) && (player.getLevel() <= 39)) + { + SkillCaster.triggerCast(npc, servitors, HASTE.getSkill()); + } + else if ((player.getLevel() >= 40) && (player.getLevel() <= 75)) + { + SkillCaster.triggerCast(npc, servitors, HASTE2.getSkill()); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState qs = getQuestState(player, false); + + if (qs == null) + { + return htmltext; + } + + switch (npc.getId()) + { + case RIEYI: + { + switch (qs.getCond()) + { + case 0: + { + htmltext = qs.isNowAvailable() ? "liason_starter2_q0482_03.htm" : "liason_starter2_q0482_01.htm"; + break; + } + case 1: + { + htmltext = "liason_starter2_q0482_09.htm"; + break; + } + } + break; + } + case KYUORI: + { + if (qs.isCompleted()) + { + htmltext = "oman_cuori_q0482_03.htm"; + } + switch (qs.getCond()) + { + case 1: + { + htmltext = "oman_cuori_q0482_01.htm"; + break; + } + case 2: + { + if (qs.getInt("23044") < 1) + { + htmltext = "oman_cuori_q0482_05.htm"; + } + else if ((qs.getInt("23044") > 1) && (qs.getInt("23044") < 10)) + { + htmltext = "oman_cuori_q0482_06.htm"; + } + break; + } + case 3: + { + htmltext = "oman_cuori_q0482_07.htm"; + break; + } + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState st = getQuestState(killer, false); + if ((st != null) && st.isCond(1)) + { + int npcId = npc.getId(); + + String variable = String.valueOf(npcId); // i3 + int currentValue = st.getInt(variable); + if (currentValue < 10) + { + st.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID + + if (currentValue >= 10) + { + st.setCond(3, true); + } + else + { + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + + final ExQuestNpcLogList log = new ExQuestNpcLogList(getId()); + log.addNpc(npcId, st.getInt("23044")); + killer.sendPacket(log); + } + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm new file mode 100644 index 0000000000..d319b2c2da --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_01.htm @@ -0,0 +1,5 @@ +Rieyi:
+Well hello again, friend. How’s it going? Don’t suppose you are up to help out the Krasis again? It’s nothing special... just a little like what you did last time. No, I’m lying. It’s exactly what you did last time. But, hey at least you know you’re getting yourself into this time.
+ + + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm new file mode 100644 index 0000000000..af4264227e --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_02.htm @@ -0,0 +1,4 @@ +Rieyi:
+No, no. I'm sorry, but I'm afraid you'll get hurt out there.
+(Only characters whose level is greater than 48 and who have completed the Certification of Value quest can perform this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm new file mode 100644 index 0000000000..f38aab6220 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_03.htm @@ -0,0 +1,4 @@ +Rieyi:
+Excellent job, as I expected. Stop by again some time. Our Krasis may have further need for your talents.
+(You can only perform this quest once a day. This quest is reset daily at 6:30 AM.) + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm new file mode 100644 index 0000000000..49f3430267 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_04.htm @@ -0,0 +1,4 @@ +Rieyi:
+Honestly, I'm sorry, but I just don't think you're up for this high-risk task. You need to mature a bit more. Build up your skills, then come see me again.
+(Only characters who have finished the [Name of Prequest] quest can take this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm new file mode 100644 index 0000000000..933aa58c21 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_05.htm @@ -0,0 +1,6 @@ +Rieyi:
+Didn’t we already have this discussion? Like a million times already? Or was that someone else… never mind, I guess I can tell you again.
+Our Krasis is basically a group of Dark Elves who specialize in making problems... disappear. We mostly hire out to the notabilities, and work behind the scenes. We've been around since the moon was young. Why we've been the silent power behind many of the most dramatic events in history.
+We've always guarded the knowledge of our existence very carefully, but with the current crisis with Shilen, we've decided that we need to step into the light and take a more prominent role.
+ + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm new file mode 100644 index 0000000000..55ab939ecc --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_06.htm @@ -0,0 +1,5 @@ +Rieyi:
+If we want to win in this war against Shilen, we need to slap the power from her hands to give us an extra edge. She’s the one who’s behind the recent plethora of disasters and in order to fight her we need someone to get their hands a little dirty to win. We have an operative located at the Tower of Insolence ready to brief you if you want to take the gig. We’re running low on resources so we can’t send her in to handle the task if that was what you were thinking.
+Krasis has given the okay to allow contract adventures to assist us in our missions. Unfortunately, there is no financial compensation, but you’ll get experience performing these types of missions and earn all types of credit with the Krasis.
+ + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm new file mode 100644 index 0000000000..e247f095de --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_07.htm @@ -0,0 +1,5 @@ +Rieyi:
+You have already met Kyuori in the Tower of Insolence, have you not? She is also a member of Krasis, like me. Get more details from her when you find her. It's not anything particularly different, I assure you.
+Don't worry, I've seen you fight. It's nothing you and your friends can't handle.
+ + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm new file mode 100644 index 0000000000..6ae9aaf259 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_08.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you help Krasis, I will also help you all I can. I can tell you now that you will benefit just as much, if not more.
+I can give you buffs and, if necessary, even teleport you to the front of the Tower of Insolence where you are to carry out the mission. Feel free to tell me whatever you wish to say.
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm new file mode 100644 index 0000000000..c66e4ce106 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_09.htm @@ -0,0 +1,7 @@ +Rieyi:
+If you agree to help our Krasis, I can help you out with a little support magic or a quick teleport to the Cruma Tower.
+What would you like to do?
+ + + + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm new file mode 100644 index 0000000000..b10ab7b299 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/liason_starter2_q0482_10.htm @@ -0,0 +1,4 @@ +Rieyi:
+Oh. Is this Dummy - Quest Item 1? I'm glad that I brought it. I will give you compensation.


+(In case there is no compensation link, additional handling is needed!!!) + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm new file mode 100644 index 0000000000..5567804fd8 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_01.htm @@ -0,0 +1,4 @@ +Kyuori:
+I’m so bored. I saw an adventurer meet the business end of an Exhausted Vengeful Spirit’s sword an hour ago… that was good for a quick laugh, but now I’m back to being bored again.
+ + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm new file mode 100644 index 0000000000..bd51a607a7 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_02.htm @@ -0,0 +1,5 @@ +Kyuori:
+Hah, I knew it would have to be something like that! Nobody would come to this place for a party. Well, I suppose you're here to take out some monsters in the Tower of Insolence.
+Go on, then! You aren't scared, are ya?
+ + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm new file mode 100644 index 0000000000..7b8ccf17f1 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_03.htm @@ -0,0 +1,4 @@ +Kyuori:
+I like your devotion! However, a quest can only be done once, and you're needed elsewhere.
+(You have already completed this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm new file mode 100644 index 0000000000..454a9c423b --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_04.htm @@ -0,0 +1,5 @@ +Kyuori:
+Relax kid, it’s a monster clean up gig. Same deal as the last time. Kill about 10 creatures from this list and return back to me for your reward.
+(On the List): +Exhausted Vengeful Spirit, Wings of Viciousness, Baron's Knight, Terestian, Drill Demon, Knight's Vengeful Spirit, Royal Guard Knight Vengeful Spirit, Baron's Priest, Evil Shadow, Brutal Warrior, Dark Knight, Priest of Darkness, Vampire Queen, Bonehead Slave, Platinum Tribe Soldier, Platinum Tribe Archer, Platinum Tribe Warrior, Platinum Tribe Shaman, Platinum Tribe Overlord, Heaven's Palus Knight, Heaven's Palace Fighter, Heaven's Palace Terminator, Heaven's Palace Priest, Heaven's Palace Judge, Heaven's Palace Sniper, Slaughter Bathin, Bathin's Knight, Bathin's Wizard, Elmoreden's Lady, Elmoreden's Archer Escort, Elmoreden's Maid, Elmoreden's Guardian Warrior, Binder, Bound Warrior, Bound Archer, Heaven's Palace Seraphim, and Heaven's Palace Seraphim Escort. + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm new file mode 100644 index 0000000000..22e3e583c6 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_05.htm @@ -0,0 +1,3 @@ +Kyuori:
+Those creatures aren't going to fall on their own swords, so I suggest you go ahead and get a move on it. Remember, 10 Creatures should be enough. + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm new file mode 100644 index 0000000000..a75edc1897 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_06.htm @@ -0,0 +1,3 @@ +Kyuori:
+Not enough! You couldn't get more? Is 10 too much? Or are you afraid? Or... are you too dumb to count numbers? Stop whining and kill 10 monsters from Tower of Insolence. + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm new file mode 100644 index 0000000000..523aa16e60 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00482_RecertificationOfValue/oman_cuori_q0482_07.htm @@ -0,0 +1,3 @@ +Kyuori:
+Bravo, your performance was as grand as the last one, quick and predictable. As promised here is another Token of Insolence. Remember, Ende over here is crazy for these coins and is willing to trade some of her wares in exchange for them. + \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java index 3c79e04ce1..f85dab9d45 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -98,6 +98,7 @@ import quests.Q00472_ChallengeSteamCorridor.Q00472_ChallengeSteamCorridor; import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden; import quests.Q00474_WaitingForTheSummer.Q00474_WaitingForTheSummer; import quests.Q00476_PlainMission.Q00476_PlainMission; +import quests.Q00482_RecertificationOfValue.Q00482_RecertificationOfValue; import quests.Q00483_IntendedTactic.Q00483_IntendedTactic; import quests.Q00485_HotSpringWater.Q00485_HotSpringWater; import quests.Q00492_TombRaiders.Q00492_TombRaiders; @@ -479,6 +480,7 @@ public class QuestMasterHandler Q00474_WaitingForTheSummer.class, Q00476_PlainMission.class, Q00483_IntendedTactic.class, + Q00482_RecertificationOfValue.class, Q00485_HotSpringWater.class, Q00492_TombRaiders.class, Q00493_KickingOutUnwelcomeGuests.class,