From ed5b5d99ebfd815edc1aaf1c7849a031a65c14ed Mon Sep 17 00:00:00 2001 From: Adry_85 <Adrya85@hotmail.it> Date: Thu, 23 Jan 2014 15:28:40 +0000 Subject: [PATCH] BETA: Missing quest '''Seven Signs, Seal of the Emperor''' (196). '''Note:''' Epilogue feature. Reviewed by: lion, Nos, St3eT, !UnAfraid, Zoey76 Tested by: Adry_85, St3eT Thanks to: Gnacik, lion, St3eT, Zoey76 --- .../dist/game/data/html/default/32585.htm | 2 +- .../instances/DisciplesNecropolisPast.xml | 83 +++ L2J_DataPack_BETA/dist/game/data/scripts.cfg | 4 +- .../DisciplesNecropolisPast/32586.htm | 5 + .../DisciplesNecropolisPast/32587-01.html | 3 + .../DisciplesNecropolisPast/32587.htm | 4 + .../DisciplesNecropolisPast/32657.htm | 4 + .../DisciplesNecropolisPast.java | 525 ++++++++++++++++++ .../Q00192_SevenSignsSeriesOfDoubt.java | 18 +- .../Q00193_SevenSignsDyingMessage.java | 21 +- .../Q00194_SevenSignsMammonsContract.java | 17 +- ...95_SevenSignsSecretRitualOfThePriests.java | 158 +++--- .../30969-01.htm | 4 + .../30969-02.htm | 4 + .../30969-03.htm | 4 + .../30969-04.htm | 4 + .../30969-05.html | 4 + .../30969-06.html | 3 + .../30969-07.html | 3 + .../30969-08.html | 3 + .../30969-09.html | 4 + .../30969-10.html | 3 + .../30969-11.html | 3 + .../30969-12.html | 4 + .../30969-13.html | 4 + .../30969-14.html | 3 + .../30969-15.html | 3 + .../32584-01.html | 4 + .../32584-02.html | 4 + .../32584-03.html | 4 + .../32584-04.html | 4 + .../32584-05.html | 3 + .../32584-06.html | 3 + .../32584.htm | 4 + .../32586-01.html | 4 + .../32586-02.html | 4 + .../32586-03.html | 5 + .../32586-04.html | 4 + .../32586-05.html | 3 + .../32586-06.html | 4 + .../32586-07.html | 3 + .../32586-08.html | 3 + .../32586-09.html | 3 + .../32586-10.html | 4 + .../32586-11.html | 4 + .../32586-12.html | 4 + .../32586-13.html | 4 + .../32586-14.html | 3 + .../32586-15.html | 3 + .../32593-01.html | 4 + .../32593-02.html | 3 + .../32598-01.html | 4 + .../32598-02.html | 3 + .../32598-03.html | 3 + .../Q00196_SevenSignsSealOfTheEmperor.java | 379 +++++++++++++ .../level_check.html | 2 + .../Q00197_SevenSignsTheSacredBookOfSeal.java | 36 +- .../Q00198_SevenSignsEmbryo.java | 30 +- .../game/data/stats/skills/05900-05999.xml | 15 +- L2J_DataPack_BETA/dist/sql/game/npcaidata.sql | 32 +- 60 files changed, 1308 insertions(+), 181 deletions(-) create mode 100644 L2J_DataPack_BETA/dist/game/data/instances/DisciplesNecropolisPast.xml create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32586.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32587-01.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32587.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32657.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-01.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-02.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-03.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-04.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-05.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-06.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-07.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-08.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-09.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-10.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-11.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-12.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-13.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-14.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-15.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-01.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-02.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-03.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-04.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-05.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-06.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584.htm create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-01.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-02.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-03.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-04.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-05.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-06.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-07.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-08.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-09.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-10.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-11.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-12.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-13.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-14.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-15.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32593-01.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32593-02.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-01.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-02.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-03.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/Q00196_SevenSignsSealOfTheEmperor.java create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/level_check.html diff --git a/L2J_DataPack_BETA/dist/game/data/html/default/32585.htm b/L2J_DataPack_BETA/dist/game/data/html/default/32585.htm index 127cb4d1f3..a73456184a 100644 --- a/L2J_DataPack_BETA/dist/game/data/html/default/32585.htm +++ b/L2J_DataPack_BETA/dist/game/data/html/default/32585.htm @@ -1,5 +1,5 @@ <html><body>Teleporter Mammon's Promise:<br> The Promise of Mammon must be kept, even over the vastness of time and space.<br> If you have permission from the Merchant of Mammon, you can use this device to teleport yourself. Do you wish to do so now?<br> -<a action="bypass -h npc_%objectId%_Quest">Teleport</a> +<a action="bypass -h npc_%objectId%_Quest DisciplesNecropolisPast">Teleport</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/instances/DisciplesNecropolisPast.xml b/L2J_DataPack_BETA/dist/game/data/instances/DisciplesNecropolisPast.xml new file mode 100644 index 0000000000..b6290bae71 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/instances/DisciplesNecropolisPast.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<instance name="DisciplesNecropolisPast" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd"> + <activityTime val="60" /> + <allowSummon val="false" /> + <emptyDestroyTime val="900" /> + <spawnPoint spawnX="171895" spawnY="-17501" spawnZ="-4903" /> + <doorlist> + <door doorId="17240101" /> + <door doorId="17240102" /> + <door doorId="17240103" /> + <door doorId="17240104" /> + <door doorId="17240105" /> + <door doorId="17240106" /> + <door doorId="17240107" /> + <door doorId="17240108" /> + <door doorId="17240109" /> + <door doorId="17240110" /> + <door doorId="17240111" /> + </doorlist> + <spawnlist> + <group name="general"> + <!-- Leon --> + <spawn npcId="32587" x="-89400" y="216125" z="-7504" heading="40960" respawn="0" /> + <!-- Shunaiman --> + <spawn npcId="32586" x="-89456" y="216184" z="-7504" heading="40960" respawn="0" /> + <!-- Court Magician --> + <spawn npcId="32598" x="-89549" y="220640" z="-7504" heading="0" respawn="0" /> + <spawn npcId="32598" x="-84944" y="220640" z="-7504" heading="0" respawn="0" /> + <!-- Disciple's Gatekeeper --> + <spawn npcId="32657" x="-84398" y="216106" z="-7504" heading="32768" respawn="0" /> + <!-- Seal Device --> + <spawn npcId="27384" x="-83177" y="217353" z="-7520" heading="32768" respawn="0" allowRandomWalk="false" /> + <spawn npcId="27384" x="-83177" y="216137" z="-7520" heading="32768" respawn="0" allowRandomWalk="false" /> + <spawn npcId="27384" x="-82588" y="216754" z="-7520" heading="32768" respawn="0" allowRandomWalk="false" /> + <spawn npcId="27384" x="-83804" y="216754" z="-7520" heading="32768" respawn="0" allowRandomWalk="false" /> + <!-- First Room --> + <spawn npcId="27371" x="-89629" y="217918" z="-7490" heading="1722" respawn="0" /> + <spawn npcId="27372" x="-89442" y="217915" z="-7493" heading="47429" respawn="0" /> + <spawn npcId="27373" x="-89067" y="217917" z="-7490" heading="32333" respawn="0" /> + <spawn npcId="27374" x="-88839" y="217920" z="-7490" heading="31924" respawn="0" /> + <!-- Second Room --> + <spawn npcId="27371" x="-88599" y="220762" z="-7490" heading="48815" respawn="0" /> + <spawn npcId="27373" x="-88605" y="220581" z="-7490" heading="34065" respawn="0" /> + <spawn npcId="27374" x="-88848" y="220389" z="-7492" heading="14325" respawn="0" /> + <spawn npcId="27372" x="-88594" y="220295" z="-7490" heading="14903" respawn="0" /> + <spawn npcId="27373" x="-88603" y="220095" z="-7490" heading="15086" respawn="0" /> + <spawn npcId="27371" x="-88597" y="219798" z="-7490" heading="16126" respawn="0" /> + <!-- Third Room --> + <spawn npcId="27373" x="-86945" y="220374" z="-7492" heading="31385" respawn="0" /> + <spawn npcId="27373" x="-86813" y="220636" z="-7490" heading="32663" respawn="0" /> + <spawn npcId="27374" x="-86613" y="220634" z="-7490" heading="32263" respawn="0" /> + <spawn npcId="27374" x="-87060" y="220498" z="-7492" heading="32767" respawn="0" /> + <spawn npcId="27371" x="-87317" y="220628" z="-7490" heading="45514" respawn="0" /> + <spawn npcId="27372" x="-87169" y="220637" z="-7490" heading="32708" respawn="0" /> + <spawn npcId="27371" x="-87745" y="220638" z="-7493" heading="65287" respawn="0" /> + <spawn npcId="27372" x="-87721" y="220786" z="-7492" heading="58176" respawn="0" /> + <!-- Forth Room --> + <spawn npcId="27373" x="-84991" y="219061" z="-7492" heading="16756" respawn="0" /> + <spawn npcId="27378" x="-85333" y="219246" z="-7490" heading="737" respawn="0" /> + <spawn npcId="27371" x="-85060" y="219232" z="-7493" heading="8191" respawn="0" /> + <spawn npcId="27374" x="-85155" y="219436" z="-7492" heading="64692" respawn="0" /> + <spawn npcId="27379" x="-85222" y="219269" z="-7490" heading="4482" respawn="0" /> + <spawn npcId="27372" x="-84858" y="219316" z="-7490" heading="17459" respawn="0" /> + <spawn npcId="27374" x="-85280" y="219066" z="-7492" heading="4934" respawn="0" /> + <spawn npcId="27377" x="-85547" y="219301" z="-7490" heading="65359" respawn="0" /> + <spawn npcId="27373" x="-85635" y="219137" z="-7490" heading="1369" respawn="0" /> + <spawn npcId="27375" x="-85557" y="219108" z="-7492" heading="65238" respawn="0" /> + <!-- Fifth Room --> + <spawn npcId="27379" x="-87437" y="216648" z="-7490" heading="15955" respawn="0" /> + <spawn npcId="27377" x="-87544" y="216970" z="-7495" heading="11485" respawn="0" /> + <spawn npcId="27375" x="-87286" y="217005" z="-7495" heading="8578" respawn="0" /> + <spawn npcId="27378" x="-87459" y="217163" z="-7490" heading="9569" respawn="0" /> + <spawn npcId="27377" x="-87347" y="217384" z="-7490" heading="2091" respawn="0" /> + <spawn npcId="27375" x="-87534" y="217346" z="-7490" heading="64433" respawn="0" /> + <spawn npcId="27379" x="-87701" y="217469" z="-7495" heading="1835" respawn="0" /> + <spawn npcId="27372" x="-87457" y="217731" z="-7490" heading="48371" respawn="0" /> + <spawn npcId="27378" x="-87445" y="217486" z="-7490" heading="51622" respawn="0" /> + <spawn npcId="27371" x="-87651" y="217697" z="-7492" heading="54262" respawn="0" /> + <spawn npcId="27373" x="-87563" y="217952" z="-7492" heading="50734" respawn="0" /> + <spawn npcId="27374" x="-87276" y="217878" z="-7492" heading="46304" respawn="0" /> + </group> + </spawnlist> +</instance> \ 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 b686b9da77..241d9207fa 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts.cfg +++ b/L2J_DataPack_BETA/dist/game/data/scripts.cfg @@ -183,7 +183,7 @@ instances/ChambersOfDelusion/ChamberOfDelusionTower.java instances/CrystalCaverns/CrystalCaverns.java instances/DarkCloudMansion/DarkCloudMansion.java instances/DemonPrinceFloor/DemonPrinceFloor.java -#instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java +instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java instances/FinalEmperialTomb/FinalEmperialTomb.java instances/HellboundTown/HellboundTown.java instances/HideoutOfTheDawn/HideoutOfTheDawn.java @@ -371,7 +371,7 @@ quests/Q00192_SevenSignsSeriesOfDoubt/Q00192_SevenSignsSeriesOfDoubt.java quests/Q00193_SevenSignsDyingMessage/Q00193_SevenSignsDyingMessage.java quests/Q00194_SevenSignsMammonsContract/Q00194_SevenSignsMammonsContract.java quests/Q00195_SevenSignsSecretRitualOfThePriests/Q00195_SevenSignsSecretRitualOfThePriests.java -#quests/Q00196_SevenSignsSealOfTheEmperor/Q00196_SevenSignsSealOfTheEmperor.java +quests/Q00196_SevenSignsSealOfTheEmperor/Q00196_SevenSignsSealOfTheEmperor.java quests/Q00197_SevenSignsTheSacredBookOfSeal/Q00197_SevenSignsTheSacredBookOfSeal.java quests/Q00198_SevenSignsEmbryo/Q00198_SevenSignsEmbryo.java quests/211_TrialOfChallenger/__init__.py diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32586.htm b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32586.htm new file mode 100644 index 0000000000..e96df8b4fa --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32586.htm @@ -0,0 +1,5 @@ +<html><body>Emperor Shunaiman:<br> +Shilen's forces gain ground with each passing day.<br> +We were stumbling backwards, but now... now I am staring down into a great chasm. What am I to do?<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/scripts/instances/DisciplesNecropolisPast/32587-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32587-01.html new file mode 100644 index 0000000000..fd2c390bf6 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32587-01.html @@ -0,0 +1,3 @@ +<html><body>Emperor's Guard Leon:<br> +Thank you saving Emperor Shunaiman from this crisis! <br>May the blessin's of Einhasad always go with you. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32587.htm b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32587.htm new file mode 100644 index 0000000000..bcfe0177f1 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32587.htm @@ -0,0 +1,4 @@ +<html><body>Emperor's Guard Leon:<br> +Einhasad's blessin's, friend!<br>S'not everyone who gets to go time-travelin' to go and save the old Emperor, eh? Must be made of tougher stuff than us lot... probably the food.<br>Anyways, I understand you're lookin' to get back to your time?<br> +<a action="bypass -h npc_%objectId%_Quest DisciplesNecropolisPast">"That's right."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32657.htm b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32657.htm new file mode 100644 index 0000000000..73bf98dc63 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/32657.htm @@ -0,0 +1,4 @@ +<html><body>Disciple's Gatekeeper:<br> +You are now at the place where Shunaiman Emperor's Seal Device is installed. You hear the sounds of Anakim and Lilith grappling violently from within.<br> +<a action="bypass -h npc_%objectId%_Quest DisciplesNecropolisPast">Open the door.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java new file mode 100644 index 0000000000..ed51923c2d --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java @@ -0,0 +1,525 @@ +/* + * 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 instances.DisciplesNecropolisPast; + +import java.util.HashMap; +import java.util.Map; + +import javolution.util.FastList; +import quests.Q00196_SevenSignsSealOfTheEmperor.Q00196_SevenSignsSealOfTheEmperor; + +import com.l2jserver.gameserver.instancemanager.InstanceManager; +import com.l2jserver.gameserver.model.Location; +import com.l2jserver.gameserver.model.actor.L2Character; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.holders.SkillHolder; +import com.l2jserver.gameserver.model.instancezone.InstanceWorld; +import com.l2jserver.gameserver.model.quest.Quest; +import com.l2jserver.gameserver.model.quest.QuestState; +import com.l2jserver.gameserver.network.NpcStringId; +import com.l2jserver.gameserver.network.SystemMessageId; +import com.l2jserver.gameserver.network.clientpackets.Say2; +import com.l2jserver.gameserver.network.serverpackets.NpcSay; +import com.l2jserver.gameserver.util.Util; + +/** + * Disciple's Necropolis Past instance zone. + * @author Adry_85 + */ +public final class DisciplesNecropolisPast extends Quest +{ + protected class DNPWorld extends InstanceWorld + { + protected final FastList<L2Npc> anakimGroup = new FastList<>(); + protected final FastList<L2Npc> lilithGroup = new FastList<>(); + protected long storeTime = 0; + protected int countKill = 0; + } + + // Instance + private static final int INSTANCEID = 112; + // NPCs + private static final int SEAL_DEVICE = 27384; + private static final int PROMISE_OF_MAMMON = 32585; + private static final int SHUNAIMAN = 32586; + private static final int LEON = 32587; + private static final int DISCIPLES_GATEKEEPER = 32657; + private static final int LILITH = 32715; + private static final int LILITHS_STEWARD = 32716; + private static final int LILITHS_ELITE = 32717; + private static final int ANAKIM = 32718; + private static final int ANAKIMS_GUARDIAN = 32719; + private static final int ANAKIMS_GUARD = 32720; + private static final int ANAKIMS_EXECUTOR = 32721; + // Doors + private static final int DOOR_1 = 17240102; + private static final int DOOR_2 = 17240104; + private static final int DOOR_3 = 17240106; + private static final int DOOR_4 = 17240108; + private static final int DOOR_5 = 17240110; + private static final int DISCIPLES_NECROPOLIS_DOOR = 17240111; + // Items + private static final int SACRED_SWORD_OF_EINHASAD = 15310; + private static final int SEAL_OF_BINDING = 13846; + // Locations + private static final Location ENTER = new Location(-89554, 216078, -7488, 0, 0); + private static final Location EXIT = new Location(171895, -17501, -4903, 0, 0); + // Monsters + private static final int LILIM_BUTCHER = 27371; + private static final int LILIM_MAGUS = 27372; + private static final int LILIM_KNIGHT_ERRANT = 27373; + private static final int SHILENS_EVIL_THOUGHTS1 = 27374; + private static final int SHILENS_EVIL_THOUGHTS2 = 27375; + private static final int LILIM_KNIGHT = 27376; + private static final int LILIM_SLAYER = 27377; + private static final int LILIM_GREAT_MAGUS = 27378; + private static final int LILIM_GUARD_KNIGHT = 27379; + // NpcStringId + private static final NpcStringId[] LILITH_SHOUT = + { + NpcStringId.HOW_DARE_YOU_TRY_TO_CONTEND_AGAINST_ME_IN_STRENGTH_RIDICULOUS, + NpcStringId.ANAKIM_IN_THE_NAME_OF_GREAT_SHILIEN_I_WILL_CUT_YOUR_THROAT, + NpcStringId.YOU_CANNOT_BE_THE_MATCH_OF_LILITH_ILL_TEACH_YOU_A_LESSON + }; + + // Bosses Spawn + private static final Map<Integer, Location> LILITH_SPAWN = new HashMap<>(); + private static final Map<Integer, Location> ANAKIM_SPAWN = new HashMap<>(); + static + { + LILITH_SPAWN.put(LILITH, new Location(-83175, 217021, -7504, 49151)); + LILITH_SPAWN.put(LILITHS_STEWARD, new Location(-83327, 216938, -7492, 50768)); + LILITH_SPAWN.put(LILITHS_ELITE, new Location(-83003, 216909, -7492, 4827)); + ANAKIM_SPAWN.put(ANAKIM, new Location(-83179, 216479, -7504, 16384)); + ANAKIM_SPAWN.put(ANAKIMS_GUARDIAN, new Location(-83321, 216507, -7492, 16166)); + ANAKIM_SPAWN.put(ANAKIMS_GUARD, new Location(-83086, 216519, -7495, 15910)); + ANAKIM_SPAWN.put(ANAKIMS_EXECUTOR, new Location(-83031, 216604, -7492, 17071)); + } + + // Skills + private static final SkillHolder SEAL_ISOLATION = new SkillHolder(5980, 3); + private static final Map<Integer, SkillHolder> SKILLS = new HashMap<>(); + static + { + SKILLS.put(32715, new SkillHolder(6187, 1)); // Presentation - Lilith Battle + SKILLS.put(32716, new SkillHolder(6188, 1)); // Presentation - Lilith's Steward Battle1 + SKILLS.put(32717, new SkillHolder(6190, 1)); // Presentation - Lilith's Bodyguards Battle1 + SKILLS.put(32718, new SkillHolder(6191, 1)); // Presentation - Anakim Battle + SKILLS.put(32719, new SkillHolder(6192, 1)); // Presentation - Anakim's Guardian Battle1 + SKILLS.put(32720, new SkillHolder(6194, 1)); // Presentation - Anakim's Guard Battle + SKILLS.put(32721, new SkillHolder(6195, 1)); // Presentation - Anakim's Executor Battle + } + + private DisciplesNecropolisPast() + { + super(-1, DisciplesNecropolisPast.class.getSimpleName(), "instances"); + addAttackId(SEAL_DEVICE); + addFirstTalkId(SHUNAIMAN, LEON, DISCIPLES_GATEKEEPER); + addKillId(LILIM_BUTCHER, LILIM_MAGUS, LILIM_KNIGHT_ERRANT, LILIM_KNIGHT, SHILENS_EVIL_THOUGHTS1, SHILENS_EVIL_THOUGHTS2, LILIM_SLAYER, LILIM_GREAT_MAGUS, LILIM_GUARD_KNIGHT); + addAggroRangeEnterId(LILIM_BUTCHER, LILIM_MAGUS, LILIM_KNIGHT_ERRANT, LILIM_KNIGHT, SHILENS_EVIL_THOUGHTS1, SHILENS_EVIL_THOUGHTS2, LILIM_SLAYER, LILIM_GREAT_MAGUS, LILIM_GUARD_KNIGHT); + addSpawnId(SEAL_DEVICE); + addStartNpc(PROMISE_OF_MAMMON); + addTalkId(PROMISE_OF_MAMMON, SHUNAIMAN, LEON, DISCIPLES_GATEKEEPER); + } + + protected void spawnNPC(DNPWorld world) + { + for (Map.Entry<Integer, Location> entry : LILITH_SPAWN.entrySet()) + { + L2Npc npc = addSpawn(entry.getKey(), entry.getValue(), false, 0, false, world.getInstanceId()); + world.lilithGroup.add(npc); + } + for (Map.Entry<Integer, Location> entry : ANAKIM_SPAWN.entrySet()) + { + L2Npc enpc = addSpawn(entry.getKey(), entry.getValue(), false, 0, false, world.getInstanceId()); + world.anakimGroup.add(enpc); + } + } + + private synchronized void checkDoors(L2Npc npc, DNPWorld world) + { + if (world.countKill == 4) + { + openDoor(DOOR_1, world.getInstanceId()); + } + else if (world.countKill == 10) + { + openDoor(DOOR_2, world.getInstanceId()); + } + else if (world.countKill == 18) + { + openDoor(DOOR_3, world.getInstanceId()); + } + else if (world.countKill == 28) + { + openDoor(DOOR_4, world.getInstanceId()); + } + else if (world.countKill == 40) + { + openDoor(DOOR_5, world.getInstanceId()); + } + } + + protected int enterInstance(L2PcInstance player, String template, Location loc) + { + // check for existing instances for this player + InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player); + // existing instance + if (world != null) + { + if (!(world instanceof DNPWorld)) + { + player.sendPacket(SystemMessageId.ALREADY_ENTERED_ANOTHER_INSTANCE_CANT_ENTER); + return 0; + } + teleportPlayer(player, loc, world.getInstanceId()); + removeBuffs(player); + return world.getInstanceId(); + } + // New instance + world = new DNPWorld(); + world.setInstanceId(InstanceManager.getInstance().createDynamicInstance(template)); + world.setTemplateId(INSTANCEID); + world.setStatus(0); + ((DNPWorld) world).storeTime = System.currentTimeMillis(); + InstanceManager.getInstance().addWorld(world); + _log.info("Disciple's Necropolis Past started " + template + " Instance: " + world.getInstanceId() + " created by player: " + player.getName()); + // teleport players + teleportPlayer(player, loc, world.getInstanceId()); + spawnNPC((DNPWorld) world); + world.addAllowed(player.getObjectId()); + return world.getInstanceId(); + } + + private void makeCast(L2Npc npc, FastList<L2Npc> targets) + { + npc.setTarget(targets.get(getRandom(targets.size()))); + if (SKILLS.containsKey(npc.getId())) + { + npc.doCast(SKILLS.get(npc.getId()).getSkill()); + } + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + InstanceWorld tmpworld = InstanceManager.getInstance().getPlayerWorld(player); + if (tmpworld instanceof DNPWorld) + { + DNPWorld world = (DNPWorld) tmpworld; + switch (event) + { + case "FINISH": + { + if (getQuestItemsCount(player, SEAL_OF_BINDING) >= 4) + { + player.showQuestMovie(13); + startQuestTimer("TELEPORT", 27000, null, player); + } + break; + } + case "TELEPORT": + { + player.teleToLocation(ENTER, 0); + break; + } + case "FIGHT": + { + for (L2Npc caster : world.anakimGroup) + { + if ((caster != null) && !caster.isCastingNow()) + { + makeCast(caster, world.lilithGroup); + } + if ((caster != null) && (caster.getId() == ANAKIM)) + { + if (caster.isScriptValue(0)) + { + caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), NpcStringId.YOU_SUCH_A_FOOL_THE_VICTORY_OVER_THIS_WAR_BELONGS_TO_SHILIEN)); + caster.setScriptValue(1); + } + else if (getRandom(100) < 10) + { + caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), LILITH_SHOUT[getRandom(3)])); + } + } + } + for (L2Npc caster : world.lilithGroup) + { + if ((caster != null) && !caster.isCastingNow()) + { + makeCast(caster, world.anakimGroup); + } + if ((caster != null) && (caster.getId() == 32715)) + { + if (caster.isScriptValue(0)) + { + caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), NpcStringId.FOR_THE_ETERNITY_OF_EINHASAD)); + if (Util.checkIfInRange(2000, caster, player, true)) + { + player.sendPacket(new NpcSay(caster.getObjectId(), Say2.TELL, caster.getId(), NpcStringId.MY_POWERS_WEAKENING_HURRY_AND_TURN_ON_THE_SEALING_DEVICE)); + } + caster.setScriptValue(1); + } + else if (getRandom(100) < 10) + { + switch (getRandom(3)) + { + case 0: + { + caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), NpcStringId.DEAR_SHILLIENS_OFFSPRINGS_YOU_ARE_NOT_CAPABLE_OF_CONFRONTING_US)); + if (Util.checkIfInRange(2000, caster, player, true)) + { + player.sendPacket(new NpcSay(caster.getObjectId(), Say2.TELL, caster.getId(), NpcStringId.ALL_4_SEALING_DEVICES_MUST_BE_TURNED_ON)); + } + break; + } + case 1: + { + caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), NpcStringId.ILL_SHOW_YOU_THE_REAL_POWER_OF_EINHASAD)); + if (Util.checkIfInRange(2000, caster, player, true)) + { + player.sendPacket(new NpcSay(caster.getObjectId(), Say2.TELL, caster.getId(), NpcStringId.LILITHS_ATTACK_IS_GETTING_STRONGER_GO_AHEAD_AND_TURN_IT_ON)); + } + break; + } + case 2: + { + caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), NpcStringId.DEAR_MILITARY_FORCE_OF_LIGHT_GO_DESTROY_THE_OFFSPRINGS_OF_SHILLIEN)); + if (Util.checkIfInRange(2000, caster, player, true)) + { + player.sendPacket(new NpcSay(caster.getObjectId(), Say2.TELL, caster.getId(), NpcStringId.DEAR_S1_GIVE_ME_MORE_STRENGTH).addStringParameter(player.getName())); + } + break; + } + } + } + } + startQuestTimer("FIGHT", 1000, null, player); + } + break; + } + } + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isSummon) + { + switch (npc.getId()) + { + case LILIM_BUTCHER: + case LILIM_GUARD_KNIGHT: + { + if (npc.isScriptValue(0)) + { + npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.THIS_PLACE_ONCE_BELONGED_TO_LORD_SHILEN)); + npc.setScriptValue(1); + } + break; + } + case LILIM_MAGUS: + case LILIM_GREAT_MAGUS: + { + if (npc.isScriptValue(0)) + { + npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.WHO_DARES_ENTER_THIS_PLACE)); + npc.setScriptValue(1); + } + break; + } + case LILIM_KNIGHT_ERRANT: + case LILIM_KNIGHT: + { + if (npc.isScriptValue(0)) + { + npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.THOSE_WHO_ARE_AFRAID_SHOULD_GET_AWAY_AND_THOSE_WHO_ARE_BRAVE_SHOULD_FIGHT)); + npc.setScriptValue(1); + } + break; + } + case LILIM_SLAYER: + { + if (npc.isScriptValue(0)) + { + npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.LEAVE_NOW)); + npc.setScriptValue(1); + } + break; + } + } + return super.onAggroRangeEnter(npc, player, isSummon); + } + + @Override + public String onAttack(L2Npc npc, L2PcInstance player, int damage, boolean isSummon) + { + InstanceWorld tmpworld = InstanceManager.getInstance().getPlayerWorld(player); + if (tmpworld instanceof DNPWorld) + { + if (npc.isScriptValue(0)) + { + if (npc.getCurrentHp() < (npc.getMaxHp() * 0.1)) + { + giveItems(player, SEAL_OF_BINDING, 1); + player.sendPacket(SystemMessageId.THE_SEALING_DEVICE_ACTIVATION_COMPLETE); + npc.setScriptValue(1); + startQuestTimer("FINISH", 1000, npc, player); + cancelQuestTimer("FIGHT", npc, player); + } + } + if (getRandom(100) < 50) + { + npc.doCast(SEAL_ISOLATION.getSkill()); + } + } + return super.onAttack(npc, player, damage, isSummon); + } + + @Override + public String onFirstTalk(L2Npc npc, L2PcInstance player) + { + switch (npc.getId()) + { + case SHUNAIMAN: + { + return "32586.htm"; + } + case LEON: + { + return "32587.htm"; + } + case DISCIPLES_GATEKEEPER: + { + return "32657.htm"; + } + } + return super.onFirstTalk(npc, player); + } + + @Override + public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) + { + InstanceWorld tmpworld = InstanceManager.getInstance().getPlayerWorld(player); + if (tmpworld instanceof DNPWorld) + { + DNPWorld world = (DNPWorld) tmpworld; + world.countKill++; + checkDoors(npc, world); + } + + switch (npc.getId()) + { + case LILIM_MAGUS: + case LILIM_GREAT_MAGUS: + { + npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.LORD_SHILEN_SOME_DAY_YOU_WILL_ACCOMPLISH_THIS_MISSION)); + break; + } + case LILIM_KNIGHT_ERRANT: + case LILIM_KNIGHT: + case LILIM_GUARD_KNIGHT: + { + npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.WHY_ARE_YOU_GETTING_IN_OUR_WAY)); + break; + } + case LILIM_SLAYER: + { + npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.FOR_SHILEN)); + break; + } + } + return super.onKill(npc, player, isSummon); + } + + @Override + public final String onSpawn(L2Npc npc) + { + npc.setIsMortal(false); + return super.onSpawn(npc); + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance talker) + { + final QuestState qs = talker.getQuestState(Q00196_SevenSignsSealOfTheEmperor.class.getSimpleName()); + String htmltext = getNoQuestMsg(talker); + if (qs == null) + { + return htmltext; + } + + switch (npc.getId()) + { + case PROMISE_OF_MAMMON: + { + if (qs.isCond(3) || qs.isCond(4)) + { + enterInstance(talker, "DisciplesNecropolisPast.xml", ENTER); + return ""; + } + break; + } + case LEON: + { + if (qs.getCond() >= 3) + { + takeItems(talker, SACRED_SWORD_OF_EINHASAD, -1); + InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(talker); + world.removeAllowed(talker.getObjectId()); + talker.teleToLocation(EXIT, 0); + htmltext = "32587-01.html"; + } + break; + } + case DISCIPLES_GATEKEEPER: + { + if (qs.getCond() >= 3) + { + InstanceWorld tmpworld = InstanceManager.getInstance().getWorld(npc.getInstanceId()); + if (tmpworld instanceof DNPWorld) + { + DNPWorld world = (DNPWorld) tmpworld; + openDoor(DISCIPLES_NECROPOLIS_DOOR, world.getInstanceId()); + talker.showQuestMovie(12); + startQuestTimer("FIGHT", 1000, null, talker); + } + } + break; + } + } + return htmltext; + } + + private static final void removeBuffs(L2Character ch) + { + ch.stopAllEffectsExceptThoseThatLastThroughDeath(); + if (ch.hasSummon()) + { + ch.getSummon().stopAllEffectsExceptThoseThatLastThroughDeath(); + } + } + + public static void main(String[] args) + { + new DisciplesNecropolisPast(); + } +} diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00192_SevenSignsSeriesOfDoubt/Q00192_SevenSignsSeriesOfDoubt.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00192_SevenSignsSeriesOfDoubt/Q00192_SevenSignsSeriesOfDoubt.java index 88e6f59408..6f1ccebcc2 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00192_SevenSignsSeriesOfDoubt/Q00192_SevenSignsSeriesOfDoubt.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00192_SevenSignsSeriesOfDoubt/Q00192_SevenSignsSeriesOfDoubt.java @@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.quest.State; * Seven Signs, Series of Doubt (192) * @author Adry_85 */ -public class Q00192_SevenSignsSeriesOfDoubt extends Quest +public final class Q00192_SevenSignsSeriesOfDoubt extends Quest { // NPCs private static final int HOLLINT = 30191; @@ -43,9 +43,9 @@ public class Q00192_SevenSignsSeriesOfDoubt extends Quest // Misc private static final int MIN_LEVEL = 79; - public Q00192_SevenSignsSeriesOfDoubt(int questId, String name, String descr) + private Q00192_SevenSignsSeriesOfDoubt() { - super(questId, name, descr); + super(192, Q00192_SevenSignsSeriesOfDoubt.class.getSimpleName(), "Seven Signs, Series of Doubt"); addStartNpc(CROOP, UNIDENTIFIED_BODY); addTalkId(CROOP, STAN, UNIDENTIFIED_BODY, HECTOR, HOLLINT); registerQuestItems(CROOPS_INTRODUCTION, JACOBS_NECKLACE, CROOPS_LETTER); @@ -54,7 +54,7 @@ public class Q00192_SevenSignsSeriesOfDoubt extends Quest @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { - final QuestState st = player.getQuestState(getName()); + final QuestState st = getQuestState(player, false); if (st == null) { return null; @@ -173,7 +173,6 @@ public class Q00192_SevenSignsSeriesOfDoubt extends Quest if (player.getLevel() >= MIN_LEVEL) { st.addExpAndSp(52518015, 5817677); - st.takeItems(CROOPS_LETTER, -1); st.exitQuest(false, true); htmltext = "30191-03.html"; } @@ -191,13 +190,8 @@ public class Q00192_SevenSignsSeriesOfDoubt extends Quest @Override public String onTalk(L2Npc npc, L2PcInstance player) { - QuestState st = player.getQuestState(getName()); + final QuestState st = getQuestState(player, true); String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - switch (st.getState()) { case State.COMPLETED: @@ -318,6 +312,6 @@ public class Q00192_SevenSignsSeriesOfDoubt extends Quest public static void main(String args[]) { - new Q00192_SevenSignsSeriesOfDoubt(192, Q00192_SevenSignsSeriesOfDoubt.class.getSimpleName(), "Seven Signs, Series of Doubt"); + new Q00192_SevenSignsSeriesOfDoubt(); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00193_SevenSignsDyingMessage/Q00193_SevenSignsDyingMessage.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00193_SevenSignsDyingMessage/Q00193_SevenSignsDyingMessage.java index cf595ed2ec..626e084bed 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00193_SevenSignsDyingMessage/Q00193_SevenSignsDyingMessage.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00193_SevenSignsDyingMessage/Q00193_SevenSignsDyingMessage.java @@ -37,7 +37,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay; * Seven Signs, Dying Message (193) * @author Adry_85 */ -public class Q00193_SevenSignsDyingMessage extends Quest +public final class Q00193_SevenSignsDyingMessage extends Quest { // NPCs private static final int SHILENS_EVIL_THOUGHTS = 27343; @@ -55,9 +55,9 @@ public class Q00193_SevenSignsDyingMessage extends Quest // Skill private static SkillHolder NPC_HEAL = new SkillHolder(4065, 8); - public Q00193_SevenSignsDyingMessage(int questId, String name, String descr) + private Q00193_SevenSignsDyingMessage() { - super(questId, name, descr); + super(193, Q00193_SevenSignsDyingMessage.class.getSimpleName(), "Seven Signs, Dying Message"); addStartNpc(HOLLINT); addTalkId(HOLLINT, CAIN, ERIC, SIR_GUSTAV_ATHEBALDT); addKillId(SHILENS_EVIL_THOUGHTS); @@ -78,7 +78,7 @@ public class Q00193_SevenSignsDyingMessage extends Quest return super.onAdvEvent(event, npc, player); } - final QuestState st = player.getQuestState(getName()); + final QuestState st = getQuestState(player, false); if (st == null) { return null; @@ -212,8 +212,7 @@ public class Q00193_SevenSignsDyingMessage extends Quest return null; } - final QuestState st = partyMember.getQuestState(getName()); - + final QuestState st = getQuestState(player, false); if (npc.isInsideRadius(player, 1500, true, false)) { st.giveItems(SCULPTURE_OF_DOUBT, 1); @@ -227,20 +226,14 @@ public class Q00193_SevenSignsDyingMessage extends Quest NpcSay ns = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_YOU_MAY_HAVE_WON_THIS_TIME_BUT_NEXT_TIME_I_WILL_SURELY_CAPTURE_YOU); ns.addStringParameter(player.getName()); npc.broadcastPacket(ns); - return super.onKill(npc, player, isSummon); } @Override public String onTalk(L2Npc npc, L2PcInstance player) { - QuestState st = player.getQuestState(getName()); + QuestState st = getQuestState(player, true); String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - switch (st.getState()) { case State.COMPLETED: @@ -351,6 +344,6 @@ public class Q00193_SevenSignsDyingMessage extends Quest public static void main(String args[]) { - new Q00193_SevenSignsDyingMessage(193, Q00193_SevenSignsDyingMessage.class.getSimpleName(), "Seven Signs, Dying Message"); + new Q00193_SevenSignsDyingMessage(); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00194_SevenSignsMammonsContract/Q00194_SevenSignsMammonsContract.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00194_SevenSignsMammonsContract/Q00194_SevenSignsMammonsContract.java index 9461bb1664..9c9cf0d134 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00194_SevenSignsMammonsContract/Q00194_SevenSignsMammonsContract.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00194_SevenSignsMammonsContract/Q00194_SevenSignsMammonsContract.java @@ -32,7 +32,7 @@ import com.l2jserver.gameserver.model.quest.State; * Seven Signs, Mammon's Contract (194) * @author Adry_85 */ -public class Q00194_SevenSignsMammonsContract extends Quest +public final class Q00194_SevenSignsMammonsContract extends Quest { // NPCs private static final int SIR_GUSTAV_ATHEBALDT = 30760; @@ -53,9 +53,9 @@ public class Q00194_SevenSignsMammonsContract extends Quest private static SkillHolder TRANSFORMATION_KID = new SkillHolder(6202, 1); private static SkillHolder TRANSFORMATION_NATIVE = new SkillHolder(6203, 1); - public Q00194_SevenSignsMammonsContract(int questId, String name, String descr) + private Q00194_SevenSignsMammonsContract() { - super(questId, name, descr); + super(194, Q00194_SevenSignsMammonsContract.class.getSimpleName(), "Seven Signs, Mammon's Contract"); addStartNpc(SIR_GUSTAV_ATHEBALDT); addTalkId(SIR_GUSTAV_ATHEBALDT, COLIN, FROG, TESS, KUTA, CLAUDIA_ATHEBALDT); registerQuestItems(ATHEBALDTS_INTRODUCTION, NATIVES_GLOVE, FROG_KINGS_BEAD, GRANDA_TESS_CANDY_POUCH); @@ -64,7 +64,7 @@ public class Q00194_SevenSignsMammonsContract extends Quest @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { - final QuestState st = player.getQuestState(getName()); + final QuestState st = getQuestState(player, false); if (st == null) { return null; @@ -346,13 +346,8 @@ public class Q00194_SevenSignsMammonsContract extends Quest @Override public String onTalk(L2Npc npc, L2PcInstance player) { - QuestState st = player.getQuestState(getName()); + QuestState st = getQuestState(player, true); String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - switch (st.getState()) { case State.COMPLETED: @@ -580,6 +575,6 @@ public class Q00194_SevenSignsMammonsContract extends Quest public static void main(String args[]) { - new Q00194_SevenSignsMammonsContract(194, Q00194_SevenSignsMammonsContract.class.getSimpleName(), "Seven Signs, Mammon's Contract"); + new Q00194_SevenSignsMammonsContract(); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00195_SevenSignsSecretRitualOfThePriests/Q00195_SevenSignsSecretRitualOfThePriests.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00195_SevenSignsSecretRitualOfThePriests/Q00195_SevenSignsSecretRitualOfThePriests.java index 9031c9d734..2b91e7715c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00195_SevenSignsSecretRitualOfThePriests/Q00195_SevenSignsSecretRitualOfThePriests.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00195_SevenSignsSecretRitualOfThePriests/Q00195_SevenSignsSecretRitualOfThePriests.java @@ -31,7 +31,7 @@ import com.l2jserver.gameserver.model.quest.State; * Seven Signs, Secret Ritual of the Priests (195) * @author Adry_85 */ -public class Q00195_SevenSignsSecretRitualOfThePriests extends Quest +public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest { // NPCs private static final int RAYMOND = 30289; @@ -52,9 +52,9 @@ public class Q00195_SevenSignsSecretRitualOfThePriests extends Quest // private static SkillHolder TRANSFORM_DISPEL = new SkillHolder(6200, 1); private static SkillHolder TRANSFORMATION = new SkillHolder(6204, 1); - public Q00195_SevenSignsSecretRitualOfThePriests(int questId, String name, String descr) + private Q00195_SevenSignsSecretRitualOfThePriests() { - super(questId, name, descr); + super(195, Q00195_SevenSignsSecretRitualOfThePriests.class.getSimpleName(), "Seven Signs, Secret Ritual of the Priests"); addFirstTalkId(IDENTITY_CONFIRM_DEVICE, PASSWORD_ENTRY_DEVICE, DARKNESS_OF_DAWN, SHELF); addStartNpc(CLAUDIA_ATHEBALDT); addTalkId(CLAUDIA_ATHEBALDT, JOHN, RAYMOND, IASON_HEINE, LIGHT_OF_DAWN, DARKNESS_OF_DAWN, IDENTITY_CONFIRM_DEVICE, PASSWORD_ENTRY_DEVICE, SHELF); @@ -64,7 +64,7 @@ public class Q00195_SevenSignsSecretRitualOfThePriests extends Quest @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { - final QuestState st = player.getQuestState(getName()); + final QuestState st = getQuestState(player, false); if (st == null) { return null; @@ -186,13 +186,7 @@ public class Q00195_SevenSignsSecretRitualOfThePriests extends Quest @Override public String onFirstTalk(L2Npc npc, L2PcInstance player) { - QuestState st = player.getQuestState(getName()); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - + String htmltext = null; switch (npc.getId()) { case IDENTITY_CONFIRM_DEVICE: @@ -222,13 +216,8 @@ public class Q00195_SevenSignsSecretRitualOfThePriests extends Quest @Override public String onTalk(L2Npc npc, L2PcInstance player) { - QuestState st = player.getQuestState(getName()); + QuestState st = getQuestState(player, true); String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - switch (st.getState()) { case State.COMPLETED: @@ -247,94 +236,105 @@ public class Q00195_SevenSignsSecretRitualOfThePriests extends Quest } case State.STARTED: { - if (npc.getId() == CLAUDIA_ATHEBALDT) - { - if (st.isCond(1)) - { - htmltext = "31001-07.html"; - } - } - else if (npc.getId() == JOHN) + switch (npc.getId()) { - switch (st.getCond()) + case CLAUDIA_ATHEBALDT: { - case 1: + if (st.isCond(1)) { - htmltext = "32576-01.html"; - break; + htmltext = "31001-07.html"; } - case 2: + break; + } + case JOHN: + { + switch (st.getCond()) { - htmltext = "32576-03.html"; - break; + case 1: + { + htmltext = "32576-01.html"; + break; + } + case 2: + { + htmltext = "32576-03.html"; + break; + } } + break; } - } - else if (npc.getId() == RAYMOND) - { - switch (st.getCond()) + case RAYMOND: { - case 2: + switch (st.getCond()) { - if (st.hasQuestItems(IDENTITY_CARD) && (player.getTransformationId() != 113)) + case 2: + { + if (st.hasQuestItems(IDENTITY_CARD) && (player.getTransformationId() != 113)) + { + htmltext = "30289-01.html"; + } + break; + } + case 3: { - htmltext = "30289-01.html"; + if (st.hasQuestItems(IDENTITY_CARD)) + { + htmltext = st.hasQuestItems(SHUNAIMANS_CONTRACT) ? "30289-06.html" : "30289-09.html"; + } + break; + } + case 4: + { + htmltext = "30289-12.html"; + break; } - break; } - case 3: + break; + } + case LIGHT_OF_DAWN: + { + if (st.isCond(3)) { if (st.hasQuestItems(IDENTITY_CARD)) { - htmltext = st.hasQuestItems(SHUNAIMANS_CONTRACT) ? "30289-06.html" : "30289-09.html"; + htmltext = "31001-07.html"; } - break; - } - case 4: - { - htmltext = "30289-12.html"; - break; } + break; } - } - else if (npc.getId() == LIGHT_OF_DAWN) - { - if (st.isCond(3)) + case PASSWORD_ENTRY_DEVICE: { - if (st.hasQuestItems(IDENTITY_CARD)) + if (st.isCond(3) && st.hasQuestItems(IDENTITY_CARD)) { - htmltext = "31001-07.html"; + htmltext = "32577-02.html"; + player.teleToLocation(-78240, 205858, -7856); } + break; } - } - else if (npc.getId() == PASSWORD_ENTRY_DEVICE) - { - if (st.isCond(3) && st.hasQuestItems(IDENTITY_CARD)) + case SHELF: { - htmltext = "32577-02.html"; - player.teleToLocation(-78240, 205858, -7856); - } - } - else if (npc.getId() == SHELF) - { - if (st.isCond(3) && !st.hasQuestItems(SHUNAIMANS_CONTRACT)) - { - st.giveItems(SHUNAIMANS_CONTRACT, 1); - htmltext = "32580-02.html"; + if (st.isCond(3) && !st.hasQuestItems(SHUNAIMANS_CONTRACT)) + { + st.giveItems(SHUNAIMANS_CONTRACT, 1); + htmltext = "32580-02.html"; + } + break; } - } - else if (npc.getId() == DARKNESS_OF_DAWN) - { - if (st.isCond(3) && !st.hasQuestItems(SHUNAIMANS_CONTRACT)) + case DARKNESS_OF_DAWN: { - htmltext = "32579-02.html"; + if (st.isCond(3) && !st.hasQuestItems(SHUNAIMANS_CONTRACT)) + { + htmltext = "32579-02.html"; + } + break; } - } - else if (npc.getId() == IASON_HEINE) - { - if (st.isCond(4) && st.hasQuestItems(SHUNAIMANS_CONTRACT)) + case IASON_HEINE: { - htmltext = "30969-01.html"; + if (st.isCond(4) && st.hasQuestItems(SHUNAIMANS_CONTRACT)) + { + htmltext = "30969-01.html"; + } + break; } } break; @@ -345,6 +345,6 @@ public class Q00195_SevenSignsSecretRitualOfThePriests extends Quest public static void main(String args[]) { - new Q00195_SevenSignsSecretRitualOfThePriests(195, Q00195_SevenSignsSecretRitualOfThePriests.class.getSimpleName(), "Seven Signs, Secret Ritual of the Priests"); + new Q00195_SevenSignsSecretRitualOfThePriests(); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-01.htm new file mode 100644 index 0000000000..517d5e7b0e --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-01.htm @@ -0,0 +1,4 @@ +<html><body>Iason Heine:<br> +Ah, please--come here, come here!<br>I've had a look over that page, and I have good news and bad news in equal measure. First the bad: the document was written in heavy, heavy slang, meaning I've had to best-guess several whole phrases. There were also some markings on the contract which made some sections illegible....<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 30969-02.htm">"Oh... what about the good news?"</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-02.htm new file mode 100644 index 0000000000..5812f3b172 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-02.htm @@ -0,0 +1,4 @@ +<html><body>Iason Heine:<br> +The good news, yes yes!<br>I managed to fully translate a <font color="LEVEL">clause in the contract</font> between the Merchants of Mammon and Emperor Shunaiman. It's all rather interesting, and seems to indicate that the Emperor wasn't as on top of things as history suggests.<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 30969-03.htm">"Oh?"</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-03.htm new file mode 100644 index 0000000000..ece52c8546 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-03.htm @@ -0,0 +1,4 @@ +<html><body>Iason Heine:<br> +Here... it says that Shunaiman and the merchants entered into a secret pact, but only half of the deal is mentioned here: the merchants agreed to aid the Emperor whenever his Seal was under threat.<br>But no merchant worth his salt would agree to a clause like that without getting something in return--so what DID they demand? And why isn't it on this page? Hmm....<br>That's not all either.<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 30969-04.htm">"What else have you found?"</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-04.htm new file mode 100644 index 0000000000..679eca4d43 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-04.htm @@ -0,0 +1,4 @@ +<html><body>Iason Heine:<br> +See this part here? This whole section rhymes in Elmoreden.<br>It's like a chant of some sort, though I have no idea why the Merchants would write in such elaborate verse when their language was created for cut-and-thrust matters like illicit trading and the like.<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 30969-05.html">"Have you tried reciting the words?"</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-05.html new file mode 100644 index 0000000000..efe76baa0d --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-05.html @@ -0,0 +1,4 @@ +<html><body>Iason Heine:<br> +No, of course not! What if I were to summon some ancient spirit? Do I look like a fighting man to you?<br>Ah, but now you're here... perhaps I should. Hmm... yes. Here we go....<br><br><font color="LEVEL">"The Merchants of Mammon shall respectfully pledge the following to the Great Emperor Shunaiman:<br>When dark blood begins to swallow the Seal, this paper of promise will reveal itself to the world. Those who have the Emperor's gold must cross the river of time..."</font><br>What? What's happening?! The contract is glowing!<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor ssq_mammon">"Put it down!"</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-06.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-06.html new file mode 100644 index 0000000000..104d4b7062 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-06.html @@ -0,0 +1,3 @@ +<html><body>Iason Heine:<br> +(The light from the contract fades, and a small figure is seen standing next to Iason.)<br>Oh my! A <font color="LEVEL">merchant of Mammon</font>! Talk to him... quickly! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-07.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-07.html new file mode 100644 index 0000000000..210e81575b --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-07.html @@ -0,0 +1,3 @@ +<html><body>Iason Heine:<br> +I don't have time for idle banter right now!<br>(Another player is currently speaking with him.) +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-08.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-08.html new file mode 100644 index 0000000000..bd54467c95 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-08.html @@ -0,0 +1,3 @@ +<html><body>Iason Heine:<br> +(Only characters who are level 79 or higher and who have completed the <font color="LEVEL">Seven Signs and Secret Ritual of the Priests</font> quests may undertake this quest.) +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-09.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-09.html new file mode 100644 index 0000000000..efe76baa0d --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-09.html @@ -0,0 +1,4 @@ +<html><body>Iason Heine:<br> +No, of course not! What if I were to summon some ancient spirit? Do I look like a fighting man to you?<br>Ah, but now you're here... perhaps I should. Hmm... yes. Here we go....<br><br><font color="LEVEL">"The Merchants of Mammon shall respectfully pledge the following to the Great Emperor Shunaiman:<br>When dark blood begins to swallow the Seal, this paper of promise will reveal itself to the world. Those who have the Emperor's gold must cross the river of time..."</font><br>What? What's happening?! The contract is glowing!<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor ssq_mammon">"Put it down!"</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-10.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-10.html new file mode 100644 index 0000000000..25221cc7ec --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-10.html @@ -0,0 +1,3 @@ +<html><body>Iason Heine:<br> +Incredible... so the seal was under threat many years ago, and we must now go and <font color="LEVEL">aid the Emperor</font> by travelling back to the time of his rule?<br>The science is mind-boggling, frankly. How will we know what implications your interference will cause? But then... what if the past IS our past BECAUSE you time-travelled. Oh....<br>There's no time to ponder any of this--just <font color="LEVEL">go to the Disciple's Necropolis</font> and <font color="LEVEL">find the Promise of Mammon</font>! I'll send word if I discover something's amiss! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-11.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-11.html new file mode 100644 index 0000000000..2359fa90b1 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-11.html @@ -0,0 +1,3 @@ +<html><body>Iason Heine:<br> +Now's not the time, adventurer!<br>Hurry to the <font color="LEVEL">Disciple's Necropolis</font> and find the <font color="LEVEL">Promise of Mammon</font>! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-12.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-12.html new file mode 100644 index 0000000000..de3115a7aa --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-12.html @@ -0,0 +1,4 @@ +<html><body>Iason Heine:<br> +You're back!<br>Tell me all that happened, please! I've almost rubbed my hands raw with worry.<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 30969-13.html">"Well..."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-13.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-13.html new file mode 100644 index 0000000000..76734e41cf --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-13.html @@ -0,0 +1,4 @@ +<html><body>Iason Heine:<br> +Incredible. Absolutely incredible.<br>And now this book... we must find it. What did you say the clues were again? The <font color="LEVEL">Emperor's Key</font>, and the <font color="LEVEL">Witness of Dawn</font>?<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 30969-14.html">"That's right."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-14.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-14.html new file mode 100644 index 0000000000..be315d0b45 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-14.html @@ -0,0 +1,3 @@ +<html><body>Iason Heine:<br> +Well, I can't help with the Emperor's Key, but the Witness of Dawn... hmm.<br>The Lords of Dawn have long used that term for their first--their leader. The Leader, the Prima, is the first to welcome the rising sun on their special occasions, where he witnesses the passing of night into day.<br>The current Witness of Dawn is a man named <font color="LEVEL">Franz</font>, but he doesn't often meet others. I suggest you go first to the <font color="LEVEL">Temple of Einhasad</font> in <font color="LEVEL">Aden Town</font> and meet with <font color="LEVEL">Priest Wood</font>. He should be able to set a meeting up between the two of you. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-15.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-15.html new file mode 100644 index 0000000000..1dbc4109b5 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/30969-15.html @@ -0,0 +1,3 @@ +<html><body>Iason Heine:<br> +Go and meet <font color="LEVEL">Priest Wood</font> in the <font color="LEVEL">Temple of Einhasad</font>, traveller! He'll be able to set up a meeting with the Witness of Dawn. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-01.html new file mode 100644 index 0000000000..33e2187fd2 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-01.html @@ -0,0 +1,4 @@ +<html><body>Merchant of Mammon:<br> +Was it you who summoned me from the Necropolis? Then you must have Shunaiman's contract in your possession....<br>We inked our names in that document 1500 years ago, but still the paper bears our names, and still we are bound to honor the terms set out in it.<br>I assume you have summoned me so that the clause can finally be honored?<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32584-02.html">"Actually..."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-02.html new file mode 100644 index 0000000000..3de05be589 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-02.html @@ -0,0 +1,4 @@ +<html><body>Merchant of Mammon:<br> +It was a simple enough deal: the Merchants of Mammon would supply the Emperor with funds and military hardware, and in return our trading would be left unhindered. The profits we made were astonishing, beating even our most optimistic projections.<br>In return though, the Emperor gained use of a great, great power....<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32584-03.html">"What power?"</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-03.html new file mode 100644 index 0000000000..9e96c5776a --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-03.html @@ -0,0 +1,4 @@ +<html><body>Merchant of Mammon:<br> +The power to move between planes, child!<br>We first used it to travel from Necropolis to Necropolis, but soon augmented our device to allow us travel on a different axis: <font color="LEVEL">time itself</font>.<br>We called it <font color="LEVEL">'The Promise of Mammon'</font>. It was the most powerful creation in Aden's history, and a tool that Emperor Shunaiman was granted access to in that contract of ours.<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32584-04.html">"Where is it?"</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-04.html new file mode 100644 index 0000000000..26b2cf66bd --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-04.html @@ -0,0 +1,4 @@ +<html><body>Merchant of Mammon:<br> +It lies near the entrance to the <font color="LEVEL">Disciple's Necropolis</font>. You must find it, and meet with Emperor Shunaiman. Aid him and our word will finally be honored, we will be released from that infernal contract....<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32584-05.html">"You can't go yourself?"</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-05.html new file mode 100644 index 0000000000..e61d444ea0 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-05.html @@ -0,0 +1,3 @@ +<html><body>Merchant of Mammon:<br> +I am little more than dust these days, child. We always expected to be called in our lifetimes, but this is your time now, not ours.<br>Help the Emperor. Help Shunaiman! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-06.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-06.html new file mode 100644 index 0000000000..f28c77c505 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584-06.html @@ -0,0 +1,3 @@ +<html><body>Merchant of Mammon:<br> +You were not the one who summoned me! Leave--now! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584.htm new file mode 100644 index 0000000000..8c2ee9ea74 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32584.htm @@ -0,0 +1,4 @@ +<html><body>Merchant of Mammon:<br> +Is it finally time? Is this the day that the Merchants of Mammon are finally asked to keep their ancient promise?<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/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-01.html new file mode 100644 index 0000000000..fbff334c12 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-01.html @@ -0,0 +1,4 @@ +<html><body>Emperor Shunaiman:<br> +Who are you? How did you get in here?<br>Who do you serve? Shilen, or your true Emperor? Answer me!<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32586-02.html">"I'm here to honor the agreement you made with the Merchants of Mammon."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-02.html new file mode 100644 index 0000000000..749b82fb1c --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-02.html @@ -0,0 +1,4 @@ +<html><body>Emperor Shunaiman:<br> +Of course! The Merchants of Mammon! Einhasad's fortunes finally smiles down upon me!<br>But... where are you from? I have never seen clothes like those before, and that weapon!<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32586-03.html">"I'm not from your time, Emperor. You've been dead for over 1000 years in my world."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-03.html new file mode 100644 index 0000000000..6c4fb37a58 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-03.html @@ -0,0 +1,5 @@ +<html><body>Emperor Shunaiman:<br> +The future?! So that's what they meant....<br>And what of my rule? Am I remembered favorably? Is the empire still inta... no. Now is not the time! We will save talking for later; now we must fight to guarantee we can still draw breath by the evening's close.<br>Einhasad's own angel, Anakim, leads my forces against Lilith, Shilen's daughter. This is a war of absolute horror, of field after field stained red with the blood of Aden's people. Yet I can see no immediate resolution... I fear that when the dust of this great conflict has settled, the victor will have naught to rule over but ruined lands and a broken people.<br>That is why I sought to activate the seal. But even then my path was blocked. The men I sent were each butchered, and now even I have been wounded. But you... will you help?<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32586-04.html">"I will, Emperor."</a><br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32586-05.html">"No. Help yourself."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-04.html new file mode 100644 index 0000000000..707c32ca52 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-04.html @@ -0,0 +1,4 @@ +<html><body>Emperor Shunaiman:<br> +Thank you!<br>Listen closely as I tell you what you need to do. <font color="LEVEL">Lilith</font> has blocked access to the Seal by <font color="LEVEL">summoning a fire wall</font>, but the fires can be extinguished by this <font color="LEVEL">holy water</font>.<br>Once that has been done, there's a <font color="LEVEL">red door</font> that you'll need to go through.<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32586-06.html">"Holy water on the fire, red door."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-05.html new file mode 100644 index 0000000000..354326c5c2 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-05.html @@ -0,0 +1,3 @@ +<html><body>Emperor Shunaiman:<br> +No? Then the time you came from is a heartless one indeed. Leave then. Leon will assist you. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-06.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-06.html new file mode 100644 index 0000000000..59ab69fa79 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-06.html @@ -0,0 +1,4 @@ +<html><body>Emperor Shunaiman:<br> +You'll need to have your wits about you in the next room, as you'll come face to face with some of <font color="LEVEL">Lilith's strongest minions</font>.<br>Here... take my <font color="LEVEL">sword</font>. It has been blessed by Einhasad herself; <font color="LEVEL">its strengths</font> will be a great boon to you.... Ahh, the pain....<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32586-07.html">"Are you all right?"</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-07.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-07.html new file mode 100644 index 0000000000..a9672d9339 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-07.html @@ -0,0 +1,3 @@ +<html><body>Emperor Shunaiman:<br> +Don't worry about me! I am built of simple flesh and bone, but the Empire... it houses the dreams of so, so many people.<br>Now, listen. The final room contains <font color="LEVEL">four sealing devices</font>, each of which need to be activated. You will then need to gather the <font color="LEVEL">four Binding Seals</font>... and bring them back to me.<br>Do not lose <font color="LEVEL">the sword</font>, and do not discard <font color="LEVEL">the holy water</font>--they are absolutely vital to our survival! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-08.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-08.html new file mode 100644 index 0000000000..83fbaf7493 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-08.html @@ -0,0 +1,3 @@ +<html><body>Emperor Shunaiman:<br> +Remember, you must <font color="LEVEL">activate all four sealing devices</font>, then bring me the <font color="LEVEL">Binding Seals</font>!<br>Oh, and <font color="LEVEL">holy water</font> on the magical fire, then through the <font color="LEVEL">red door</font>! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-09.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-09.html new file mode 100644 index 0000000000..f087535104 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-09.html @@ -0,0 +1,3 @@ +<html><body>Emperor Shunaiman:<br> +Do not lose those things. Without them you cannot complete your task, and the Empire will fall.<br>Do not fail us! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-10.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-10.html new file mode 100644 index 0000000000..f09e41a32e --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-10.html @@ -0,0 +1,4 @@ +<html><body>Emperor Shunaiman:<br> +The Binding Seals! Perhaps now we can reverse the tide of this terrible, terrible conflict.<br>And all this... because of you. Please, stay here and become the Empire's guardian--I could do with someone like you by my side.<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32586-11.html">"I'm sorry Emperor, but I'm not from your time."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-11.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-11.html new file mode 100644 index 0000000000..229d0edd11 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-11.html @@ -0,0 +1,4 @@ +<html><body>Emperor Shunaiman:<br> +Ah, of course. No doubt you have many friends and family waiting for you. Very well.<br>But I would be remiss not to you involve you in the Empire's wellbeing somehow. Hmm....<br>Ah! I shall have a book made, detailing the secrets... of the seals. I will have it hidden, and I want you to be the one to find it.<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32586-12.html">"I see."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-12.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-12.html new file mode 100644 index 0000000000..8c24862b2f --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-12.html @@ -0,0 +1,4 @@ +<html><body>Emperor Shunaiman:<br> +There are seven seals, you see. Each is extremely powerful, but still delicate enough to be destroyed should enough force be applied to it.<br>I'll call the tome the <font color="LEVEL">Book of Seals</font>, and it will contain all the secrets of the Seals. You must recover it. Shilen must never even know of its existence.<br>Now....<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32586-13.html">"Where to hide it..."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-13.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-13.html new file mode 100644 index 0000000000..f25b1d38d5 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-13.html @@ -0,0 +1,4 @@ +<html><body>Emperor Shunaiman:<br> +Exactly! Oh, how I have longed for someone of your intelligence and bravery to show up.<br>I could search the whole kingdom from house to house and not find anyone more suitable than you.<br>Ah... perhaps I should set you a final test before I deem you worthy of the Book of Seals, hmm? One can never be... too careful with matters of such importance!<br>Now, I'll leave two clues for you.<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32586-14.html">"Okay...."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-14.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-14.html new file mode 100644 index 0000000000..fa8d1e1b32 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-14.html @@ -0,0 +1,3 @@ +<html><body>Emperor Shunaiman:<br> +The book itself will stay on this continent, and the clues will be in the <font color="LEVEL">Witness of Dawn</font>, and in the words of the <font color="LEVEL">Emperor's Key</font>.<br>Now I must ask... for time to heal. <font color="LEVEL">Leon</font> will see you out.<br>Oh... and thank you. The Empire stands because of people like you... willing to bear its weight on your shoulders. I am... in your debt. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-15.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-15.html new file mode 100644 index 0000000000..760a5bcf5b --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32586-15.html @@ -0,0 +1,3 @@ +<html><body>Emperor Shunaiman:<br> +Speak to Leon, my friend. He'll send you back to your time.... +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32593-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32593-01.html new file mode 100644 index 0000000000..a6990835a5 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32593-01.html @@ -0,0 +1,4 @@ +<html><body>Priest Wood:<br> +Yes, traveller? Is there something I can do for you?<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor finish">"I understand you can introduce me to Franz. Iason Heine sent me."</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32593-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32593-02.html new file mode 100644 index 0000000000..163d020fd0 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32593-02.html @@ -0,0 +1,3 @@ +<html><body>Priest Wood:<br> +Ah yes, he sent word someone was coming.<br>I am to give you this small reward. I understand the work you have done for the Order has helped us greatly.<br>Now, as for Franz.... +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-01.html new file mode 100644 index 0000000000..7e96426a91 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-01.html @@ -0,0 +1,4 @@ +<html><body>Court Magician:<br> +You look over the body quickly, and finally notice a message written in blood on the floor.<br> +<a action="bypass -h Quest Q00196_SevenSignsSealOfTheEmperor 32598-02.html">Read the message.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-02.html new file mode 100644 index 0000000000..5cccf701f1 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-02.html @@ -0,0 +1,3 @@ +<html><body>Court Magician:<br> +<font color="LEVEL">"Use the staff. Open door. With staff. Save the Empire."</font><br>Pick up the staff. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-03.html new file mode 100644 index 0000000000..8bfb9b92a3 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/32598-03.html @@ -0,0 +1,3 @@ +<html><body>Court Magician:<br> +There's nothing else of significance here for you. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/Q00196_SevenSignsSealOfTheEmperor.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/Q00196_SevenSignsSealOfTheEmperor.java new file mode 100644 index 0000000000..19d270f84e --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/Q00196_SevenSignsSealOfTheEmperor.java @@ -0,0 +1,379 @@ +/* + * 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.Q00196_SevenSignsSealOfTheEmperor; + +import quests.Q00195_SevenSignsSecretRitualOfThePriests.Q00195_SevenSignsSecretRitualOfThePriests; + +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.NpcStringId; +import com.l2jserver.gameserver.network.SystemMessageId; +import com.l2jserver.gameserver.network.clientpackets.Say2; +import com.l2jserver.gameserver.network.serverpackets.NpcSay; + +/** + * Seven Signs, Seal of the Emperor (196) + * @author Adry_85 + */ +public final class Q00196_SevenSignsSealOfTheEmperor extends Quest +{ + // NPCs + private static final int IASON_HEINE = 30969; + private static final int MERCHANT_OF_MAMMON = 32584; + private static final int SHUNAIMAN = 32586; + private static final int WOOD = 32593; + private static final int COURT_MAGICIAN = 32598; + // Items + private static final int ELMOREDEN_HOLY_WATER = 13808; + private static final int COURT_MAGICIANS_MAGIC_STAFF = 13809; + private static final int SEAL_OF_BINDING = 13846; + private static final int SACRED_SWORD_OF_EINHASAD = 15310; + // Misc + private static final int MIN_LEVEL = 79; + private boolean isBusy = false; + + private Q00196_SevenSignsSealOfTheEmperor() + { + super(196, Q00196_SevenSignsSealOfTheEmperor.class.getSimpleName(), "Seven Signs, Seal of the Emperor"); + addFirstTalkId(MERCHANT_OF_MAMMON); + addStartNpc(IASON_HEINE); + addTalkId(IASON_HEINE, MERCHANT_OF_MAMMON, SHUNAIMAN, WOOD, COURT_MAGICIAN); + registerQuestItems(ELMOREDEN_HOLY_WATER, COURT_MAGICIANS_MAGIC_STAFF, SEAL_OF_BINDING, SACRED_SWORD_OF_EINHASAD); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if ((npc.getId() == MERCHANT_OF_MAMMON) && "DESPAWN".equals(event)) + { + isBusy = false; + npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.THE_ANCIENT_PROMISE_TO_THE_EMPEROR_HAS_BEEN_FULFILLED)); + npc.deleteMe(); + return super.onAdvEvent(event, npc, player); + } + + final QuestState st = getQuestState(player, false); + if (st == null) + { + return null; + } + + String htmltext = null; + switch (event) + { + case "30969-02.htm": + case "30969-03.htm": + case "30969-04.htm": + { + htmltext = event; + break; + } + case "30969-05.html": + { + st.startQuest(); + htmltext = event; + break; + } + case "ssq_mammon": + { + if (st.isCond(1)) + { + if (!isBusy) + { + isBusy = true; + npc.setScriptValue(1); + final L2Npc merchant = addSpawn(MERCHANT_OF_MAMMON, 109743, 219975, -3512, 0, false, 0, false); + merchant.broadcastPacket(new NpcSay(merchant.getObjectId(), Say2.NPC_ALL, merchant.getId(), NpcStringId.WHO_DARES_SUMMON_THE_MERCHANT_OF_MAMMON)); + htmltext = "30969-06.html"; + startQuestTimer("DESPAWN", 120000, merchant, null); + } + else + { + htmltext = "30969-07.html"; + } + } + break; + } + case "30969-13.html": + { + if (st.isCond(5)) + { + htmltext = event; + } + break; + } + case "30969-14.html": + { + if (st.isCond(5)) + { + st.setCond(6, true); + htmltext = event; + } + break; + } + case "32584-02.html": + case "32584-03.html": + case "32584-04.html": + { + if (st.isCond(1)) + { + htmltext = event; + } + break; + } + case "32584-05.html": + { + if (st.isCond(1)) + { + st.setCond(2, true); + htmltext = event; + cancelQuestTimers("DESPAWN"); + npc.deleteMe(); + isBusy = false; + } + break; + } + case "32586-02.html": + case "32586-03.html": + case "32586-04.html": + case "32586-06.html": + { + if (st.isCond(3)) + { + htmltext = event; + } + break; + } + case "32586-07.html": + { + if (st.isCond(3)) + { + giveItems(player, ELMOREDEN_HOLY_WATER, 1); + giveItems(player, SACRED_SWORD_OF_EINHASAD, 1); + st.setCond(4, true); + player.sendPacket(SystemMessageId.USING_EINHASAD_HOLY_SWORD_DEFEAT_LILIMS); + player.sendPacket(SystemMessageId.USING_EINHASAD_HOLY_WATER_TO_OPEN_DOOR); + htmltext = event; + } + break; + } + case "32586-11.html": + case "32586-12.html": + case "32586-13.html": + { + if (st.isCond(4) && (getQuestItemsCount(player, SEAL_OF_BINDING) >= 4)) + { + htmltext = event; + } + break; + } + case "32586-14.html": + { + if (st.isCond(4) && (getQuestItemsCount(player, SEAL_OF_BINDING) >= 4)) + { + takeItems(player, -1, ELMOREDEN_HOLY_WATER, COURT_MAGICIANS_MAGIC_STAFF, SEAL_OF_BINDING, SACRED_SWORD_OF_EINHASAD); + st.setCond(5, true); + htmltext = event; + } + break; + } + case "finish": + { + if (st.isCond(6)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 52518015, 5817677); + st.exitQuest(false, true); + htmltext = "32593-02.html"; + } + else + { + htmltext = "level_check.html"; + } + } + break; + } + case "32598-02.html": + { + if (st.isCond(3) || st.isCond(4)) + { + giveItems(player, COURT_MAGICIANS_MAGIC_STAFF, 1); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onFirstTalk(L2Npc npc, L2PcInstance player) + { + return "32584.htm"; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + QuestState st = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + switch (st.getState()) + { + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + case State.CREATED: + { + if (npc.getId() == IASON_HEINE) + { + st = player.getQuestState(Q00195_SevenSignsSecretRitualOfThePriests.class.getSimpleName()); + htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "30969-01.htm" : "30969-08.html"; + } + break; + } + case State.STARTED: + { + switch (npc.getId()) + { + case IASON_HEINE: + { + switch (st.getCond()) + { + case 1: + { + htmltext = "30969-09.html"; + break; + } + case 2: + { + st.setCond(3, true); + npc.setScriptValue(0); + htmltext = "30969-10.html"; + break; + } + case 3: + case 4: + { + htmltext = "30969-11.html"; + break; + } + case 5: + { + htmltext = "30969-12.html"; + break; + } + case 6: + { + htmltext = "30969-15.html"; + break; + } + } + break; + } + case MERCHANT_OF_MAMMON: + { + if (st.isCond(1)) + { + if (npc.isScriptValue(0)) + { + npc.setScriptValue(player.getObjectId()); + } + htmltext = (npc.isScriptValue(player.getObjectId())) ? "32584-01.html" : "32584-06.html"; + } + break; + } + case SHUNAIMAN: + { + switch (st.getCond()) + { + case 3: + { + htmltext = "32586-01.html"; + break; + } + case 4: + { + if (getQuestItemsCount(player, SEAL_OF_BINDING) < 4) + { + if (hasQuestItems(player, ELMOREDEN_HOLY_WATER, SACRED_SWORD_OF_EINHASAD)) + { + htmltext = "32586-08.html"; + } + else if (!hasQuestItems(player, ELMOREDEN_HOLY_WATER) && hasQuestItems(player, SACRED_SWORD_OF_EINHASAD)) + { + htmltext = "32586-09.html"; + giveItems(player, ELMOREDEN_HOLY_WATER, 1); + } + else if (hasQuestItems(player, ELMOREDEN_HOLY_WATER) && !hasQuestItems(player, SACRED_SWORD_OF_EINHASAD)) + { + htmltext = "32586-09.html"; + giveItems(player, SACRED_SWORD_OF_EINHASAD, 1); + } + player.sendPacket(SystemMessageId.USING_EINHASAD_HOLY_SWORD_DEFEAT_LILIMS); + player.sendPacket(SystemMessageId.USING_EINHASAD_HOLY_WATER_TO_OPEN_DOOR); + } + else + { + htmltext = "32586-10.html"; + } + break; + } + case 5: + { + htmltext = "32586-15.html"; + break; + } + } + break; + } + case WOOD: + { + if (st.isCond(6)) + { + htmltext = "32593-01.html"; + } + break; + } + case COURT_MAGICIAN: + { + if (st.isCond(3) || st.isCond(4)) + { + htmltext = (!hasQuestItems(player, COURT_MAGICIANS_MAGIC_STAFF)) ? "32598-01.html" : "32598-03.html"; + player.sendPacket(SystemMessageId.USING_COURT_MAGICIANS_STAFF_TO_OPEN_DOOR); + } + break; + } + } + break; + } + } + return htmltext; + } + + public static void main(String args[]) + { + new Q00196_SevenSignsSealOfTheEmperor(); + } +} diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/level_check.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/level_check.html new file mode 100644 index 0000000000..3960d3451f --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/level_check.html @@ -0,0 +1,2 @@ +<html><body>Characters who are <font color="LEVEL">level 79 or above</font> may redeem the <font color="LEVEL">Reward for the Current Quest</font>. +</body></html> diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00197_SevenSignsTheSacredBookOfSeal/Q00197_SevenSignsTheSacredBookOfSeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00197_SevenSignsTheSacredBookOfSeal/Q00197_SevenSignsTheSacredBookOfSeal.java index 3b7adeccd4..8b633cca50 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00197_SevenSignsTheSacredBookOfSeal/Q00197_SevenSignsTheSacredBookOfSeal.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00197_SevenSignsTheSacredBookOfSeal/Q00197_SevenSignsTheSacredBookOfSeal.java @@ -18,6 +18,8 @@ */ package quests.Q00197_SevenSignsTheSacredBookOfSeal; +import quests.Q00196_SevenSignsSealOfTheEmperor.Q00196_SevenSignsSealOfTheEmperor; + import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -34,7 +36,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay; * Seven Signs, The Sacred Book of Seal (197) * @author Adry_85 */ -public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest +public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest { // NPCs private static final int SHILENS_EVIL_THOUGHTS = 27396; @@ -50,9 +52,9 @@ public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest private static final int MIN_LEVEL = 79; private boolean isBusy = false; - public Q00197_SevenSignsTheSacredBookOfSeal(int questId, String name, String descr) + private Q00197_SevenSignsTheSacredBookOfSeal() { - super(questId, name, descr); + super(197, Q00197_SevenSignsTheSacredBookOfSeal.class.getSimpleName(), "Seven Signs, the Sacred Book of Seal"); addStartNpc(WOOD); addTalkId(WOOD, ORVEN, LEOPARD, LAWRENCE, SOPHIA); addKillId(SHILENS_EVIL_THOUGHTS); @@ -73,7 +75,7 @@ public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest return super.onAdvEvent(event, npc, player); } - final QuestState st = player.getQuestState(getName()); + final QuestState st = getQuestState(player, false); if (st == null) { return null; @@ -96,7 +98,7 @@ public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest } case "32593-08.html": { - if (st.isCond(6) && st.hasQuestItems(MYSTERIOUS_HAND_WRITTEN_TEXT) && st.hasQuestItems(SCULPTURE_OF_DOUBT)) + if (st.isCond(6) && st.hasQuestItems(MYSTERIOUS_HAND_WRITTEN_TEXT, SCULPTURE_OF_DOUBT)) { htmltext = event; } @@ -168,10 +170,8 @@ public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest if (st.isCond(3)) { isBusy = true; - NpcSay ns = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP); - ns.addStringParameter(player.getName()); - npc.broadcastPacket(ns); - L2MonsterInstance monster = (L2MonsterInstance) addSpawn(SHILENS_EVIL_THOUGHTS, 152520, -57502, -3408, 0, false, 0, false); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP).addStringParameter(player.getName())); + final L2MonsterInstance monster = (L2MonsterInstance) addSpawn(SHILENS_EVIL_THOUGHTS, 152520, -57502, -3408, 0, false, 0, false); monster.broadcastPacket(new NpcSay(monster.getObjectId(), Say2.NPC_ALL, monster.getId(), NpcStringId.YOU_ARE_NOT_THE_OWNER_OF_THAT_ITEM)); monster.setRunning(); monster.addDamageHate(player, 0, 999); @@ -231,8 +231,7 @@ public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest return null; } - final QuestState st = partyMember.getQuestState(getName()); - + final QuestState st = getQuestState(player, false); if (npc.isInsideRadius(player, 1500, true, false)) { st.giveItems(SCULPTURE_OF_DOUBT, 1); @@ -251,13 +250,8 @@ public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest @Override public String onTalk(L2Npc npc, L2PcInstance player) { - QuestState st = player.getQuestState(getName()); + QuestState st = getQuestState(player, true); String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - switch (st.getState()) { case State.COMPLETED: @@ -269,7 +263,7 @@ public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest { if (npc.getId() == WOOD) { - st = player.getQuestState("Q00196_SevenSignsSealOfTheEmperor"); + st = player.getQuestState(Q00196_SevenSignsSealOfTheEmperor.class.getSimpleName()); htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "32593-01.htm" : "32593-05.html"; } break; @@ -286,7 +280,7 @@ public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest } else if (st.isCond(6)) { - if (st.hasQuestItems(MYSTERIOUS_HAND_WRITTEN_TEXT) && st.hasQuestItems(SCULPTURE_OF_DOUBT)) + if (st.hasQuestItems(MYSTERIOUS_HAND_WRITTEN_TEXT, SCULPTURE_OF_DOUBT)) { htmltext = "32593-07.html"; } @@ -357,7 +351,7 @@ public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest } else if (st.getCond() >= 6) { - if (st.hasQuestItems(SCULPTURE_OF_DOUBT) && st.hasQuestItems(MYSTERIOUS_HAND_WRITTEN_TEXT)) + if (st.hasQuestItems(SCULPTURE_OF_DOUBT, MYSTERIOUS_HAND_WRITTEN_TEXT)) { htmltext = "32596-05.html"; } @@ -373,6 +367,6 @@ public class Q00197_SevenSignsTheSacredBookOfSeal extends Quest public static void main(String args[]) { - new Q00197_SevenSignsTheSacredBookOfSeal(197, Q00197_SevenSignsTheSacredBookOfSeal.class.getSimpleName(), "Seven Signs, the Sacred Book of Seal"); + new Q00197_SevenSignsTheSacredBookOfSeal(); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00198_SevenSignsEmbryo/Q00198_SevenSignsEmbryo.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00198_SevenSignsEmbryo/Q00198_SevenSignsEmbryo.java index d6d865032e..1536b20c79 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00198_SevenSignsEmbryo/Q00198_SevenSignsEmbryo.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00198_SevenSignsEmbryo/Q00198_SevenSignsEmbryo.java @@ -37,7 +37,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay; * Seven Signs, Embryo (198) * @author Adry_85 */ -public class Q00198_SevenSignsEmbryo extends Quest +public final class Q00198_SevenSignsEmbryo extends Quest { // NPCs private static final int SHILENS_EVIL_THOUGHTS = 27346; @@ -53,9 +53,9 @@ public class Q00198_SevenSignsEmbryo extends Quest // Skill private static SkillHolder NPC_HEAL = new SkillHolder(4065, 8); - public Q00198_SevenSignsEmbryo(int questId, String name, String descr) + private Q00198_SevenSignsEmbryo() { - super(questId, name, descr); + super(198, Q00198_SevenSignsEmbryo.class.getSimpleName(), "Seven Signs, Embryo"); addFirstTalkId(JAINA); addStartNpc(WOOD); addTalkId(WOOD, FRANZ); @@ -77,7 +77,7 @@ public class Q00198_SevenSignsEmbryo extends Quest return super.onAdvEvent(event, npc, player); } - final QuestState st = player.getQuestState(getName()); + final QuestState st = getQuestState(player, false); if (st == null) { return null; @@ -108,9 +108,7 @@ public class Q00198_SevenSignsEmbryo extends Quest if (st.isCond(1)) { isBusy = true; - NpcSay ns = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP); - ns.addStringParameter(player.getName()); - npc.broadcastPacket(ns); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP).addStringParameter(player.getName())); startQuestTimer("heal", 30000 - getRandom(20000), npc, player); L2MonsterInstance monster = (L2MonsterInstance) addSpawn(SHILENS_EVIL_THOUGHTS, -23734, -9184, -5384, 0, false, 0, false, npc.getInstanceId()); monster.broadcastPacket(new NpcSay(monster.getObjectId(), Say2.NPC_ALL, monster.getId(), NpcStringId.YOU_ARE_NOT_THE_OWNER_OF_THAT_ITEM)); @@ -170,12 +168,6 @@ public class Q00198_SevenSignsEmbryo extends Quest @Override public String onFirstTalk(L2Npc npc, L2PcInstance player) { - QuestState st = player.getQuestState(getName()); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } return "32617-01.html"; } @@ -188,8 +180,7 @@ public class Q00198_SevenSignsEmbryo extends Quest return null; } - final QuestState st = partyMember.getQuestState(getName()); - + final QuestState st = getQuestState(player, false); if (npc.isInsideRadius(player, 1500, true, false)) { st.giveItems(SCULPTURE_OF_DOUBT, 1); @@ -210,13 +201,8 @@ public class Q00198_SevenSignsEmbryo extends Quest @Override public String onTalk(L2Npc npc, L2PcInstance player) { - QuestState st = player.getQuestState(getName()); + QuestState st = getQuestState(player, true); String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - switch (st.getState()) { case State.COMPLETED: @@ -289,6 +275,6 @@ public class Q00198_SevenSignsEmbryo extends Quest public static void main(String args[]) { - new Q00198_SevenSignsEmbryo(198, Q00198_SevenSignsEmbryo.class.getSimpleName(), "Seven Signs, Embryo"); + new Q00198_SevenSignsEmbryo(); } } diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05900-05999.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05900-05999.xml index 4e1d8a1b1f..a7d94fbb69 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05900-05999.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05900-05999.xml @@ -1130,15 +1130,24 @@ <set name="targetType" val="NONE" /> </skill> <skill id="5980" levels="3" name="Seal Isolation"> + <!-- Confirmed CT2.5 --> <table name="#effectPoints"> -484 -572 -653 </table> + <table name="#magicLvl"> 51 61 79 </table> + <table name="#mpConsume"> 50 61 75 </table> + <table name="#power"> 2273 3547 6059 </table> <set name="affectLimit" val="10-10" /> <set name="effectPoint" val="#effectPoints" /> + <set name="affectRange" val="300" /> <set name="hitTime" val="2500" /> - <set name="magicLvl" val="51" /> + <set name="magicLvl" val="#magicLvl" /> + <set name="mpConsume" val="#mpConsume" /> <set name="operateType" val="A1" /> + <set name="power" val="#power" /> <set name="reuseDelay" val="1000" /> - <set name="skillType" val="NOTDONE" /> - <set name="targetType" val="NONE" /> + <set name="targetType" val="AURA" /> + <for> + <effect name="PhysicalAttack" /> + </for> </skill> <skill id="5981" levels="3" name="Lilith's Curse"> <set name="abnormalLvl" val="3" /> diff --git a/L2J_DataPack_BETA/dist/sql/game/npcaidata.sql b/L2J_DataPack_BETA/dist/sql/game/npcaidata.sql index 55c2584d15..b616b7d643 100644 --- a/L2J_DataPack_BETA/dist/sql/game/npcaidata.sql +++ b/L2J_DataPack_BETA/dist/sql/game/npcaidata.sql @@ -6082,15 +6082,15 @@ INSERT INTO `npcaidata` VALUES (27368, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Slayer (27369, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Great Magus (27370, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Guard Knight -(27371, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Butcher -(27372, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Magus -(27373, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Knight-Errant -(27374, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Shilen's Evil Thoughts -(27375, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Shilen's Evil Thoughts -(27376, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Knight -(27377, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Slayer -(27378, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Great Magus -(27379, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Guard Knight +(27371, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Butcher +(27372, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Magus +(27373, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Knight-Errant +(27374, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, "null", 300, "null", 0, 0, "fighter"), -- Shilen's Evil Thoughts +(27375, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, "null", 300, "null", 0, 0, "fighter"), -- Shilen's Evil Thoughts +(27376, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Knight +(27377, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Slayer +(27378, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Great Magus +(27379, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, "null", 300, "null", 0, 0, "fighter"), -- Lilim Guard Knight (27380, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Reckless Sprite of Water (27381, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Reckless Sprite of Air (27382, 7, 15, 0, 300, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 300, "null", 0, 0, "fighter"), -- Power of Seal Isolation @@ -8731,13 +8731,13 @@ INSERT INTO `npcaidata` VALUES (32712, 7, 15, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Somulitan (32713, 7, 15, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Pathfinder Worker (32714, 7, 15, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Asher -(32715, 7, 15, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Lilith -(32716, 7, 15, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Lilith's Steward -(32717, 7, 15, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Lilith's Elite -(32718, 7, 15, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Anakim -(32719, 7, 15, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Anakim's Guardian -(32720, 7, 15, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Anakim's Guard -(32721, 7, 15, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Anakim's Executor +(32715, 7, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Lilith +(32716, 7, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Lilith's Steward +(32717, 7, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Lilith's Elite +(32718, 7, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Anakim +(32719, 7, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Anakim's Guardian +(32720, 7, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Anakim's Guard +(32721, 7, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Anakim's Executor (32722, 7, 15, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- Battle League Helper (32723, 7, 15, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- (32724, 7, 15, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "null", 0, "null", 0, 0, "fighter"), -- -- GitLab