From b3cb70feb46f763027277c434274ea2822d5c944 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 12 Apr 2016 08:35:36 +0000 Subject: [PATCH] Quest Soul Frost Sword (10465). Contributed by gigilo1968. --- .../quests/Q10465_SoulFrostSword/30471-01.htm | 4 + .../quests/Q10465_SoulFrostSword/30471-02.htm | 5 + .../quests/Q10465_SoulFrostSword/30471-03.htm | 6 + .../quests/Q10465_SoulFrostSword/30471-04.htm | 5 + .../Q10465_SoulFrostSword/30471-05.html | 4 + .../Q10465_SoulFrostSword/30471-06.html | 5 + .../Q10465_SoulFrostSword/30471-07.html | 5 + .../Q10465_SoulFrostSword/30471-08.html | 4 + .../Q10465_SoulFrostSword.java | 147 ++++++++++++++++++ .../quests/Q10465_SoulFrostSword/Weapon.html | 3 + .../quests/Q10465_SoulFrostSword/noLevel.html | 4 + .../scripts/quests/QuestMasterHandler.java | 2 + .../game/data/stats/items/46500-46599.xml | 2 +- 13 files changed, 195 insertions(+), 1 deletion(-) create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-01.htm create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-02.htm create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-03.htm create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-04.htm create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-05.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-06.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-07.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-08.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Q10465_SoulFrostSword.java create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Weapon.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/noLevel.html diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-01.htm b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-01.htm new file mode 100644 index 0000000000..d5746eaf1c --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-01.htm @@ -0,0 +1,4 @@ +Blacksmith Rupio:
+Hello. Are you here to learn about Soul Crystals? Well, you've come to the right place. And you are also ready to learn about them. Should we get started?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-02.htm b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-02.htm new file mode 100644 index 0000000000..d358e13802 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-02.htm @@ -0,0 +1,5 @@ +Blacksmith Rupio:
+Alright. The Soul Crystals are used to bestow special abilities onto weapons. Before, you had to be in possession of Soul Crystals and defeat certain monsters to upgrade them. It used to be a dangerous procedure and troublesome, but those who sought to become stronger went through it anyway.
+But at some point, it became impossible to upgrade them that way. Well... with problems such as the fall of Ye Sagira and the appearance of Faeron, stuff like this is not unthinkable.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-03.htm b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-03.htm new file mode 100644 index 0000000000..7760479f10 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-03.htm @@ -0,0 +1,6 @@ +Blacksmith Rupio:
+There's a solution, thanks to the efforts of many, many people.
+Magisters, Maestros, and even scholars have helped find something that will replace the old Soul Crystals. The new Soul Crystals can be upgraded by combining them.
+There was also a change in the way blacksmiths bestow special abilities onto weapons. Want to try it out?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-04.htm b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-04.htm new file mode 100644 index 0000000000..92fc5f1759 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-04.htm @@ -0,0 +1,5 @@ +Blacksmith Rupio:
+First, you can't use the old Soul Crystals anymore. To bestow the new special abilities, you need the new Soul Crystals. You can get them by defeating boss or raid monsters.
+Well, it's better to try it. Here's a Practice StormBringer and a Practice Soul Crystal - Stage 1. Use this Practice Soul Crystal to bestow a special option onto the weapon.
+You need 177 Gemstones (C-grade), but for now, you should try out by purchasing them. I'll give you just as many as a reward after you succeed. If you want, you can try it on another weapon, but I advise you against it, since the Practice Soul Crystal isn't as powerful. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-05.html b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-05.html new file mode 100644 index 0000000000..82d3ed5bc7 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-05.html @@ -0,0 +1,4 @@ +Blacksmith Rupio:
+Hm? It looks like you didn't succeed yet. Do you need anything?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-06.html b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-06.html new file mode 100644 index 0000000000..b4bc493bb0 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-06.html @@ -0,0 +1,5 @@ +Blacksmith Rupio:
+Alright. You can use a Soul Crystal to bestow a special ability onto weapons. There have been some changes to the Soul Crystals, and now you can upgrade them by combining them. That's why we have new Soul Crystals now.
+The Soul Crystals from before cannot be used anymore. You can get the new Soul Crystals by defeating boss monsters, so remember that.
+If you need more information, check the instructions. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-07.html b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-07.html new file mode 100644 index 0000000000..a85b90b9a1 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-07.html @@ -0,0 +1,5 @@ +Blacksmith Rupio:
+Success! You get it now?
+Not that hard, eh?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-08.html b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-08.html new file mode 100644 index 0000000000..2a82245505 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-08.html @@ -0,0 +1,4 @@ +Blacksmith Rupio:
+Alright. Remember what I told you about Soul Crystals, and make good use of them.
+Oh, right. You can bestow up to 3 special abilities to new Soul Crystals! Don't forget all the effort we've put into this! + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Q10465_SoulFrostSword.java b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Q10465_SoulFrostSword.java new file mode 100644 index 0000000000..98270e5647 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Q10465_SoulFrostSword.java @@ -0,0 +1,147 @@ +/* + * 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.Q10465_SoulFrostSword; + +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.ItemHolder; +import com.l2jmobius.gameserver.model.itemcontainer.Inventory; +import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml; + +/** + * Soul Frost Sword (10465) + * @URL http://l2on.net/?c=quests&id=10465 + * @author Gigi + */ +public class Q10465_SoulFrostSword extends Quest +{ + // NPC + private static final int RUPIO = 30471; + // Items + private static final ItemHolder ADENA = new ItemHolder(57, 700000); + private static final int PRACTICE_STORMBRINGER = 46629; + private static final int PRACTICE_SOUL_CRYSTAL = 46526; + // Misc + private static final int MIN_LEVEL = 40; + // Reward + private static final int EXP_REWARD = 336000; + private static final int SP_REWARD = 403; + + public Q10465_SoulFrostSword() + { + super(10465, Q10465_SoulFrostSword.class.getSimpleName(), "Soul Frost Sword"); + addStartNpc(RUPIO); + addTalkId(RUPIO); + registerQuestItems(PRACTICE_STORMBRINGER, PRACTICE_SOUL_CRYSTAL); + addCondMinLevel(MIN_LEVEL, "noLevel.html"); + } + + @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 "30471-02.htm": + case "30471-03.htm": + { + htmltext = event; + break; + } + case "30471-04.htm": + { + qs.startQuest(); + giveItems(player, PRACTICE_STORMBRINGER, 1); + giveItems(player, PRACTICE_SOUL_CRYSTAL, 1); + player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_028_ensoul_01.htm", TutorialShowHtml.LARGE_WINDOW)); + htmltext = event; + break; + } + case "30471-06.html": + { + player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_028_ensoul_01.htm", TutorialShowHtml.LARGE_WINDOW)); + htmltext = event; + break; + } + case "30471-08.html": + { + takeItems(player, PRACTICE_STORMBRINGER, -1); + giveItems(player, ADENA); + addExpAndSp(player, EXP_REWARD, SP_REWARD); + qs.exitQuest(false, true); + htmltext = event; + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + final L2ItemInstance wpn = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); + String htmltext = getNoQuestMsg(player); + + if (qs.isCreated()) + { + htmltext = "30471-01.htm"; + } + else if ((qs.getPlayer().getActiveWeaponItem() == null) || (wpn.getId() != PRACTICE_STORMBRINGER)) + { + htmltext = "Weapon.html"; + } + else if (qs.isCond(1)) + { + { + if ((getQuestItemsCount(player, PRACTICE_SOUL_CRYSTAL) < 1) && (wpn.getId() == PRACTICE_STORMBRINGER)) + { + htmltext = "30471-07.html"; + } + else + { + htmltext = "30471-05.html"; + } + } + } + else if (qs.isNowAvailable()) + { + if (getQuestItemsCount(player, PRACTICE_STORMBRINGER) > 0) + { + takeItems(player, PRACTICE_STORMBRINGER, -1); + } + else if (getQuestItemsCount(player, PRACTICE_SOUL_CRYSTAL) > 0) + { + takeItems(player, PRACTICE_SOUL_CRYSTAL, -1); + } + } + else if (qs.isCompleted()) + { + htmltext = getAlreadyCompletedMsg(player); + } + + return htmltext; + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Weapon.html b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Weapon.html new file mode 100644 index 0000000000..6363cd77ad --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Weapon.html @@ -0,0 +1,3 @@ +Blacksmith:
+I don't see you in hands of my weapon
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/noLevel.html b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/noLevel.html new file mode 100644 index 0000000000..593813da23 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10465_SoulFrostSword/noLevel.html @@ -0,0 +1,4 @@ +
+This mission will be too hard for you. Don't be disappointed. Once you have grown a little more, please come back
+(You must be level 40 or above to start this quest.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java index e2396a83ac..36fe41db21 100644 --- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -262,6 +262,7 @@ import quests.Q10411_KekropusLetter_TheForestOfTheDead.Q10411_KekropusLetter_The import quests.Q10414_KekropusLetter_WithCourage.Q10414_KekropusLetter_WithCourage; import quests.Q10415_KekropusLetter_WithWisdom.Q10415_KekropusLetter_WithWisdom; import quests.Q10453_StoppingTheWindDragon.Q10453_StoppingTheWindDragon; +import quests.Q10465_SoulFrostSword.Q10465_SoulFrostSword; import quests.Q10472_WindsOfFate_EncroachingShadows.Q10472_WindsOfFate_EncroachingShadows; import quests.Q10501_ZakenEmbroideredSoulCloak.Q10501_ZakenEmbroideredSoulCloak; import quests.Q10502_FreyaEmbroideredSoulCloak.Q10502_FreyaEmbroideredSoulCloak; @@ -558,6 +559,7 @@ final class QuestMasterHandler Q10414_KekropusLetter_WithCourage.class, Q10415_KekropusLetter_WithWisdom.class, Q10453_StoppingTheWindDragon.class, + Q10465_SoulFrostSword.class, Q10472_WindsOfFate_EncroachingShadows.class, Q10501_ZakenEmbroideredSoulCloak.class, Q10502_FreyaEmbroideredSoulCloak.class, diff --git a/trunk/dist/game/data/stats/items/46500-46599.xml b/trunk/dist/game/data/stats/items/46500-46599.xml index 28d5af891a..764914d222 100644 --- a/trunk/dist/game/data/stats/items/46500-46599.xml +++ b/trunk/dist/game/data/stats/items/46500-46599.xml @@ -283,7 +283,7 @@ - +