From a9104269c60ed3c20f3eb592a129b8577db90964 Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Sun, 1 Sep 2013 01:34:24 +0000 Subject: [PATCH] BETA: Quests in Java: * Forgotten Truth (106) * Patch by: janiko * Reviewed by: xban1x, jurchiks, Zoey76 * Tested by: Zoey76 * Destroy Plague Carriers (316) * Patch by: ivantotov * Reviewed by: jurchiks, Zoey76 * Tested by: ivantotov, Zoey76 * Catch the Wind (317) * Patch by: ivantotov * Reviewed by: jurchiks, Zoey76 * Tested by: ivantotov, Zoey76 * Bones Tell the Future (320) * Patch by: ivantotov * Reviewed by: jurchiks, Zoey76 * Tested by: ivantotov, Zoey76 * Reclaim Our Era (902) * Patch by: netvirus * Reviewed by: UnAfraid, xban1x, jurchiks, Zoey76 * Tested by: Konstantinos, Zoey76 --- .../html/admin/teleports/raid/raid_80.htm | 2 +- .../dist/game/data/html/guard/31340.htm | 1 + .../dist/game/data/multisell/313400001.xml | 66 +++++ L2J_DataPack_BETA/dist/game/data/scripts.cfg | 9 +- .../quests/106_ForgottenTruth/30358-06.htm | 3 - .../quests/106_ForgottenTruth/__init__.py | 140 ---------- .../316_DestroyPlaguebringers/30155-05.htm | 4 - .../316_DestroyPlaguebringers/__init__.py | 86 ------ .../quests/317_CatchTheWind/30361-05.htm | 5 - .../quests/317_CatchTheWind/__init__.py | 73 ----- .../quests/320_BonesTellFuture/__init__.py | 75 ------ .../30133-01.html} | 4 +- .../30133-02.html} | 2 +- .../30133-03.html} | 4 +- .../30133-04.html} | 0 .../30358-01.htm} | 0 .../30358-02.htm | 0 .../30358-03.htm | 6 +- .../30358-04.htm | 6 +- .../30358-05.htm | 2 +- .../Q00106_ForgottenTruth/30358-06.html | 3 + .../30358-07.html} | 4 +- .../Q00106_ForgottenTruth.java | 225 ++++++++++++++++ .../30155-00.htm | 3 +- .../30155-02.htm | 3 +- .../30155-03.htm | 2 +- .../30155-04.htm | 5 +- .../30155-05.html | 5 + .../30155-07.html} | 4 +- .../30155-08.html} | 0 .../30155-09.html} | 0 .../Q00316_DestroyPlagueCarriers.java | 174 ++++++++++++ .../30361-02.htm | 7 +- .../30361-03.htm | 8 +- .../30361-04.htm | 4 +- .../quests/Q00317_CatchTheWind/30361-05.html | 5 + .../30361-07.html} | 4 +- .../30361-08.html} | 3 +- .../30361-09.html} | 0 .../Q00317_CatchTheWind.java | 139 ++++++++++ .../30359-00.htm | 0 .../30359-02.htm | 0 .../30359-03.htm | 4 +- .../30359-04.htm | 4 +- .../30359-05.html} | 2 +- .../30359-06.html} | 0 .../Q00320_BonesTellTheFuture.java | 120 +++++++++ .../quests/Q00902_ReclaimOurEra/31340-01.htm | 5 + .../quests/Q00902_ReclaimOurEra/31340-02.htm | 5 + .../quests/Q00902_ReclaimOurEra/31340-03.htm | 4 + .../quests/Q00902_ReclaimOurEra/31340-04.htm | 6 + .../quests/Q00902_ReclaimOurEra/31340-05.html | 7 + .../quests/Q00902_ReclaimOurEra/31340-06.html | 4 + .../quests/Q00902_ReclaimOurEra/31340-07.html | 3 + .../quests/Q00902_ReclaimOurEra/31340-08.html | 3 + .../quests/Q00902_ReclaimOurEra/31340-09.html | 6 + .../quests/Q00902_ReclaimOurEra/31340-10.html | 7 + .../quests/Q00902_ReclaimOurEra/31340-11.html | 3 + .../quests/Q00902_ReclaimOurEra/31340-12.html | 3 + .../quests/Q00902_ReclaimOurEra/31340-13.html | 3 + .../quests/Q00902_ReclaimOurEra/31340-14.html | 3 + .../Q00902_ReclaimOurEra.java | 251 ++++++++++++++++++ L2J_DataPack_BETA/dist/sql/game/npc.sql | 2 +- .../dist/sql/game/updates/20130831update.sql | 4 + 64 files changed, 1105 insertions(+), 430 deletions(-) create mode 100644 L2J_DataPack_BETA/dist/game/data/multisell/313400001.xml delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/30358-06.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/106_ForgottenTruth/__init__.py delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/30155-05.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/316_DestroyPlaguebringers/__init__.py delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/30361-05.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/317_CatchTheWind/__init__.py delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/320_BonesTellFuture/__init__.py rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{106_ForgottenTruth/30133-01.htm => Q00106_ForgottenTruth/30133-01.html} (65%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{106_ForgottenTruth/30133-02.htm => Q00106_ForgottenTruth/30133-02.html} (58%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{106_ForgottenTruth/30133-03.htm => Q00106_ForgottenTruth/30133-03.html} (80%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{106_ForgottenTruth/30133-04.htm => Q00106_ForgottenTruth/30133-04.html} (100%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{106_ForgottenTruth/30358-00.htm => Q00106_ForgottenTruth/30358-01.htm} (100%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{106_ForgottenTruth => Q00106_ForgottenTruth}/30358-02.htm (100%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{106_ForgottenTruth => Q00106_ForgottenTruth}/30358-03.htm (83%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{106_ForgottenTruth => Q00106_ForgottenTruth}/30358-04.htm (62%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{106_ForgottenTruth => Q00106_ForgottenTruth}/30358-05.htm (54%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/30358-06.html rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{106_ForgottenTruth/30358-07.htm => Q00106_ForgottenTruth/30358-07.html} (60%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{316_DestroyPlaguebringers => Q00316_DestroyPlagueCarriers}/30155-00.htm (92%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{316_DestroyPlaguebringers => Q00316_DestroyPlagueCarriers}/30155-02.htm (92%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{316_DestroyPlaguebringers => Q00316_DestroyPlagueCarriers}/30155-03.htm (87%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{316_DestroyPlaguebringers => Q00316_DestroyPlagueCarriers}/30155-04.htm (60%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/30155-05.html rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{316_DestroyPlaguebringers/30155-07.htm => Q00316_DestroyPlagueCarriers/30155-07.html} (64%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{316_DestroyPlaguebringers/30155-08.htm => Q00316_DestroyPlagueCarriers/30155-08.html} (100%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{316_DestroyPlaguebringers/30155-09.htm => Q00316_DestroyPlagueCarriers/30155-09.html} (100%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00316_DestroyPlagueCarriers/Q00316_DestroyPlagueCarriers.java rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{317_CatchTheWind => Q00317_CatchTheWind}/30361-02.htm (52%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{317_CatchTheWind => Q00317_CatchTheWind}/30361-03.htm (81%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{317_CatchTheWind => Q00317_CatchTheWind}/30361-04.htm (55%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/30361-05.html rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{317_CatchTheWind/30361-07.htm => Q00317_CatchTheWind/30361-07.html} (60%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{317_CatchTheWind/30361-08.htm => Q00317_CatchTheWind/30361-08.html} (89%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{317_CatchTheWind/30361-09.htm => Q00317_CatchTheWind/30361-09.html} (100%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00317_CatchTheWind/Q00317_CatchTheWind.java rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{320_BonesTellFuture => Q00320_BonesTellTheFuture}/30359-00.htm (100%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{320_BonesTellFuture => Q00320_BonesTellTheFuture}/30359-02.htm (100%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{320_BonesTellFuture => Q00320_BonesTellTheFuture}/30359-03.htm (80%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{320_BonesTellFuture => Q00320_BonesTellTheFuture}/30359-04.htm (61%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{320_BonesTellFuture/30359-05.htm => Q00320_BonesTellTheFuture/30359-05.html} (61%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{320_BonesTellFuture/30359-06.htm => Q00320_BonesTellTheFuture/30359-06.html} (100%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-01.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-02.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-03.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-04.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-05.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-06.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-07.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-08.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-09.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-10.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-11.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-12.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-13.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/31340-14.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java create mode 100644 L2J_DataPack_BETA/dist/sql/game/updates/20130831update.sql 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 4086450f58..e8cdcb24b0 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 f78206c4fa..cefb2bba55 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 0000000000..c33b666aa0 --- /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 24fbcf8ae7..30b8bbb8d8 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 a13ce09454..0000000000 --- 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 522fab6d12..0000000000 --- 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 69e04b3d16..0000000000 --- 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 f35f090bbe..0000000000 --- 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 b89088b73f..0000000000 --- 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 ef9d755204..0000000000 --- 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 d4dcada355..0000000000 --- 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 0dbc2a2648..dddb83b64c 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 3d4ac9ae10..49fc0d20ce 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 87b6b1798d..da7c61ea8b 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 7e9ca63f89..1dad17657c 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 e58498acfc..639925ddc9 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 103bf0c57e..8fc927c36b 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 0000000000..3e7160131f --- /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 7181572e9f..eaa19cbde9 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 0000000000..4111ac1fa7 --- /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 ecea5fdfb4..e2e56fdc2e 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 770db2e85e..b26dd56ef2 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 acbda24eb4..6c2d1f9b29 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 fd2c7280cb..42a325fc1e 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 0000000000..3bdb0eef1c --- /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 0c44ab056c..d92f83361b 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 0000000000..35597f144b --- /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 01d1ad2607..2a2327990d 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 aa6aeb29ac..a4ed276b19 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 2487d818dd..87db367d3f 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 0000000000..111093da4d --- /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 e0737936da..6881dde391 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 2c347faf7f..59ef753d76 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 0000000000..58e6730773 --- /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 cc73f9a76e..7fac9b0a2c 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 a2861eaf49..968b410c97 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 6548a4e5ce..13187cbe99 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 0000000000..0762590996 --- /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 0000000000..7480ba0ed9 --- /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 0000000000..9042bba2b5 --- /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 0000000000..2f0bf34577 --- /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 0000000000..d9f36b6a0c --- /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 0000000000..ce364f1b1b --- /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 0000000000..7756197441 --- /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 0000000000..78ac221cda --- /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 0000000000..d4ea67d967 --- /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 0000000000..9b069381ab --- /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 0000000000..7dfe032c7c --- /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 0000000000..795778aa3a --- /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 0000000000..48e3706926 --- /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 0000000000..d05700a7e1 --- /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 0000000000..895671a7ef --- /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 0000000000..92109db4a7 --- /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 922e5c5937..3eca196880 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 0000000000..a620060c6d --- /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 -- GitLab