diff --git a/L2J_DataPack_BETA/dist/game/data/html/admin/teleports/raid/raid_80.htm b/L2J_DataPack_BETA/dist/game/data/html/admin/teleports/raid/raid_80.htm index 4086450f58b670a339f059858c5e0665ea36d9e5..e8cdcb24b049b193ce79ed4dfb67d7d766083437 100644 --- a/L2J_DataPack_BETA/dist/game/data/html/admin/teleports/raid/raid_80.htm +++ b/L2J_DataPack_BETA/dist/game/data/html/admin/teleports/raid/raid_80.htm @@ -37,7 +37,7 @@ <button action="bypass -h admin_move_to 86534 216888 -3176" value="Gwindorr (83)" width=240 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1> <button action="bypass -h admin_move_to 186919 56297 -4480" value="Last Titan Utenus (83)" width=240 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1> <button action="bypass -h admin_move_to 191777 56197 -7624" value="Hekaton Prime (83)" width=240 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1> -<button action="bypass -h admin_move_to 112798 -76800 -10" value="Anays (84)" width=240 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1> +<button action="bypass -h admin_move_to 112798 -76800 -10" value="Anais (84)" width=240 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1> <button action="bypass -h admin_move_to 79634 -55428 -6104" value="Queen Shyeed (84)" width=240 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1> <button action="bypass -h admin_move_to 83056 183232 -3616" value="Water Spirit Lian (84)" width=240 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1> <button action="bypass -h admin_move_to 189400 -105702 -782" value="Wings of Flame Ixion (84)" width=240 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1> diff --git a/L2J_DataPack_BETA/dist/game/data/html/guard/31340.htm b/L2J_DataPack_BETA/dist/game/data/html/guard/31340.htm index f78206c4fa3ce02d64d3af0a225a822a24667fe1..cefb2bba55771adf5d0a2a920d77fbbfa913239f 100644 --- a/L2J_DataPack_BETA/dist/game/data/html/guard/31340.htm +++ b/L2J_DataPack_BETA/dist/game/data/html/guard/31340.htm @@ -5,5 +5,6 @@ Welcome, traveler, to the capital of the kingdom of Elmore. You must be tired fr <a action="bypass -h npc_%objectId%_Quest Kamaloka">Enter Kamaloka.</a><br> <a action="bypass -h npc_%objectId%_Chat 4">"Do you know anything about the ominous rumor I heard?"</a><br> <a action="bypass -h npc_%objectId%_TerritoryStatus">Ask about the local lord and tax rate.</a><br> +<a action="bypass -h npc_%objectId%_multisell 313401">Exchange Blue Elmore Coins</a><br> <a action="bypass -h npc_%objectId%_Quest">Quest</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/multisell/313400001.xml b/L2J_DataPack_BETA/dist/game/data/multisell/313400001.xml new file mode 100644 index 0000000000000000000000000000000000000000..c33b666aa08cb3796fd2a825e4c939639980015f --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/multisell/313400001.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd"> + <npcs> + <npc>31340</npc> <!-- Mathias (Captain) --> + </npcs> + <item> + <!-- Blue Elmore Coin --> + <ingredient count="40" id="21750" /> + <!-- Pablo's Box --> + <production count="1" id="21753" /> + </item> + <item> + <!-- Blue Elmore Coin --> + <ingredient count="10" id="21750" /> + <!-- Bronze Bracelet --> + <production count="1" id="9590" /> + </item> + <item> + <!-- Blue Elmore Coin --> + <ingredient count="23" id="21750" /> + <!-- Steel Bracelet" --> + <production count="1" id="9591" /> + </item> + <item> + <!-- Blue Elmore Coin --> + <ingredient count="70" id="21750" /> + <!-- Mithril Bracelet --> + <production count="1" id="9592" /> + </item> + <item> + <!-- Blue Elmore Coin --> + <ingredient count="2" id="21750" /> + <!-- Rune Jewelry Box - Talisman --> + <production count="1" id="21752" /> + </item> + <item> + <!-- Blue Elmore Coin --> + <ingredient count="1" id="21750" /> + <!-- Memento Mori --> + <production count="10" id="9814" /> + </item> + <item> + <!-- Blue Elmore Coin --> + <ingredient count="1" id="21750" /> + <!-- Dragon Heart --> + <production count="10" id="9815" /> + </item> + <item> + <!-- Blue Elmore Coin --> + <ingredient count="1" id="21750" /> + <!-- Earth Egg --> + <production count="10" id="9816" /> + </item> + <item> + <!-- Blue Elmore Coin --> + <ingredient count="1" id="21750" /> + <!-- Nonliving Nucleus --> + <production count="10" id="9817" /> + </item> + <item> + <!-- Blue Elmore Coin --> + <ingredient count="1" id="21750" /> + <!-- Angelic Essence --> + <production count="10" id="9818" /> + </item> +</list> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg index 24fbcf8ae7a22b347ecebe315b9e712cef57488b..30b8bbb8d8987f89cbe8dc9c3a727a25426a7707 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts.cfg +++ b/L2J_DataPack_BETA/dist/game/data/scripts.cfg @@ -279,7 +279,7 @@ quests/Q00102_SeaOfSporesFever/Q00102_SeaOfSporesFever.java quests/103_SpiritOfCraftsman/__init__.py quests/Q00104_SpiritOfMirrors/Q00104_SpiritOfMirrors.java quests/Q00105_SkirmishWithOrcs/Q00105_SkirmishWithOrcs.java -quests/106_ForgottenTruth/__init__.py +quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java quests/107_MercilessPunishment/__init__.py quests/108_JumbleTumbleDiamondFuss/__init__.py quests/Q00109_InSearchOfTheNest/Q00109_InSearchOfTheNest.java @@ -453,10 +453,10 @@ quests/Q00310_OnlyWhatRemains/Q00310_OnlyWhatRemains.java quests/311_ExpulsionOfEvilSpirits/__init__.py quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java quests/Q00313_CollectSpores/Q00313_CollectSpores.java -quests/316_DestroyPlaguebringers/__init__.py -quests/317_CatchTheWind/__init__.py +quests/Q00316_DestroyPlagueCarriers/Q00316_DestroyPlagueCarriers.java +quests/Q00317_CatchTheWind/Q00317_CatchTheWind.java quests/Q00319_ScentOfDeath/Q00319_ScentOfDeath.java -quests/320_BonesTellFuture/__init__.py +quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java quests/Q00324_SweetestVenom/Q00324_SweetestVenom.java quests/325_GrimCollector/__init__.py quests/Q00326_VanquishRemnants/Q00326_VanquishRemnants.java @@ -623,6 +623,7 @@ quests/Q00700_CursedLife/Q00700_CursedLife.java quests/Q00701_ProofOfExistence/Q00701_ProofOfExistence.java quests/Q00702_ATrapForRevenge/Q00702_ATrapForRevenge.java quests/Q00901_HowLavasaurusesAreMade/Q00901_HowLavasaurusesAreMade.java +quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java quests/Q00903_TheCallOfAntharas/Q00903_TheCallOfAntharas.java quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java quests/Q00905_RefinedDragonBlood/Q00905_RefinedDragonBlood.java diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-06.htm deleted file mode 100644 index a13ce094544ee7bda32ed2d8acd738ce142cb3c9..0000000000000000000000000000000000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Tetrarch Thifiell:<br> -What are you doing, you haven't gone to the temple yet?! Go immediately to the Temple of Shilen and seek Kartia. Give him the onyx talisman and return to me with the translated revelations. -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/__init__.py deleted file mode 100644 index 522fab6d12cde8e3c77a3ae671d64823eecb4837..0000000000000000000000000000000000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/__init__.py +++ /dev/null @@ -1,140 +0,0 @@ -# Made by Mr. Have fun! Version 0.2 -# Version 0.3 by H1GHL4ND3R -import sys -from com.l2jserver import Config -from com.l2jserver.gameserver.model.quest import State -from com.l2jserver.gameserver.model.quest import QuestState -from com.l2jserver.gameserver.model.quest import Quest as JQuest - -qn = "106_ForgottenTruth" - -ONYX_TALISMAN1, ONYX_TALISMAN2, ANCIENT_SCROLL, \ -ANCIENT_CLAY_TABLET, KARTAS_TRANSLATION, ELDRITCH_DAGGER \ -= range(984,990) - -ORC = 27070 -#Newbie/one time rewards section -#Any quest should rely on a unique bit, but -#it could be shared among quest that were mutually -#exclusive or race restricted. -#Bit #1 isn't used for backwards compatibility. -NEWBIE_REWARD = 2 -SPIRITSHOT_FOR_BEGINNERS = 5790 -SOULSHOT_FOR_BEGINNERS = 5789 - -class Quest (JQuest) : - - def __init__(self,id,name,descr): - JQuest.__init__(self,id,name,descr) - self.questItemIds = [KARTAS_TRANSLATION, ONYX_TALISMAN1, ONYX_TALISMAN2, ANCIENT_SCROLL, ANCIENT_CLAY_TABLET] - - def onAdvEvent (self,event,npc, player) : - htmltext = event - st = player.getQuestState(qn) - if not st : return - if event == "30358-05.htm" : - st.giveItems(ONYX_TALISMAN1,1) - st.set("cond","1") - st.setState(State.STARTED) - st.playSound("ItemSound.quest_accept") - return htmltext - - def onTalk (self,npc,player): - npcId = npc.getId() - htmltext = Quest.getNoQuestMsg(player) - st = player.getQuestState(qn) - if not st : return htmltext - - id = st.getState() - if id == State.COMPLETED : # Check if the quest is already made - htmltext = Quest.getAlreadyCompletedMsg(player) - elif id == State.CREATED : # Check if is starting the quest - if player.getRace().ordinal() == 2 : - if player.getLevel() >= 10 : - htmltext = "30358-03.htm" - else: - htmltext = "30358-02.htm" - st.exitQuest(1) - else : - htmltext = "30358-00.htm" - st.exitQuest(1) - else : # The quest itself - cond = st.getInt("cond") - if cond == 1 : - if npcId == 30358 : - htmltext = "30358-06.htm" - elif npcId == 30133 and st.getQuestItemsCount(ONYX_TALISMAN1) : - htmltext = "30133-01.htm" - st.takeItems(ONYX_TALISMAN1,1) - st.giveItems(ONYX_TALISMAN2,1) - st.set("cond","2") - st.playSound("ItemSound.quest_middle") - elif cond == 2 : - if npcId == 30358 : - htmltext = "30358-06.htm" - elif npcId == 30133 : - htmltext = "30133-02.htm" - elif cond == 3 : - if npcId == 30358 : - htmltext = "30358-06.htm" - elif npcId == 30133 and st.getQuestItemsCount(ANCIENT_SCROLL) and st.getQuestItemsCount(ANCIENT_CLAY_TABLET): - htmltext = "30133-03.htm" - st.takeItems(ONYX_TALISMAN2,1) - st.takeItems(ANCIENT_SCROLL,1) - st.takeItems(ANCIENT_CLAY_TABLET,1) - st.giveItems(KARTAS_TRANSLATION,1) - st.set("cond","4") - st.playSound("ItemSound.quest_middle") - elif cond == 4 : - if npcId == 30358 and st.getQuestItemsCount(KARTAS_TRANSLATION) : - htmltext = "30358-07.htm" - st.takeItems(KARTAS_TRANSLATION,1) - st.giveItems(57,10266) - st.addExpAndSp(24195,2074) - st.giveItems(ELDRITCH_DAGGER,1) - for item in range(4412,4417) : - st.rewardItems(item,10) - st.rewardItems(1060,100) - if player.getClassId().isMage() : - st.giveItems(2509,500) - else : - st.giveItems(1835,1000) - # check the player state against this quest newbie rewarding mark. - newbie = player.getNewbie() - if newbie | NEWBIE_REWARD != newbie : - player.setNewbie(newbie|NEWBIE_REWARD) - if player.getClassId().isMage() : - st.giveItems(SPIRITSHOT_FOR_BEGINNERS,3000) - st.playTutorialVoice("tutorial_voice_027") - st.unset("cond") - st.exitQuest(False) - st.playSound("ItemSound.quest_finish") - elif npcId == 30133 : - htmltext = "30133-04.htm" - return htmltext - - def onKill(self,npc,player,isPet): - st = player.getQuestState(qn) - if not st : return - if st.getState() != State.STARTED : return - - if st.getInt("cond") == 2 : - if self.getRandom(100) < 20 : - if st.getQuestItemsCount(ANCIENT_SCROLL) == 0 : - st.giveItems(ANCIENT_SCROLL,1) - st.playSound("ItemSound.quest_itemget") - elif st.getQuestItemsCount(ANCIENT_CLAY_TABLET) == 0 : - st.giveItems(ANCIENT_CLAY_TABLET,1) - st.playSound("ItemSound.quest_middle") - st.set("cond","3") - return - -QUEST = Quest(106,qn,"Forgotten Truth") - -QUEST.addStartNpc(30358) - -QUEST.addTalkId(30358) - -QUEST.addTalkId(30133) - -QUEST.addKillId(27070) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-05.htm deleted file mode 100644 index 69e04b3d16423177fee306bdbe913cfdc47247d9..0000000000000000000000000000000000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-05.htm +++ /dev/null @@ -1,4 +0,0 @@ -<html><body>Master Ellenia:<br> -The eradication of the plague bringers has begun! Please hurry to the abandoned Underground Elven Fortress. Do you remember the contract you signed with me? Destroy the dirty<font color="LEVEL"> ratmen</font> and bring back their<font color="LEVEL"> fangs</font> as proof, and I will reward you for each item of proof you bring me. I will give you an exceptionally large reward if you kill their leader,<font color="LEVEL"> Varool Foulclaw</font>, and bring me one of his fangs.<br> -<a action="bypass -h Quest 316_DestroyPlaguebringers 30155-09.htm">Say you are going to go destroy them</a><br> -<a action="bypass -h Quest 316_DestroyPlaguebringers 30155-08.htm">Say you will end the contract</a></body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/__init__.py deleted file mode 100644 index f35f090bbef38a2158252a2078e52f41cb953e3b..0000000000000000000000000000000000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/__init__.py +++ /dev/null @@ -1,86 +0,0 @@ -# Made by Mr. - Version 0.3 by DrLecter -import sys -from com.l2jserver.gameserver.model.quest import State -from com.l2jserver.gameserver.model.quest import QuestState -from com.l2jserver.gameserver.model.quest import Quest as JQuest - -qn = "316_DestroyPlaguebringers" - -WERERAT_FANG = 1042 -VAROOL_FOULCLAWS_FANG = 1043 -ADENA = 57 - -class Quest (JQuest) : - - def __init__(self,id,name,descr): - JQuest.__init__(self,id,name,descr) - self.questItemIds = [WERERAT_FANG, VAROOL_FOULCLAWS_FANG] - - def onEvent (self,event,st) : - htmltext = event - if event == "30155-04.htm" : - st.set("cond","1") - st.setState(State.STARTED) - st.playSound("ItemSound.quest_accept") - elif event == "30155-08.htm" : - st.exitQuest(1) - st.playSound("ItemSound.quest_finish") - return htmltext - - def onTalk (self,npc,player): - htmltext = Quest.getNoQuestMsg(player) - st = player.getQuestState(qn) - if not st : return htmltext - - npcId = npc.getId() - id = st.getState() - if id == State.CREATED : - st.set("cond","0") - if st.getInt("cond")==0 : - if player.getRace().ordinal() != 1 : - htmltext = "30155-00.htm" - st.exitQuest(1) - elif player.getLevel() >= 18 : - htmltext = "30155-03.htm" - else: - htmltext = "30155-02.htm" - st.exitQuest(1) - else : - rats=st.getQuestItemsCount(WERERAT_FANG) - varool=st.getQuestItemsCount(VAROOL_FOULCLAWS_FANG) - if rats or varool : - htmltext = "30155-07.htm" - amount=rats*30+varool*10000 - if rats+varool > 9 : - amount += 5000 - st.giveItems(ADENA,amount) - st.takeItems(WERERAT_FANG,-1) - st.takeItems(VAROOL_FOULCLAWS_FANG,-1) - else: - htmltext = "30155-05.htm" - return htmltext - - def onKill(self,npc,player,isPet): - st = player.getQuestState(qn) - if not st : return - if st.getState() != State.STARTED : return - - npcId = npc.getId() - if npcId == 27020 : - if st.getQuestItemsCount(VAROOL_FOULCLAWS_FANG) == 0 and self.getRandom(10)>7: - st.giveItems(VAROOL_FOULCLAWS_FANG,1) - st.playSound("ItemSound.quest_middle") - elif self.getRandom(10)>5 : - st.giveItems(WERERAT_FANG,1) - st.playSound("ItemSound.quest_itemget") - return - -QUEST = Quest(316,qn,"Destroy Plaguebringers") - -QUEST.addStartNpc(30155) - -QUEST.addTalkId(30155) - -QUEST.addKillId(20040) -QUEST.addKillId(20047) -QUEST.addKillId(27020) \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-05.htm deleted file mode 100644 index b89088b73fe5c223ba5df02e6291503cabaa2781..0000000000000000000000000000000000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-05.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Rizraell:<br> -Do you remember our contract? If you find 'wind shards' from 'lireins', the vengeful spirits of the wind, I will compensate you according to how many you bring me. They say there are many lirein in the Neutral Zone. Ask Sentinel Rayen about how to get there.<br> -<a action="bypass -h Quest 317_CatchTheWind 30361-09.htm">Say you will find them</a><br> -<a action="bypass -h Quest 317_CatchTheWind 30361-08.htm">Say you will end the contract</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/__init__.py deleted file mode 100644 index ef9d7552040d336406404e0a5f4e5754c29f2dbd..0000000000000000000000000000000000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/__init__.py +++ /dev/null @@ -1,73 +0,0 @@ -# Made by Mr. - Version 0.3 by DrLecter -import sys -from com.l2jserver.gameserver.model.quest import State -from com.l2jserver.gameserver.model.quest import QuestState -from com.l2jserver.gameserver.model.quest import Quest as JQuest - -qn = "317_CatchTheWind" - -WIND_SHARD = 1078 -ADENA = 57 - -class Quest (JQuest) : - - def __init__(self,id,name,descr): - JQuest.__init__(self,id,name,descr) - self.questItemIds = [WIND_SHARD] - - def onEvent (self,event,st) : - htmltext = event - if event == "30361-04.htm" : - st.set("cond","1") - st.setState(State.STARTED) - st.playSound("ItemSound.quest_accept") - elif event == "30361-08.htm" : - st.playSound("ItemSound.quest_finish") - st.exitQuest(1) - return htmltext - - def onTalk (self,npc,player): - htmltext = Quest.getNoQuestMsg(player) - st = player.getQuestState(qn) - if not st : return htmltext - - npcId = npc.getId() - id = st.getState() - cond=st.getInt("cond") - if cond == 0 : - if player.getLevel() >= 18 : - htmltext = "30361-03.htm" - else: - htmltext = "30361-02.htm" - st.exitQuest(1) - else : - count = st.getQuestItemsCount(WIND_SHARD) - if count : - if count > 9 : - st.giveItems(ADENA,2988+40*count) - else : - st.giveItems(ADENA,40*count) - st.takeItems(WIND_SHARD,-1) - htmltext = "30361-07.htm" - else : - htmltext = "30361-05.htm" - return htmltext - - def onKill(self,npc,player,isPet): - st = player.getQuestState(qn) - if not st : return - if st.getState() != State.STARTED : return - - if self.getRandom(100) < 50: - st.giveItems(WIND_SHARD,1) - st.playSound("ItemSound.quest_itemget") - return - -QUEST = Quest(317,qn,"Catch The Wind") - -QUEST.addStartNpc(30361) - -QUEST.addTalkId(30361) - -QUEST.addKillId(20036) -QUEST.addKillId(20044) \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/__init__.py deleted file mode 100644 index d4dcada35584b9574d0101a5d4595ffde243005e..0000000000000000000000000000000000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/__init__.py +++ /dev/null @@ -1,75 +0,0 @@ -# Made by Mr. - Version 0.3 by DrLecter -import sys -from com.l2jserver.gameserver.model.quest import State -from com.l2jserver.gameserver.model.quest import QuestState -from com.l2jserver.gameserver.model.quest import Quest as JQuest - -qn = "320_BonesTellFuture" - -BONE_FRAGMENT = 809 -ADENA = 57 - -class Quest (JQuest) : - - def __init__(self,id,name,descr): - JQuest.__init__(self,id,name,descr) - self.questItemIds = [BONE_FRAGMENT] - - def onEvent (self,event,st) : - htmltext = event - if event == "30359-04.htm" : - st.set("cond","1") - st.setState(State.STARTED) - st.playSound("ItemSound.quest_accept") - return htmltext - - def onTalk (self,npc,player): - htmltext = Quest.getNoQuestMsg(player) - st = player.getQuestState(qn) - if not st : return htmltext - - npcId = npc.getId() - id = st.getState() - if st.getInt("cond")==0 : - if player.getRace().ordinal() != 2 : - htmltext = "30359-00.htm" - st.exitQuest(1) - elif player.getLevel() >= 10 : - htmltext = "30359-03.htm" - else: - htmltext = "30359-02.htm" - st.exitQuest(1) - else : - if st.getQuestItemsCount(BONE_FRAGMENT)<10 : - htmltext = "30359-05.htm" - else : - htmltext = "30359-06.htm" - st.giveItems(ADENA,8470) - st.takeItems(BONE_FRAGMENT,-1) - st.exitQuest(1) - st.playSound("ItemSound.quest_finish") - return htmltext - - def onKill(self,npc,player,isPet): - st = player.getQuestState(qn) - if not st : return - if st.getState() != State.STARTED : return - - count=st.getQuestItemsCount(BONE_FRAGMENT) - if count<10 and self.getRandom(10)>7 : - st.giveItems(BONE_FRAGMENT,1) - if count == 9 : - st.playSound("ItemSound.quest_middle") - st.set("cond","2") - else : - st.playSound("ItemSound.quest_itemget") - return - -QUEST = Quest(320,qn,"Bones Tell Future") - -QUEST.addStartNpc(30359) - -QUEST.addTalkId(30359) - -QUEST.addKillId(20517) -QUEST.addKillId(20518) \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-01.html similarity index 65% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-01.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-01.html index 0dbc2a2648057eeaa9fa6ab6917b4f5c67a30c7a..dddb83b64c5a77cb9e9c610464a9ef793b698f78 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-01.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-01.html @@ -1,6 +1,6 @@ <html><body>Abyssal Celebrant Kartia:<br> How may I help you? Tetrarch Thifiell sent you? Oh, no ... I haven't even sent word yet, and he has already sent someone ...<br> Well, I guess it will be best to just let you know the truth. Actually, four days ago, the exact day the Tetrarch asked me to do this translation work, in fact, I sent an apprentice to fetch the original Revelation from the Tetrarch. But while the apprentice was returning to the temple, he was attacked by Orcs and robbed of the documents.<br> -Before he was killed by the Orcs, the apprentice cast a spell on himself and came to me in the form of a mangled zombie. Just as the magic gave out, he informed me of the situation with his last dying breath. Based upon the intelligence that the apprentice gave me, I have released spirits everywhere for the last two days, and finally found where the lost scrolls are. The<font color="LEVEL"> Tumran Orc Brigands</font> tribe looted the documents. They are currently camped out in a region south of the<font color="LEVEL"> Altar of Rites</font>. To get to the altar, you must follow the path southwest of the village. Pass the School of Dark Arts and go further southwest. It's a considerable distance from here.<br> -You must track down those Orcs and recover the lost scrolls! You know very well what would happen if Tetrarch Thifiell were angered! Neither you nor I can be safe on the day he discovers that the scrolls have been stolen. Those scrolls must be brought back at once! Hurry! You must recover both the ancient<font color="LEVEL"> clay tablet</font> and the characters recorded on the<font color="LEVEL"> sheepskin scroll</font>. +Before he was killed by the Orcs, the apprentice cast a spell on himself and came to me in the form of a mangled zombie. Just as the magic gave out, he informed me of the situation with his last dying breath. Based upon the intelligence that the apprentice gave me, I have released spirits everywhere for the last two days, and finally found where the lost scrolls are. The <font color="LEVEL">Orcs of the Blackskull</font> tribe looted the documents. They are currently camped out in a region south of the <font color="LEVEL">Altar of Passage</font>. To get to the altar, you must follow the path southwest of the village. Pass the School of Dark Arts and go further southwest. It's a considerable distance from here.<br> +You must track down those Orcs and recover the lost scrolls! You know very well what would happen if Tetrarch Thifiell were angered! Neither you nor I can be safe on the day he discovers that the scrolls have been stolen. Those scrolls must be brought back at once! Hurry! You must recover both the ancient <font color="LEVEL">clay tablet</font> and the characters recorded on the <font color="LEVEL">sheepskin scroll</font>. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-02.html similarity index 58% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-02.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-02.html index 3d4ac9ae10a172d3ad1c2d7906ffb0cdde7d7998..49fc0d20ceb6191d1ab211adb0b70aefe1c2691a 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-02.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-02.html @@ -1,4 +1,4 @@ <html><body>Abyssal Celebrant Kartia:<br> -You haven't left yet?! I'm telling you one more time, the<font color="LEVEL"> Tumran Orc Brigand tribe</font> that took the Revelation are currently camped near the<font color="LEVEL"> Altar of Rites</font>. To get to the altar, you must follow the path southwest of the village. Pass the School of Dark Arts and go further southwest. It's a considerable distance from here.<br> +You haven't left yet?! I'm telling you one more time, the <font color="LEVEL">Black Skull tribe Orcs</font> that took the Revelation are currently camped near the <font color="LEVEL">Altar of Passage</font>. To get to the altar, you must follow the path southwest of the village. Pass the School of Dark Arts and go further southwest. It's a considerable distance from here.<br> The day that the Tetrarch hears about the loss of the revelation is the day both our lives are in peril! I'm sure you know by now the fiery temper of the Tetrarch. I beg you to hurry! </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-03.html similarity index 80% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-03.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-03.html index 87b6b1798d97dbaaa23cbc71040db16552de8f8b..da7c61ea8b86951dee4e108427a82181d3bb4581 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-03.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-03.html @@ -1,5 +1,5 @@ <html><body>Abyssal Celebrant Kartia:<br> Oh, you have recovered the scroll and the tablet. Thank you so much. Now I can start the translation.<br> -This sheepskin scroll is<font color="LEVEL"> Kaisha's Revelation</font>. And this clay tablet was recorded by Mystics in the Elmoreden age. It lists the kingdom's characters alongside the characters used by the giants, and is a key in translating the revelation. It's surprising that Tetrarch Thifiell even got his hands on this.<br> -All right! The translation is complete. Please take it. Go and deliver it to<font color="LEVEL"> Tetrarch Thifiell</font> at once. I must go now and create a copy of the original revelation. +This sheepskin scroll is <font color="LEVEL">Kaisha's Revelation</font>. And this clay tablet was recorded by Mystics in the Elmoreden age. It lists the kingdom's characters alongside the characters used by the giants, and is a key in translating the revelation. It's surprising that Tetrarch Thifiell even got his hands on this.<br> +All right! The translation is complete. Please take it. Go and deliver it to <font color="LEVEL">Tetrarch Thifiell</font> at once. I must go now and create a copy of the original revelation. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-04.html similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30133-04.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30133-04.html diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-01.htm similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-00.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-01.htm diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-02.htm similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-02.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-02.htm diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-03.htm similarity index 83% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-03.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-03.htm index 7e9ca63f89e5020245b12f6c203cdcd0974a9117..1dad17657c09d13663f5638a90259381fd9c63a5 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-03.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-03.htm @@ -1,6 +1,6 @@ <html><body>Tetrarch Thifiell:<br> -Recently, when a portion of the School of Dark Arts collapsed, a hidden room was revealed, and a portion of the ancient scroll called<font color="LEVEL"> Kaisha's Revelation</font> was discovered. Have you ever heard of this scroll?<br> -Fifty years ago, by the western shores of the Human kingdom Elmore, a number of very old sheepskin scrolls were discovered. According to<font color="LEVEL"> Honorius</font>, the Human scholar who discovered them, the scrolls were part of a religious text written in the Early Age of the Giants. Surprisingly, the writings of the scroll contained truths previously unknown to the world or else tainted by falsehoods, the legend of Gran Kain and Shilen.<br> +Recently, when a portion of the School of Dark Arts collapsed, a hidden room was revealed, and a portion of the ancient scroll called <font color="LEVEL">Kaisha's Revelation</font> was discovered. Have you ever heard of this scroll?<br> +Fifty years ago, by the western shores of the Human kingdom Elmore, a number of very old sheepskin scrolls were discovered. According to <font color="LEVEL">Honorius</font>, the Human scholar who discovered them, the scrolls were part of a religious text written in the Early Age of the Giants. Surprisingly, the writings of the scroll contained truths previously unknown to the world or else tainted by falsehoods, the legend of Gran Kain and Shillien.<br> But unfortunately, Honorius was imprisoned by the foolish Humans who worship Einhasad before he could translate the scrolls, and the documents he had been translating were all taken from him. A ridiculous religious court hearing was held, and the judgment was even more unbelievable -- "The accused is hereby convicted of forgery of a heretical text in secret correspondence with the followers of the dark arts, and his blasphemy is unforgivable." In the end, this poor scholar was accused of being a pagan and was put to death by those religious leaders who feared the truth. Torched at the stake. The Humans say that our Dark Elven brothers are ruthless, but we can never be a match for the coldhearted cruelty of the Humans.<br> -<a action="bypass -h Quest 106_ForgottenTruth 30358-04.htm">Ask about the whereabouts of the Revelations</a> +<a action="bypass -h Quest Q00106_ForgottenTruth 30358-04.htm">Ask about the whereabouts of the Revelations</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-04.htm similarity index 62% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-04.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-04.htm index e58498acfc77e5b4838cf909a845244aeb971500..639925ddc9ab9b14e346da4621ef3cd8019f4000 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-04.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-04.htm @@ -1,5 +1,5 @@ <html><body>Tetrarch Thifiell:<br> -It is believed that at Honorius' execution by burning at the stake, the documents he had been translating were all burned, but there were also rumors that a portion of them had been stolen. The sheepskin scrolls were never found, and thus the rumors were believed to be false, but actually, they were hidden in the School of Dark Arts. That they found their way to me can only be considered Shilen's will.<br> -It's a shame that I cannot read the Revelations properly, because I do not know the language of the giants of ere. So I have asked<font color="LEVEL"> Abyssal Celebrant Kartia</font>, who is well learned in the ancient languages, to translate them for me. It has been four days, and I think that they should have been finished by now. I'd like you to go to the temple of Shilen, seek Abyssal Celebrant Kartia, and bring back the<font color="LEVEL"> translated revelations</font> to me. I'm sure it will be a learning experience for you also.<br> -<a action="bypass -h Quest 106_ForgottenTruth 30358-05.htm">Say you will take the task</a> +It is believed that at Honorius' execution by burning at the stake, the documents he had been translating were all burned, but there were also rumors that a portion of them had been stolen. The sheepskin scrolls were never found, and thus the rumors were believed to be false, but actually, they were hidden in the School of Dark Arts. That they found their way to me can only be considered Shillien's will.<br> +It's a shame that I cannot read the Revelations properly, because I do not know the language of the giants of ere. So I have asked <font color="LEVEL">Abyssal Celebrant Kartia</font>, who is well learned in the ancient languages, to translate them for me. It has been four days, and I think that they should have been finished by now. I'd like you to go to the temple of Shillien, seek Abyssal Celebrant Kartia, and bring back the <font color="LEVEL">translated revelations</font> to me. I'm sure it will be a learning experience for you also.<br> +<a action="bypass -h Quest Q00106_ForgottenTruth 30358-05.htm">Say you will take the task</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-05.htm similarity index 54% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-05.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-05.htm index 103bf0c57ea6b9e0a294acaf694a6b619789e339..8fc927c36b1c50843f0c3e0350adf984f98dcd23 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-05.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-05.htm @@ -1,4 +1,4 @@ <html><body>Tetrarch Thifiell:<br> -Go and seek<font color="LEVEL"> Abyssal Celebrant Kartia</font> in the<font color="LEVEL"> Temple of Shilen</font>. This black onyx necklace was promised to Kartia in return for the translation, so go deliver it to him, and return to me with the translated Revelations.<br> +Go and seek <font color="LEVEL">Abyssal Celebrant Kartia</font> in the <font color="LEVEL">Temple of Shillien</font>. This black onyx necklace was promised to Kartia in return for the translation, so go deliver it to him, and return to me with the translated Revelations.<br> Take care that no one hears about Kaisha's revelations. There are many dangerous characters who would stop at nothing to get their hands on that ancient scroll. For your safety and for mine, it would be best to take care of this matter quietly. Do you understand what I'm saying? </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-06.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-06.html new file mode 100644 index 0000000000000000000000000000000000000000..3e7160131f5526aee547f86345f71e9c86524a60 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-06.html @@ -0,0 +1,3 @@ +<html><body>Tetrarch Thifiell:<br> +What are you doing, you haven't gone to the temple yet?! Go immediately to the Temple of Shillien and seek Kartia. Give him the onyx talisman and return to me with the translated revelations. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-07.html similarity index 60% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-07.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-07.html index 7181572e9f6ddaf05c5a445d8adf7398b856f855..eaa19cbde9022a69b571ca6f9ec5be8c1b911d0f 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-07.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-07.html @@ -1,6 +1,6 @@ <html><body>Tetrarch Thifiell:<br> Well done! I was just getting anxious that you were not returning ... So, is this the Kaisha's revelation that Kartia has translated? This ancient writing contains the dark inheritance passed on to our race, the truths that have been until now hidden by the Elves of Light and the Humans. Would you like to hear?<br> -In the beginning Gran Kain of the darkness and Einhasad of the light decreed us their children the lords of all creatures and had us rule all the earth ... Of the four children that were produced from the union of these two gods, the goddess born with the destiny to rule water was Shilen ... Later Einhasad borrowed the power of water from Shilen and created new life. The Treants, race of the trees. Shilen looked after this newly born race as a mother takes care of her child ...<br> -The Elves of light seek the origin of our race from the goddess Eva, but before she became the goddess of water, the title belonged to Shilen. Now the queen of death, Shilen is the true mother of our race. If you seek the path of darkness, keep this story deeply engraved in your mind. If you have studied the basics of the dark arts, you would know that the gods are the origin of the magic power that makes up this universe; thus the deeper the understanding of the gods, the greater the power of the one walking the path of darkness becomes.<br> +In the beginning Gran Kain of the darkness and Einhasad of the light decreed us their children the lords of all creatures and had us rule all the earth ... Of the four children that were produced from the union of these two gods, the goddess born with the destiny to rule water was Shillien ... Later Einhasad borrowed the power of water from Shillien and created new life. The Treants, race of the trees. Shillien looked after this newly born race as a mother takes care of her child ...<br> +The Elves of light seek the origin of our race from the goddess Eva, but before she became the goddess of water, the title belonged to Shillien. Now the queen of death, Shillien is the true mother of our race. If you seek the path of darkness, keep this story deeply engraved in your mind. If you have studied the basics of the dark arts, you would know that the gods are the origin of the magic power that makes up this universe; thus the deeper the understanding of the gods, the greater the power of the one walking the path of darkness becomes.<br> In honor of your new revelation, I will give you this weapon. It is a sharp blade that contains the magic power of the spirits. It will be useful in the future. But take care not to rely too heavily on such small tools. Never forget that the true power of magic lies within the Mystic. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java new file mode 100644 index 0000000000000000000000000000000000000000..4111ac1fa7e930d42001d3cd63054631f51e092f --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java @@ -0,0 +1,225 @@ +/* + * Copyright (C) 2004-2013 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack 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. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package quests.Q00106_ForgottenTruth; + +import quests.Q00281_HeadForTheHills.Q00281_HeadForTheHills; + +import com.l2jserver.gameserver.enums.PcRace; +import com.l2jserver.gameserver.enums.QuestSound; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.quest.Quest; +import com.l2jserver.gameserver.model.quest.QuestState; +import com.l2jserver.gameserver.model.quest.State; +import com.l2jserver.gameserver.network.serverpackets.SocialAction; +import com.l2jserver.gameserver.util.Util; + +/** + * Forgotten Truth (106) + * @author janiko + */ +public final class Q00106_ForgottenTruth extends Quest +{ + // NPCs + private static final int THIFIELL = 30358; + private static final int KARTA = 30133; + // Monster + private static final int TUMRAN_ORC_BRIGAND = 27070; + // Items + private static final int ONYX_TALISMAN1 = 984; + private static final int ONYX_TALISMAN2 = 985; + private static final int ANCIENT_SCROLL = 986; + private static final int ANCIENT_CLAY_TABLET = 987; + private static final int KARTAS_TRANSLATION = 988; + // Misc + private static final int MIN_LVL = 10; + + private Q00106_ForgottenTruth(int questId, String name, String descr) + { + super(questId, name, descr); + addStartNpc(THIFIELL); + addTalkId(THIFIELL, KARTA); + addKillId(TUMRAN_ORC_BRIGAND); + registerQuestItems(KARTAS_TRANSLATION, ONYX_TALISMAN1, ONYX_TALISMAN2, ANCIENT_SCROLL, ANCIENT_CLAY_TABLET); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState st = player.getQuestState(getName()); + String htmltext = null; + if (st == null) + { + return htmltext; + } + switch (event) + { + case "30358-04.htm": + { + htmltext = event; + break; + } + case "30358-05.htm": + { + if (st.isCreated()) + { + st.startQuest(); + st.giveItems(ONYX_TALISMAN1, 1); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState st = killer.getQuestState(getName()); + if ((st != null) && st.isCond(2) && Util.checkIfInRange(1500, npc, killer, true)) + { + if ((getRandom(100) < 20) && st.hasQuestItems(ONYX_TALISMAN2)) + { + if (!st.hasQuestItems(ANCIENT_SCROLL)) + { + st.giveItems(ANCIENT_SCROLL, 1); + st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); + } + else if (!st.hasQuestItems(ANCIENT_CLAY_TABLET)) + { + st.setCond(3, true); + st.giveItems(ANCIENT_CLAY_TABLET, 1); + } + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance talker) + { + final QuestState st = talker.getQuestState(getName()); + String htmltext = getNoQuestMsg(talker); + if (st == null) + { + return htmltext; + } + + switch (npc.getId()) + { + case THIFIELL: + { + switch (st.getState()) + { + case State.CREATED: + { + if (talker.getRace() == PcRace.DarkElf) + { + htmltext = talker.getLevel() >= MIN_LVL ? "30358-03.htm" : "30358-02.htm"; + } + else + { + htmltext = "30358-01.htm"; + } + break; + } + case State.STARTED: + { + if (hasAtLeastOneQuestItem(talker, ONYX_TALISMAN1, ONYX_TALISMAN2) && !st.hasQuestItems(KARTAS_TRANSLATION)) + { + htmltext = "30358-06.html"; + } + else if (st.isCond(4) && st.hasQuestItems(KARTAS_TRANSLATION)) + { + Q00281_HeadForTheHills.giveNewbieReward(talker); + talker.sendPacket(new SocialAction(talker.getObjectId(), 3)); + st.giveAdena(10266, true); + st.addExpAndSp(24195, 2074); + st.exitQuest(false, true); + htmltext = "30358-07.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(talker); + break; + } + } + break; + } + case KARTA: + { + if (st.isStarted()) + { + switch (st.getCond()) + { + case 1: + { + if (st.hasQuestItems(ONYX_TALISMAN1)) + { + st.setCond(2, true); + st.takeItems(ONYX_TALISMAN1, -1); + st.giveItems(ONYX_TALISMAN2, 1); + htmltext = "30133-01.html"; + } + break; + } + case 2: + { + if (st.hasQuestItems(ONYX_TALISMAN2)) + { + htmltext = "30133-02.html"; + } + break; + } + case 3: + { + if (st.hasQuestItems(ANCIENT_SCROLL, ANCIENT_CLAY_TABLET)) + { + st.setCond(4, true); + takeItems(talker, -1, ANCIENT_SCROLL, ANCIENT_CLAY_TABLET, ONYX_TALISMAN2); + st.giveItems(KARTAS_TRANSLATION, 1); + htmltext = "30133-03.html"; + } + break; + } + case 4: + { + if (st.hasQuestItems(KARTAS_TRANSLATION)) + { + htmltext = "30133-04.html"; + } + break; + } + + } + } + break; + } + } + return htmltext; + } + + public static void main(String[] args) + { + new Q00106_ForgottenTruth(106, Q00106_ForgottenTruth.class.getSimpleName(), "Forgotten Truth"); + } +} \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-00.htm similarity index 92% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-00.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-00.htm index ecea5fdfb4af39006d1cd11f1570913e3097b974..e2e56fdc2e191a0778cfebf28ba5d69a8c844f2a 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-00.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-00.htm @@ -1,4 +1,5 @@ <html><body>Master Ellenia:<br> Have you ever seen the race called the ratmen? We Elves call that lowly race "plague bringers." Originally no disease existed anywhere in the Elven Forest. But when the dirty ratmen entered our forest, they spread disease and plague, and we learned for the first time what it means to become ill and weak.<br> Their nest has recently been uncovered, and a group will be sent soon to eradicate them. We will surely drive the plague bringers out of our forest. But this is business between Elves and ratmen. I don't think the one of a foreign race, like yourself, should be involved.<br> -(Quest for Elven characters.)</body></html> \ No newline at end of file +(Quest for Elven characters.) +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-02.htm similarity index 92% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-02.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-02.htm index 770db2e85ef1a0eeb9299f8abb3ebbf11c83cdae..b26dd56ef2c5b119f9b035bedfc9c3d6279eabaf 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-02.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-02.htm @@ -2,4 +2,5 @@ Have you ever seen the race called the ratmen? We Elves call that lowly race "plague bringers." Originally no disease existed anywhere in the Elven Forest. But when the dirty ratmen entered our forest, they spread disease and plague, and we learned for the first time what it means to become ill and weak.<br> Moreover, the ratmen were paid to fight for the Dark Elves as mercenary soldiers during our war with the dark ones. Countless Elven brothers lost their lives to that disgusting race. Never can we forget or forgive the sins that they committed against us.<br> Heed my words ... there will come a day when those plague bringers will be destroyed. When that time comes, please take up your sword and join in the sacred task of dealing with the ratmen.<br> -(Quest for Elven characters level 18 and above.)</body></html> \ No newline at end of file +(Quest for Elven characters level 18 and above.) +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-03.htm similarity index 87% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-03.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-03.htm index acbda24eb414af5139a3664a3642b8750823d91f..6c2d1f9b296277b15b40ff04b4b28fce28f852c2 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-03.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-03.htm @@ -2,5 +2,5 @@ Have you ever seen the race called the ratmen? We Elves call that lowly race "plague bringers." Originally no disease existed anywhere in the Elven Forest. But when the dirty ratmen entered our forest, they spread disease and plague, and we learned for the first time what it means to become ill and weak.<br> Moreover, the ratmen were paid to fight for the Dark Elves as mercenary soldiers during our war with the dark ones. Countless Elven brothers lost their lives to that disgusting race. Never can we forget or forgive the sins that they committed against us.<br> Now the time has come to destroy the plague bringers! Won't you participate in the sacred task of punishing the ratmen?<br> -<a action="bypass -h Quest 316_DestroyPlaguebringers 30155-04.htm">Say you will participate</a> +<a action="bypass -h Quest Q00316_DestroyPlagueCarriers 30155-04.htm">Say you will participate</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-04.htm similarity index 60% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-04.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-04.htm index fd2c7280cb425676e2b5652d8f3053095d66d1f8..42a325fc1ef0ac898d084d74a3cb46768a5a537f 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-04.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-04.htm @@ -1,3 +1,4 @@ <html><body>Master Ellenia:<br> -Then I shall draw up our Contract. What you must do is to kill the<font color="LEVEL"> ratmen</font> and bring back their<font color="LEVEL"> fangs</font> as proof. I will compensate you for as many as you bring back. Furthermore, if you kill their leader<font color="LEVEL"> Varool Foulclaw</font> and bring back one of his fangs as proof, I will give you a great reward.<br> -We should not leave any of them alive, those dirty villains that have polluted the Elven Forest with disease and collaborated with the dark race! In Eva's name, may they all receive the stillness of the grave! According to the sentinels, the ratmen nest is in the abandoned<font color="LEVEL"> Elven Underground Fortress</font>. If you do not know the way to the Elven Underground Fortress, ask Sentinel Starden. May the divine protection of Eva be with you.</body></html> \ No newline at end of file +Then I shall draw up our Contract. What you must do is to kill the<font color="LEVEL"> ratmen</font> and bring back their <font color="LEVEL">fangs</font> as proof. I will compensate you for as many as you bring back. Furthermore, if you kill their leader <font color="LEVEL">Varool Foulclaw</font> and bring back one of his fangs as proof, I will give you a great reward.<br> +We should not leave any of them alive, those dirty villains that have polluted the Elven Forest with disease and collaborated with the dark race! In Eva's name, may they all receive the stillness of the grave! According to the sentinels, the ratmen nest is in the abandoned <font color="LEVEL">Elven Underground Fortress</font>. If you do not know the way to the Elven Underground Fortress, ask Sentinel Starden. May the divine protection of Eva be with you. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-05.html new file mode 100644 index 0000000000000000000000000000000000000000..3bdb0eef1ccfad21a8ad1243e71156550ff6d61c --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-05.html @@ -0,0 +1,5 @@ +<html><body>Master Ellenia:<br> +The eradication of the plague bringers has begun! Please hurry to the abandoned Underground Elven Fortress. Do you remember the Contract you signed with me? Destroy the dirty <font color="LEVEL">ratmen</font> and bring back their <font color="LEVEL">fangs</font> as proof, and I will reward you for each item of proof you bring me. I will give you an exceptionally large reward if you kill their leader, <font color="LEVEL">Varool Foulclaw</font>, and bring me one of his fangs.<br> +<a action="bypass -h Quest Q00316_DestroyPlagueCarriers 30155-09.html">Say you are going to go destroy them</a><br> +<a action="bypass -h Quest Q00316_DestroyPlagueCarriers 30155-08.html">Say you will end the Contract</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-07.html similarity index 64% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-07.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-07.html index 0c44ab056c93a6d8819488f56d4ba1490f00d252..d92f83361baf68b355be12f959a76b1a5f99b978 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-07.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-07.html @@ -1,6 +1,6 @@ <html><body>Master Ellenia:<br> I congratulate you upon your safe return, Fighter of the forest. Have you given the enemy of our race a harsh punishment they will not soon forget?<br> According to the terms of our Contract, I will reward you according to the number of fangs you have brought. I hope you will continue to fight for the brothers of the forest.<br> -<a action="bypass -h Quest 316_DestroyPlaguebringers 30155-09.htm">Say you will end the contract</a><br> -<a action="bypass -h Quest 316_DestroyPlaguebringers 30155-08.htm">Say you will continue</a> +<a action="bypass -h Quest Q00316_DestroyPlagueCarriers 30155-08.html">Say you will end the Contract</a><br> +<a action="bypass -h Quest Q00316_DestroyPlagueCarriers 30155-09.html">Say you will continue</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-08.html similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-08.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-08.html diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-09.html similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-09.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-09.html diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/Q00316_DestroyPlagueCarriers.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/Q00316_DestroyPlagueCarriers.java new file mode 100644 index 0000000000000000000000000000000000000000..35597f144b698cfb8c929dfdf87cf01d5f03f36c --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/Q00316_DestroyPlagueCarriers.java @@ -0,0 +1,174 @@ +/* + * Copyright (C) 2004-2013 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack 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. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package quests.Q00316_DestroyPlagueCarriers; + +import java.util.HashMap; +import java.util.Map; + +import com.l2jserver.gameserver.enums.PcRace; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.holders.ItemHolder; +import com.l2jserver.gameserver.model.quest.Quest; +import com.l2jserver.gameserver.model.quest.QuestState; +import com.l2jserver.gameserver.model.quest.State; +import com.l2jserver.gameserver.network.NpcStringId; +import com.l2jserver.gameserver.network.clientpackets.Say2; +import com.l2jserver.gameserver.network.serverpackets.NpcSay; + +/** + * Destroy Plague Carriers (316) + * @author ivantotov + */ +public final class Q00316_DestroyPlagueCarriers extends Quest +{ + // NPC + private static final int ELLENIA = 30155; + // Items + private static final int WERERAT_FANG = 1042; + private static final int VAROOL_FOULCLAW_FANG = 1043; + // Misc + private static final int MIN_LEVEL = 18; + // Monsters + private static final int VAROOL_FOULCLAW = 27020; + private static final Map<Integer, ItemHolder> MONSTER_DROPS = new HashMap<>(); + static + { + MONSTER_DROPS.put(20040, new ItemHolder(WERERAT_FANG, 5)); // Sukar Wererat + MONSTER_DROPS.put(20047, new ItemHolder(WERERAT_FANG, 5)); // Sukar Wererat Leader + MONSTER_DROPS.put(VAROOL_FOULCLAW, new ItemHolder(VAROOL_FOULCLAW_FANG, 7)); // Varool Foulclaw + } + + private Q00316_DestroyPlagueCarriers(int questId, String name, String descr) + { + super(questId, name, descr); + addStartNpc(ELLENIA); + addTalkId(ELLENIA); + addAttackId(VAROOL_FOULCLAW); + addKillId(MONSTER_DROPS.keySet()); + registerQuestItems(WERERAT_FANG, VAROOL_FOULCLAW_FANG); + } + + @Override + public boolean checkPartyMember(QuestState qs, L2Npc npc) + { + return ((npc.getId() != VAROOL_FOULCLAW) || !qs.hasQuestItems(VAROOL_FOULCLAW_FANG)); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState st = player.getQuestState(getName()); + if (st == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "30155-04.htm": + { + if (st.isCreated()) + { + st.startQuest(); + htmltext = event; + } + break; + } + case "30155-08.html": + { + st.exitQuest(true, true); + htmltext = event; + break; + } + case "30155-09.html": + { + htmltext = event; + break; + } + } + return htmltext; + } + + @Override + public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon) + { + if (npc.isScriptValue(0)) + { + npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.WHY_DO_YOU_OPPRESS_US_SO)); + npc.setScriptValue(1); + } + return super.onAttack(npc, attacker, damage, isSummon); + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc); + if (qs != null) + { + final ItemHolder item = MONSTER_DROPS.get(npc.getId()); + final int limit = (npc.getId() == VAROOL_FOULCLAW ? 1 : 0); + giveItemRandomly(killer, npc, item.getId(), 1, limit, 10.0 / item.getCount(), true); + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState st = player.getQuestState(getName()); + if (st == null) + { + return htmltext; + } + + switch (st.getState()) + { + case State.CREATED: + { + htmltext = (player.getRace() == PcRace.Elf) ? (player.getLevel() >= MIN_LEVEL) ? "30155-03.htm" : "30155-02.htm" : "30155-00.htm"; + break; + } + case State.STARTED: + { + if (hasAtLeastOneQuestItem(player, getRegisteredItemIds())) + { + final long wererars = st.getQuestItemsCount(WERERAT_FANG); + final long foulclaws = st.getQuestItemsCount(VAROOL_FOULCLAW_FANG); + st.giveAdena(((wererars * 30) + (foulclaws * 10000) + ((wererars + foulclaws) >= 10 ? 5000 : 0)), true); + takeItems(player, -1, getRegisteredItemIds()); + htmltext = "30155-07.html"; + } + else + { + htmltext = "30155-05.html"; + } + break; + } + } + return htmltext; + } + + public static void main(String[] args) + { + new Q00316_DestroyPlagueCarriers(316, Q00316_DestroyPlagueCarriers.class.getSimpleName(), "Destroy Plague Carriers"); + } +} \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-02.htm similarity index 52% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-02.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-02.htm index 01d1ad26070c6839d6831f27d0668831b0503768..2a2327990d75d5f2106caebc6203c6505b2668fe 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-02.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-02.htm @@ -1,5 +1,6 @@ <html><body>Rizraell:<br> -All spirits in the ancient forest used to be friends to us Elves. But recently, some spirits have become violent. It's as if they were trying to get revenge on the Elves for the destruction of the forest. I heard it was the angry wind spirit 'lirein' that recently caused the strong wind to destroy the roofs of the village buildings and break windows.<br> +All spirits in the ancient forest used to be friends to us Elves. But recently, some spirits have become violent. It's as if they were trying to get revenge on the Elves for the destruction of the forest. I heard it was the angry wind spirit <font color="LEVEL">lirein</font> that recently caused the strong wind to destroy the roofs of the village buildings and break windows.<br> If the 'sylph' is the spirit of the cool breeze that blows between trees, then 'lirein' is a vengeful spirit of a wild storm. These spirits pluck trees from their roots and send animals flying high in the air. They are especially hostile to Elves. They come and go with severe winds, and we feel like they are trying to drive us from the forest.<br> -However, the 'wind shard,' a fragment of 'soul ore' that is within the body of a lirein, is a very precious resource. I make various magical products using soul ore, so I may ask you to collect some wind shards for me in the near future.<br> -(Quest for characters level 18 and above.)</body></html> \ No newline at end of file +However, the <font color="LEVEL">Wind Shard,</font> a fragment of Soul Ore that is within the body of a lirein, is a very precious resource. I make various magical products using Soul Ore, so I may ask you to collect some Wind Shards for me in the near future.<br> +(Quest for characters level 18 and above.) +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-03.htm similarity index 81% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-03.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-03.htm index aa6aeb29acfd5779776ab22f6e50657113a90baa..a4ed276b1943011b8356bd0230079436a1b17da9 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-03.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-03.htm @@ -1,8 +1,8 @@ <html><body>Rizraell:<br> -All spirits in the ancient forest used to be friends to us Elves. But recently, some spirits have become violent. It's as if they were trying to get revenge on the Elves for the destruction of the forest. I heard it was the angry wind spirit<font color="LEVEL"> lirein</font> that recently caused the strong wind to destroy the roofs of the village buildings and break windows.<br> +All spirits in the ancient forest used to be friends to us Elves. But recently, some spirits have become violent. It's as if they were trying to get revenge on the Elves for the destruction of the forest. I heard it was the angry wind spirit <font color="LEVEL">lirein</font> that recently caused the strong wind to destroy the roofs of the village buildings and break windows.<br> If the 'sylph' is the spirit of the cool breeze that blows between trees, then 'lirein' is a vengeful spirit of a wild storm. These spirits pluck trees from their roots and send animals flying high in the air. They are especially hostile to Elves. They come and go with severe winds, and we feel like they are trying to drive us from the forest.<br> -However, the<font color="LEVEL"> Wind Shard,</font> a fragment of Soul Ore that is within the body of a lirein, is a very precious resource. I use elemental stones to make various magic products, but among them, the Wind Shard is a material inevitably needed when making the scroll of wind.<br> -The scroll of wind is just as its name implies -- wind that is trapped in parchment. If you spread the scroll wide open, the strong wind sealed within will blow in the direction of your choise for a few seconds. This can be very useful for various tasks. It is used to change the direction of the wind east, to prevent the poisonous fumes coming from the Sea of Spores from entering the Elven forest. The scroll of wind is also bought by many Human and Dwarven sea navigators. I heard it is used when there is no wind on the ocean and the ship cannot move.<br> +However, the <font color="LEVEL">Wind Shard,</font> a fragment of Soul Ore that is within the body of a lirein, is a very precious resource. I use elemental stones to make various magic products, but among them, the Wind Shard is a material inevitably needed when making the scroll of wind.<br> +The scroll of wind is just as its name implies -- wind that is trapped in parchment. If you spread the scroll wide open, the strong wind sealed within will blow in the direction of your choice for a few seconds. This can be very useful for various tasks. It is used to change the direction of the wind east, to prevent the poisonous fumes coming from the Sea of Spores from entering the Elven forest. The scroll of wind is also bought by many Human and Dwarven sea navigators. I heard it is used when there is no wind on the ocean and the ship cannot move.<br> I am making several scrolls of wind due to the commission of Herbiel, but I am short of a few materials. Can you do me the favor of collecting Wind Shards?<br> -<a action="bypass -h Quest 317_CatchTheWind 30361-04.htm">Say you will take the task.</a> +<a action="bypass -h Quest Q00317_CatchTheWind 30361-04.htm">Say you will take the task.</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-04.htm similarity index 55% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-04.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-04.htm index 2487d818ddb840fee89f97e49b29b1761ea77e22..87db367d3fc10cd381478b179082bb5e96833228 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-04.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-04.htm @@ -1,4 +1,4 @@ <html><body>Rizraell:<br> -Then let's make a Contract. If you find<font color="LEVEL"> Wind Shards</font> from<font color="LEVEL"> lirein,</font> the vengeful spirits of the wind, I will compensate you according to how many you bring.<br> -They say there are many lirein around the<font color="LEVEL"> Neutral Zone</font> on the boundaries of the Elven Forest and Gludio. If you don't know how to get there, ask Sentinel Rayen. +Then let's make a Contract. If you find <font color="LEVEL">Wind Shards</font> from <font color="LEVEL">lirein,</font> the vengeful spirits of the wind, I will compensate you according to how many you bring.<br> +They say there are many lirein around the <font color="LEVEL">Neutral Zone</font> on the boundaries of the Elven Forest and Gludio. If you don't know how to get there, ask Sentinel Rayen. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-05.html new file mode 100644 index 0000000000000000000000000000000000000000..111093da4d193aef33c3ba9e7674a0ccce6c9883 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-05.html @@ -0,0 +1,5 @@ +<html><body>Rizraell:<br> +Do you remember our Contract? If you find <font color="LEVEL">Wind Shards</font> from <font color="LEVEL">lireins</font>, the vengeful spirits of the wind, I will compensate you according to how many you bring me. They say there are many lirein in the <font color="LEVEL">Neutral Zone.</font> Ask Sentinel Rayen about how to get there.<br> +<a action="bypass -h Quest Q00317_CatchTheWind 30361-09.html">Say you will find them</a><br> +<a action="bypass -h Quest Q00317_CatchTheWind 30361-08.html">Say you will end the Contract</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-07.html similarity index 60% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-07.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-07.html index e0737936da152997cb9f0589b480b55c0b8c7acd..6881dde3916829b54188f1443c127abdab86bc4c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-07.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-07.html @@ -1,6 +1,6 @@ <html><body>Rizraell:<br> Thank you. This blue jewel that quivers at the tip of my fingers is indeed a Wind Shard. I will compensate you according to how many you brought. Thank you for your trouble.<br> Would you like to end the Contract? Or would you like to continue collecting?<br> -<a action="bypass -h Quest 317_CatchTheWind 30361-08.htm">Say you will end the Contract</a><br> -<a action="bypass -h Quest 317_CatchTheWind 30361-09.htm">Say you will continue</a> +<a action="bypass -h Quest Q00317_CatchTheWind 30361-08.html">Say you will end the Contract</a><br> +<a action="bypass -h Quest Q00317_CatchTheWind 30361-09.html">Say you will continue</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-08.html similarity index 89% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-08.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-08.html index 2c347faf7fa25815a10560785e92819c867491d6..59ef753d763d26eb7e365204f5287ffdc0147a03 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-08.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-08.html @@ -1,2 +1,3 @@ <html><body>Rizraell:<br> -Thank you. I am much indebted to you even during the short time our fates were bound by Contract. May Eva's blessing be with you.</body></html> \ No newline at end of file +Thank you. I am much indebted to you even during the short time our fates were bound by Contract. May Eva's blessing be with you. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-09.html similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-09.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-09.html diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/Q00317_CatchTheWind.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/Q00317_CatchTheWind.java new file mode 100644 index 0000000000000000000000000000000000000000..58e67307737085eec10231bdf1104b81dbab09ab --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/Q00317_CatchTheWind.java @@ -0,0 +1,139 @@ +/* + * Copyright (C) 2004-2013 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack 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. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package quests.Q00317_CatchTheWind; + +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.quest.Quest; +import com.l2jserver.gameserver.model.quest.QuestState; +import com.l2jserver.gameserver.model.quest.State; + +/** + * Catch The Wind (317) + * @author ivantotov + */ +public final class Q00317_CatchTheWind extends Quest +{ + // NPC + private static final int RIZRAELL = 30361; + // Item + private static final int WIND_SHARD = 1078; + // Misc + private static final int MIN_LEVEL = 18; + private static final double DROP_CHANCE = 0.5; + // Monsters + private static final int[] MONSTERS = + { + 20036, // Lirein + 20044, // Lirein Elder + }; + + private Q00317_CatchTheWind(int questId, String name, String descr) + { + super(questId, name, descr); + addStartNpc(RIZRAELL); + addTalkId(RIZRAELL); + addKillId(MONSTERS); + registerQuestItems(WIND_SHARD); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState st = player.getQuestState(getName()); + if (st == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "30361-04.htm": + { + if (st.isCreated()) + { + st.startQuest(); + htmltext = event; + } + break; + } + case "30361-08.html": + case "30361-09.html": + { + final long shardCount = st.getQuestItemsCount(WIND_SHARD); + if (shardCount > 0) + { + st.giveAdena(((shardCount * 40) + (shardCount >= 10 ? 2988 : 0)), true); + st.takeItems(WIND_SHARD, -1); + } + + if (event.equals("30361-08.html")) + { + st.exitQuest(true, true); + } + + htmltext = event; + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc); + if (qs != null) + { + giveItemRandomly(killer, npc, WIND_SHARD, 1, 0, DROP_CHANCE, true); + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState st = player.getQuestState(getName()); + if (st == null) + { + return htmltext; + } + + switch (st.getState()) + { + case State.CREATED: + { + htmltext = player.getLevel() >= MIN_LEVEL ? "30361-03.htm" : "30361-02.htm"; + break; + } + case State.STARTED: + { + htmltext = (st.hasQuestItems(WIND_SHARD) ? "30361-07.html" : "30361-05.html"); + break; + } + } + return htmltext; + } + + public static void main(String[] args) + { + new Q00317_CatchTheWind(317, Q00317_CatchTheWind.class.getSimpleName(), "Catch The Wind"); + } +} \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-00.htm similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-00.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-00.htm diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-02.htm similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-02.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-02.htm diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-03.htm similarity index 80% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-03.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-03.htm index cc73f9a76efdd01056b9bc0c02289508ffdfee22..7fac9b0a2c451f7478dd7e2b4c7b86144fbca2f8 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-03.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-03.htm @@ -1,6 +1,6 @@ <html><body>Tetrarch Kaitar:<br> I am a member of the Tetrarch council, but at the same time I am an Abyssal Celebrant. For the past 300 years, I have lived to fulfill the will of Gran Kain and Shilen. The goddess Shilen controls death and fate and sometimes lets us steal a glance at the future through death. The goddess taught me how to read the future by throwing bones of the dead and examining the shape they make when they fall on the ground.<br> Once a month, I perform spells to foresee the dangers or disasters that will affect my race, and forecast the direction in which the Temple of Darkness must proceed. In days like these, when enemies that threaten our race are all around, it is my bounden duty to see whether there are any disasters or dangers in the future for my race.<br> -Every time I make my predictions, I need new<font color="LEVEL"> bone pieces</font>. The older the bones are, the stronger the power of death that lies within them, so I can see the future more clearly. I would ask you to collect the bone pieces needed for my spell. Well, are you interested?<br> -<a action="bypass -h Quest 320_BonesTellFuture 30359-04.htm">Say you will take the task</a> +Every time I make my predictions, I need new <font color="LEVEL">bone pieces</font>. The older the bones are, the stronger the power of death that lies within them, so I can see the future more clearly. I would ask you to collect the bone pieces needed for my spell. Well, are you interested?<br> +<a action="bypass -h Quest Q00320_BonesTellTheFuture 30359-04.htm">Say you will take the task</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-04.htm similarity index 61% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-04.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-04.htm index a2861eaf4907c6927e34d0c37650225277cc5341..968b410c97bcb9ff800323d4a77947e2fe27fed4 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-04.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-04.htm @@ -1,4 +1,4 @@ <html><body>Tetrarch Kaitar:<br> -If you follow the road to the southwest section of the village, you will come to the abandoned<font color="LEVEL"> School of Dark Arts</font>. It was built a long time ago, for the greatest sorcerers of our race to study black magic. There, we developed a way to undo the curse on our race which made sunlight scorch our skin, and we also began studying spells to unseal our patriarch. However, when we were at war with the Elves of Light, we abandoned the school for strategic reasons.<br> -We destroyed all the research materials so our magical results would not fall into the hands of our enemy. However, the few brothers who could not escape and were surrounded by the enemies put an end to their own lives and rose as the undead to fight the enemy until the end. The brothers who were sacrificed then still wander along the corridors of the Institute as<font color="LEVEL"> skeleton</font> spirits. I would like you to bring me their<font color="LEVEL"> bone pieces</font>. The bones of those who died in a war that was rampant with slaughter and death have especially strong black magic powers. I do not need many. Just find me<font color="LEVEL"> ten</font>. +If you follow the road to the southwest section of the village, you will come to the abandoned <font color="LEVEL">School of Dark Arts</font>. It was built a long time ago, for the greatest sorcerers of our race to study black magic. There, we developed a way to undo the curse on our race which made sunlight scorch our skin, and we also began studying spells to unseal our Hierarch. However, when we were at war with the Elves of Light, we abandoned the school for strategic reasons.<br> +We destroyed all the research materials so our magical results would not fall into the hands of our enemy. However, the few brothers who could not escape and were surrounded by the enemies put an end to their own lives and rose as the undead to fight the enemy until the end. The brothers who were sacrificed then still wander along the corridors of the Institute as <font color="LEVEL">skeleton</font> spirits. I would like you to bring me their <font color="LEVEL">bone pieces</font>. The bones of those who died in a war that was rampant with slaughter and death have especially strong black magic powers. I do not need many. Just find me <font color="LEVEL">ten</font>. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-05.html similarity index 61% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-05.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-05.html index 6548a4e5ceb39d02120d1a575b14f1e76edf61ec..13187cbe992bb3eac5ec368feb41da21732ab19d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-05.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-05.html @@ -1,3 +1,3 @@ <html><body>Tetrarch Kaitar:<br> -You agreed to get me<font color="LEVEL"> ten bone pieces of the skeleton hunters</font> from the<font color="LEVEL"> School of Dark Arts</font>, did you not? You know the way to the School of Dark Arts, do you not? Follow the coastline and go to the southwest and you will be able to find it. +You agreed to get me <font color="LEVEL">ten bone pieces of the skeleton hunters</font> from the <font color="LEVEL">School of Dark Arts</font>, did you not? You know the way to the School of Dark Arts, do you not? Follow the coastline and go to the southwest and you will be able to find it. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-06.html similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/30359-06.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/30359-06.html diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java new file mode 100644 index 0000000000000000000000000000000000000000..076259099698fc7ad7c0bd995d0eb73d22d47c35 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java @@ -0,0 +1,120 @@ +/* + * Copyright (C) 2004-2013 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack 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. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package quests.Q00320_BonesTellTheFuture; + +import com.l2jserver.gameserver.enums.PcRace; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.quest.Quest; +import com.l2jserver.gameserver.model.quest.QuestState; +import com.l2jserver.gameserver.model.quest.State; + +/** + * Bones Tell The Future (320) + * @author ivantotov + */ +public final class Q00320_BonesTellTheFuture extends Quest +{ + // NPC + private static final int TETRACH_KAITAR = 30359; + // Item + private static final int BONE_FRAGMENT = 809; + // Misc + private static final int MIN_LEVEL = 10; + private static final int REQUIRED_BONE_COUNT = 10; + private static final double DROP_CHANCE = 0.18; + // Monsters + private static final int[] MONSTERS = + { + 20517, // Skeleton Hunter + 20518, // Skeleton Hunter Archer + }; + + private Q00320_BonesTellTheFuture(int questId, String name, String descr) + { + super(questId, name, descr); + addStartNpc(TETRACH_KAITAR); + addTalkId(TETRACH_KAITAR); + addKillId(MONSTERS); + registerQuestItems(BONE_FRAGMENT); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState st = player.getQuestState(getName()); + if ((st != null) && event.equals("30359-04.htm")) + { + st.startQuest(); + return event; + } + return null; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc); + if ((qs != null) && qs.giveItemRandomly(npc, BONE_FRAGMENT, 1, REQUIRED_BONE_COUNT, DROP_CHANCE, true)) + { + qs.setCond(2); + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState st = player.getQuestState(getName()); + if (st == null) + { + return htmltext; + } + + switch (st.getState()) + { + case State.CREATED: + { + htmltext = (player.getRace() == PcRace.DarkElf) ? (player.getLevel() >= MIN_LEVEL) ? "30359-03.htm" : "30359-02.htm" : "30359-00.htm"; + break; + } + case State.STARTED: + { + if (st.getQuestItemsCount(BONE_FRAGMENT) >= REQUIRED_BONE_COUNT) + { + htmltext = "30359-06.html"; + st.giveAdena(8470, true); + st.exitQuest(true, true); + } + else + { + htmltext = "30359-05.html"; + } + break; + } + } + return htmltext; + } + + public static void main(String[] args) + { + new Q00320_BonesTellTheFuture(320, Q00320_BonesTellTheFuture.class.getSimpleName(), "Bones Tell The Future"); + } +} \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-01.htm new file mode 100644 index 0000000000000000000000000000000000000000..7480ba0ed9c898a7368e575063763db0ee8ce02b --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-01.htm @@ -0,0 +1,5 @@ +<html><body>Captain Mathias:<br> +Have you noticed the Red Moon as of Late? A bad omen to be sure. When that moon rises it tends to cause creatures to become more aggressive. I don't know maybe it has something to do with the color of blood.<br> +The king tries to hide it but I know he is troubled by the rise in monster related attacks. Unfortunately our forces are scarce as is and I cannot afford to send any of my troops out to handle the problem.<br> +<a action="bypass -h Quest Q00902_ReclaimOurEra 31340-04.htm">That is a problem. I might be the solution.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-02.htm new file mode 100644 index 0000000000000000000000000000000000000000..9042bba2b5593bc94fbf024deb4f1a7ba7b6773c --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-02.htm @@ -0,0 +1,5 @@ +<html><body>Captain Mathias:<br> +Good job today.<br> +You were a great help. I know you're busy, but please help me again next time. The Elmore Kingdom will always welcome help from brave adventurers such as yourself.<br> +(This quest can only be undertaken once a day. This quest gets initialized everyday at 6:30 am.) +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-03.htm new file mode 100644 index 0000000000000000000000000000000000000000..2f0bf34577f351613946d9dfda36f24f6c745c49 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-03.htm @@ -0,0 +1,4 @@ +<html><body>Captain Mathias:<br> +I cannot trust your skill level. In order to receive this important mission, you need more experience.<br> +This is a life-risking task. (Only characters above level 80 can undertake this quest.) +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-04.htm new file mode 100644 index 0000000000000000000000000000000000000000..d9f36b6a0c199ce064c0f5137ff1c67fea9a595d --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-04.htm @@ -0,0 +1,6 @@ +<html><body>Captain Mathias:<br> +You? Well, I suppose... those scars aren't for show, now are they? It looks like you can handle yourself in a fight.<br> +We have had reports of monsters near <font color="LEVEL">Rune and Goddard</font> that have been the cause of these recent attacks.<br> +I'm not going to lie, it will be dangerous, but I will be able to reward you for your efforts... that is if you are still interested.<br> +<a action="bypass -h Quest Q00902_ReclaimOurEra 31340-05.html">Hmmm, likely to be killed... sure why not.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-05.html new file mode 100644 index 0000000000000000000000000000000000000000..ce364f1b1b2b782025039c6e98b31d48314b32e0 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-05.html @@ -0,0 +1,7 @@ +<html><body>Captain Mathias:<br> +Alright, there are three high priority targets.<br> +In Goddard, the Varka Silenos and Ketra Orcs Leaders have been rallying their troops. We need someone to go in there and eliminate the cause of their hostility.<br> +In the swamps near Rune, there is the Cannibalistic Stakato Chief... apparently it's got a taste for it's own kind. Creates a chemically induced state that causes it to go on a rampage. We need it taken out.<br> +Lastly, there is Anais in the Monastery of Silence. Our Intel is sketchy on the exact nature of this threat only that they need to be eliminated.<br> +<a action="bypass -h Quest Q00902_ReclaimOurEra 31340-10.html">Well then, what I'm I waiting for.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-06.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-06.html new file mode 100644 index 0000000000000000000000000000000000000000..77561974413d4d257796b5eb126beda7ef33a64e --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-06.html @@ -0,0 +1,4 @@ +<html><body>Captain Mathias:<br> +So, you want to take a shot at the Varka Silenos and the Ketra Orcs?<br> +You are going to want to kill their leaders. The ones to hunt are <font color="LEVEL">Shadith, Moss, Horus, Hekaton, Tayr, and Braki.</font> You don't need to kill them all... killing 1 should send the message. Oh, and once you are done... bring back their <font color="LEVEL">Shattered Bones.</font> as proof you have completed the assignment. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-07.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-07.html new file mode 100644 index 0000000000000000000000000000000000000000..78ac221cdaea01fe9fa9eaa1a0988b407322abfc --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-07.html @@ -0,0 +1,3 @@ +<html><body>Captain Mathias:<br> +The Stakatos have become more aggressive lately. This is probably due to their Leader who has a taste of their own kind. Consuming the flesh of the Stakato seems to produce a chemical that causes intense aggression. It sends them in a fury to attack all those around. We don't have a scientific name for him, we just call it the <font color="LEVEL">Cannibalistic Stakato Chief.</font> Once you have taken care of this creature be sure to remove and bring me back the <font color="LEVEL">Cannibalistic Stakato Chief's Claw</font> as proof you have finished the assignment. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-08.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-08.html new file mode 100644 index 0000000000000000000000000000000000000000..d4ea67d9673e7e40229d993d51a6a3b5aac9f40a --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-08.html @@ -0,0 +1,3 @@ +<html><body>Captain Mathias:<br> +The Monastery of Silence, Eh? The creature you seek is <font color="LEVEL">Anais</font>. A very powerful creature, so be careful. Just a tip... the Monks there don't like weapons. Your best off not brandishing your weapon until you find what you are looking for. Rumor has it Anais can be found near the Holy Grail. IF you know where that is, you know where to find Anais. Bring me <font color="LEVEL">Anais's Scroll</font> once you have taken care of that little problem. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-09.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-09.html new file mode 100644 index 0000000000000000000000000000000000000000..9b069381ab8da9f395ec4ab1a95590bb02dcbbf5 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-09.html @@ -0,0 +1,6 @@ +<html><body>Captain Mathias:<br> +Wait a second. I like to keep tabs on who is doing what for me. I want to know what your plan of attack is. Which target do you plan on addressing?<br> +<a action="bypass -h Quest Q00902_ReclaimOurEra 31340-06.html">The Ketra Orcs and the Varka Silenos</a><br> +<a action="bypass -h Quest Q00902_ReclaimOurEra 31340-07.html">The Cannibalistic Stakato Chief</a><br> +<a action="bypass -h Quest Q00902_ReclaimOurEra 31340-08.html">Anais</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-10.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-10.html new file mode 100644 index 0000000000000000000000000000000000000000..7dfe032c7c7cae0dca112047a4b3d7e87e7a5243 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-10.html @@ -0,0 +1,7 @@ +<html><body>Captain Mathias:<br> +Thanks for agreeing to help.<br> +I would like to know where you are planning to go. Which of the monsters I mentioned will you go to suppress?<br> +<a action="bypass -h Quest Q00902_ReclaimOurEra 31340-06.html">The Ketra Orcs and the Varka Silenos</a><br> +<a action="bypass -h Quest Q00902_ReclaimOurEra 31340-07.html">The Cannibalistic Stakato Chief</a><br> +<a action="bypass -h Quest Q00902_ReclaimOurEra 31340-08.html">Anais</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-11.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-11.html new file mode 100644 index 0000000000000000000000000000000000000000..795778aa3a4342e116aa58d588e53a8da3027a1a --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-11.html @@ -0,0 +1,3 @@ +<html><body>Captain Mathias:<br> +The Ketra Orcs and the Varka Silenos are sworn enemies. Capturing just <font color="LEVEL">one of the leader monsters</font> will be considered meeting the suppression goal. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-12.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-12.html new file mode 100644 index 0000000000000000000000000000000000000000..48e37069268cf303963e7093b5b64048c66042e3 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-12.html @@ -0,0 +1,3 @@ +<html><body>Captain Mathias:<br> +The Stakato Nest, where the Cannibalistic Stakato Chief lives, is a very dangerous place. Please be careful. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-13.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-13.html new file mode 100644 index 0000000000000000000000000000000000000000..d05700a7e1c5161ab863f2c439147d2772a51981 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-13.html @@ -0,0 +1,3 @@ +<html><body>Captain Mathias:<br> +If you wish to defeat Anais in the Monastery of Silence, you will first need to walk a dangerous path. Be careful. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-14.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-14.html new file mode 100644 index 0000000000000000000000000000000000000000..895671a7efea3de06f1b1a2baacc81831eecf31f --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-14.html @@ -0,0 +1,3 @@ +<html><body>Captain Mathias:<br> +Well done. Speak to me again if you have any interest in further assignments. As promised here is your compensation. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java new file mode 100644 index 0000000000000000000000000000000000000000..92109db4a7f41fa960e1f2bab7f0d787e284bacf --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java @@ -0,0 +1,251 @@ +/* + * Copyright (C) 2004-2013 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack 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. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package quests.Q00902_ReclaimOurEra; + +import java.util.HashMap; +import java.util.Map; + +import com.l2jserver.gameserver.enums.QuestType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.quest.Quest; +import com.l2jserver.gameserver.model.quest.QuestState; +import com.l2jserver.gameserver.model.quest.State; +import com.l2jserver.gameserver.util.Util; + +/** + * Reclaim Our Era (902) + * @author netvirus + */ +public final class Q00902_ReclaimOurEra extends Quest +{ + // Npc + private static final int MATHIAS = 31340; + // Misc + private static final int MIN_LVL = 80; + // Items + private static final int SHATTERED_BONES = 21997; + private static final int CANNIBALISTIC_STAKATO_LDR_CLAW = 21998; + private static final int ANAIS_SCROLL = 21999; + private static final int PROOF_OF_CHALLENGE = 21750; + // Monsters + private static final Map<Integer, Integer> MONSTER_DROPS = new HashMap<>(); + + static + { + MONSTER_DROPS.put(25309, SHATTERED_BONES); // Varka's Hero Shadith + MONSTER_DROPS.put(25312, SHATTERED_BONES); // Varka's Commander Mos + MONSTER_DROPS.put(25315, SHATTERED_BONES); // Varka's Chief Horus + MONSTER_DROPS.put(25299, SHATTERED_BONES); // Ketra's Hero Hekaton + MONSTER_DROPS.put(25302, SHATTERED_BONES); // Ketra's Commander Tayr + MONSTER_DROPS.put(25305, SHATTERED_BONES); // Ketra's Chief Brakki + MONSTER_DROPS.put(25667, CANNIBALISTIC_STAKATO_LDR_CLAW); // Cannibalistic Stakato Chief + MONSTER_DROPS.put(25668, CANNIBALISTIC_STAKATO_LDR_CLAW); // Cannibalistic Stakato Chief + MONSTER_DROPS.put(25669, CANNIBALISTIC_STAKATO_LDR_CLAW); // Cannibalistic Stakato Chief + MONSTER_DROPS.put(25670, CANNIBALISTIC_STAKATO_LDR_CLAW); // Cannibalistic Stakato Chief + MONSTER_DROPS.put(25701, ANAIS_SCROLL); // Anais - Master of Splendor + } + + private Q00902_ReclaimOurEra(int questId, String name, String descr) + { + super(questId, name, descr); + addStartNpc(MATHIAS); + addTalkId(MATHIAS); + addKillId(MONSTER_DROPS.keySet()); + registerQuestItems(SHATTERED_BONES, CANNIBALISTIC_STAKATO_LDR_CLAW, ANAIS_SCROLL); + } + + private void giveItem(L2Npc npc, L2PcInstance player) + { + final QuestState st = player.getQuestState(getName()); + if ((st != null) && (st.isStarted()) && (!st.isCond(5)) && Util.checkIfInRange(1500, npc, player, false)) + { + st.giveItems(MONSTER_DROPS.get(npc.getId()), 1); + st.setCond(5, true); + } + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState st = player.getQuestState(getName()); + String htmltext = null; + if (st == null) + { + return htmltext; + } + + switch (event) + { + case "31340-04.htm": + { + if (st.isCreated()) + { + htmltext = event; + } + break; + } + case "31340-05.html": + { + if (st.isCreated()) + { + st.startQuest(); + htmltext = event; + } + break; + } + case "31340-06.html": + { + if (st.isCond(1)) + { + st.setCond(2, true); + htmltext = event; + } + break; + } + case "31340-07.html": + { + if (st.isCond(1)) + { + st.setCond(3, true); + htmltext = event; + } + break; + } + case "31340-08.html": + { + if (st.isCond(1)) + { + st.setCond(4, true); + htmltext = event; + } + break; + } + case "31340-10.html": + { + if (st.isCond(1)) + { + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + if (killer.isInParty()) + { + for (L2PcInstance member : killer.getParty().getMembers()) + { + giveItem(npc, member); + } + } + else + { + giveItem(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + QuestState st = player.getQuestState(getName()); + String htmltext = getNoQuestMsg(player); + if (st == null) + { + return htmltext; + } + + switch (st.getState()) + { + case State.COMPLETED: + { + if (!st.isNowAvailable()) + { + htmltext = "31340-02.htm"; + break; + } + st.setState(State.CREATED); + } + case State.CREATED: + { + htmltext = (player.getLevel() >= MIN_LVL) ? "31340-01.htm" : "31340-03.htm"; + break; + } + case State.STARTED: + { + switch (st.getCond()) + { + case 1: + { + htmltext = "31340-09.html"; + break; + } + case 2: + { + htmltext = "31340-11.html"; + break; + } + case 3: + { + htmltext = "31340-12.html"; + break; + } + case 4: + { + htmltext = "31340-13.html"; + break; + } + case 5: + { + if (st.hasQuestItems(SHATTERED_BONES)) + { + st.giveItems(PROOF_OF_CHALLENGE, 1); + st.giveAdena(134038, true); + } + else if (st.hasQuestItems(CANNIBALISTIC_STAKATO_LDR_CLAW)) + { + st.giveItems(PROOF_OF_CHALLENGE, 3); + st.giveAdena(210119, true); + } + else if (st.hasQuestItems(ANAIS_SCROLL)) + { + st.giveItems(PROOF_OF_CHALLENGE, 3); + st.giveAdena(348155, true); + } + st.exitQuest(QuestType.DAILY, true); + htmltext = "31340-14.html"; + break; + } + } + break; + } + } + return htmltext; + } + + public static void main(String[] args) + { + new Q00902_ReclaimOurEra(902, Q00902_ReclaimOurEra.class.getSimpleName(), "Reclaim Our Era"); + } +} diff --git a/L2J_DataPack_BETA/dist/sql/game/npc.sql b/L2J_DataPack_BETA/dist/sql/game/npc.sql index 922e5c59373bce603736cf95e233853548679193..3eca1968803180712968a0007d47a7ed847a136e 100644 --- a/L2J_DataPack_BETA/dist/sql/game/npc.sql +++ b/L2J_DataPack_BETA/dist/sql/game/npc.sql @@ -5651,7 +5651,7 @@ INSERT INTO `npc` VALUES (25698, 25698, "Dopagen", 0, "Kokracon", 0, "LineageMonster5.dorpagen_e", 45, 75, 85, "male", "L2RaidBoss", 40, 631293.503534, 18468, 242.62242, 300, 60, 57, 73, 76, 70, 80, 3233771, 403115, 11355.95863, 17479.90252, 1212.53791, 8527.32835, 253, 4, 333, 0, 0, 0, 50, 120, 0, 1), (25699, 25699, "Glakias", 0, "Archery Knight Captain", 0, "LineageMonster5.ice_heavy_knight", 28, 67.5, 85, "male", "L2RaidBoss", 40, 780461.719331, 18468, 139.120531, 500, 60, 57, 73, 76, 70, 80, 0, 0, 8184.13934, 1876.12993, 2579.00134, 640.6708, 253, 4, 333, 0, 0, 0, 40, 120, 0, 1), (25700, 25700, "Glakias", 0, "Archery Knight Captain", 0, "LineageMonster5.ice_heavy_knight", 28, 67.5, 85, "male", "L2RaidBoss", 40, 15015056.357086, 92340, 1947.687433, 500, 60, 57, 73, 76, 70, 80, 0, 0, 21748.05311, 2063.74292, 3775.91586, 1089.14036, 253, 4, 333, 0, 0, 0, 40, 120, 0, 1), -(25701, 25701, "Anays", 0, "Master of Splendor", 0, "LineageMonster3.solina_priest_160p", 24, 55, 84, "male", "L2RaidBoss", 40, 937564.609209, 21812, 240.220218, 500, 60, 57, 73, 76, 70, 80, 6653170, 900069, 11094.68934, 1428.96385, 1192.885, 576.114, 253, 4, 333, 8214, 0, 0, 60, 120, 0, 1), +(25701, 25701, "Anais", 0, "Master of Splendor", 0, "LineageMonster3.solina_priest_160p", 24, 55, 84, "male", "L2RaidBoss", 40, 937564.609209, 21812, 240.220218, 500, 60, 57, 73, 76, 70, 80, 6653170, 900069, 11094.68934, 1428.96385, 1192.885, 576.114, 253, 4, 333, 8214, 0, 0, 60, 120, 0, 1), (25702, 25702, "Guard of the Grail", 0, "", 0, "LineageMonster.will_o_wisp", 13, 22, 84, "male", "L2Monster", 40, 4039.042705, 1812, 8.5, 3, 40, 43, 30, 21, 20, 20, 0, 0, 1144.7313, 357.86723, 781.70308, 261.87171, 253, 1, 333, 0, 0, 0, 25, 140, 0, 1), (25703, 25703, "Gigantic Golem", 0, "Chaos", 0, "LineageMonster3.chaos_golem", 31, 51.8, 76, "male", "L2RaidBoss", 40, 402092.518544, 15408, 172.748302, 300, 60, 57, 73, 76, 70, 80, 3429147, 530149, 9037.41875, 971.35365, 896.94605, 473.86, 253, 1, 333, 0, 0, 0, 18, 190, 0, 1), (25704, 25704, "Gigantic Golem Subordinate", 0, "Chaos", 0, "LineageMonster3.golem_guardian", 18, 41.5, 75, "male", "L2Monster", 40, 4604.887488, 1507.8, 62.396849, 3, 40, 43, 30, 21, 20, 20, 0, 0, 2372.40161, 1277, 907.28194, 467.22, 253, 4, 333, 0, 0, 0, 53, 200, 0, 1), diff --git a/L2J_DataPack_BETA/dist/sql/game/updates/20130831update.sql b/L2J_DataPack_BETA/dist/sql/game/updates/20130831update.sql new file mode 100644 index 0000000000000000000000000000000000000000..a620060c6df52240f9ee1654edc837e42d2598de --- /dev/null +++ b/L2J_DataPack_BETA/dist/sql/game/updates/20130831update.sql @@ -0,0 +1,4 @@ +UPDATE character_quests SET name='Q00106_ForgottenTruth' WHERE name='106_ForgottenTruth'; +UPDATE character_quests SET name='Q00316_DestroyPlagueCarriers' WHERE name='316_DestroyPlaguebringers'; +UPDATE character_quests SET name='Q00317_CatchTheWind' WHERE name='317_CatchTheWind'; +UPDATE character_quests SET name='Q00320_BonesTellTheFuture' WHERE name='320_BonesTellFuture'; \ No newline at end of file