Pailaka Injured Dragon and other quest related changes.
Adapted from: L2jUnity free files.
This commit is contained in:
@@ -1,129 +1,524 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<instance id="45" name="Pailaka (Injured dragon)" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/instance.xsd">
|
||||
<!-- Pailaka Injured Dragon -->
|
||||
<instance id="45" name="Pailaka (Injured dragon)" maxWorlds="100" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/instance.xsd">
|
||||
<time duration="90" empty="3" />
|
||||
<locations>
|
||||
<enter type="FIXED">
|
||||
<location x="125757" y="-40928" z="-3736" />
|
||||
<location x="125738" y="-40933" z="-3770" />
|
||||
</enter>
|
||||
<exit type="ORIGIN" />
|
||||
</locations>
|
||||
<conditions>
|
||||
<condition type="Level">
|
||||
<param name="min" value="73" />
|
||||
<param name="max" value="77" />
|
||||
</condition>
|
||||
<condition type="Quest">
|
||||
<param name="id" value="144" />
|
||||
</condition>
|
||||
</conditions>
|
||||
<spawnlist>
|
||||
<group name="general">
|
||||
<npc id="32502" x="125524" y="-40946" z="-3718" heading="8279" />
|
||||
<npc id="32509" x="110074" y="-41324" z="-2285" heading="33580" />
|
||||
<npc id="32509" x="113745" y="-47565" z="-2593" heading="55710" />
|
||||
<npc id="18660" x="105618" y="-41801" z="-1782" heading="34701" /> <!-- Latana -->
|
||||
<group name="pailaka_2316_1m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_1" minZ="-3000" maxZ="-2700">
|
||||
<node x="121312" y="-46106" />
|
||||
<node x="122368" y="-46174" />
|
||||
<node x="122368" y="-45526" />
|
||||
<node x="121296" y="-45474" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18635" x="122122" y="-45658" z="-2884" count="1" /> <!-- Varka Silenos Recruit -->
|
||||
<npc id="18636" x="122130" y="-45754" z="-2884" count="1" /> <!-- Varka Silenos Footman -->
|
||||
<npc id="18642" x="122134" y="-45862" z="-2884" count="1" /> <!-- Varka Silenos Warrior -->
|
||||
<npc id="18636" x="122130" y="-45958" z="-2880" count="1" /> <!-- Varka Silenos Footman -->
|
||||
<npc id="18635" x="122122" y="-46042" z="-2880" count="1" /> <!-- Varka Silenos Recruit -->
|
||||
</group>
|
||||
<group name="wall_200001" spawnByDefault="false">
|
||||
<npc id="18635" x="122077" y="-46098" z="-2914" heading="5028" />
|
||||
<npc id="18636" x="122023" y="-45769" z="-2910" heading="63593" />
|
||||
<npc id="18642" x="122038" y="-45904" z="-2914" heading="771" />
|
||||
<npc id="18636" x="122050" y="-45999" z="-2910" heading="1701" />
|
||||
<npc id="18635" x="122019" y="-45634" z="-2908" heading="64841" />
|
||||
<group name="pailaka_2316_1m2">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_1" minZ="-3000" maxZ="-2700">
|
||||
<node x="121312" y="-46106" />
|
||||
<node x="122368" y="-46174" />
|
||||
<node x="122368" y="-45526" />
|
||||
<node x="121296" y="-45474" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18640" x="121900" y="-45774" z="-2876" count="1" /> <!-- Varka Silenos Shaman -->
|
||||
<npc id="18641" x="121898" y="-45904" z="-2875" count="1" /> <!-- Varka Silenos Priest -->
|
||||
<npc id="18663" x="121898" y="-45904" z="-2875" count="1"> <!-- -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="23_16_pailaka_telezone_01" />
|
||||
<param name="GM_ID" value="2316001" />
|
||||
<!-- Custom param to avoid maker -->
|
||||
<param name="control_maker" value="pailaka_2316_1m1" />
|
||||
</parameters>
|
||||
</npc>
|
||||
</group>
|
||||
<group name="wall_200001_add" spawnByDefault="false">
|
||||
<npc id="18640" x="121931" y="-45844" z="-2902" heading="664" /> <!-- Varka Silenos Shaman -->
|
||||
<group name="pailaka_2316_2m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_2" minZ="-2648" maxZ="-2148">
|
||||
<node x="116604" y="-51752" />
|
||||
<node x="117320" y="-52676" />
|
||||
<node x="117944" y="-51812" />
|
||||
<node x="117056" y="-51204" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18635" x="117460" y="-51832" z="-2528" heading="57343" count="1" /> <!-- Varka Silenos Recruit -->
|
||||
<npc id="18636" x="117396" y="-51928" z="-2520" heading="57343" count="1" /> <!-- Varka Silenos Footman -->
|
||||
<npc id="18642" x="117328" y="-52020" z="-2528" heading="57343" count="1" /> <!-- Varka Silenos Warrior -->
|
||||
<npc id="18636" x="117252" y="-52104" z="-2528" heading="57343" count="1" /> <!-- Varka Silenos Footman -->
|
||||
<npc id="18635" x="117180" y="-52180" z="-2528" heading="57343" count="1" /> <!-- Varka Silenos Recruit -->
|
||||
</group>
|
||||
<group name="wall_200002" spawnByDefault="false">
|
||||
<npc id="18653" x="115997" y="-46271" z="-2637" heading="63732" />
|
||||
<npc id="18654" x="116056" y="-46341" z="-2630" heading="63791" />
|
||||
<npc id="18646" x="116054" y="-46439" z="-2637" heading="63477" />
|
||||
<npc id="18646" x="116057" y="-46521" z="-2644" heading="65025" />
|
||||
<npc id="18654" x="116084" y="-46587" z="-2651" heading="1141" />
|
||||
<npc id="18653" x="116063" y="-46680" z="-2658" heading="4323" />
|
||||
<group name="pailaka_2316_2m2">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_2" minZ="-2648" maxZ="-2148">
|
||||
<node x="116604" y="-51752" />
|
||||
<node x="117320" y="-52676" />
|
||||
<node x="117944" y="-51812" />
|
||||
<node x="117056" y="-51204" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18640" x="117196" y="-51832" z="-2560" heading="57344" count="1" /> <!-- Varka Silenos Shaman -->
|
||||
<npc id="18641" x="117088" y="-51948" z="-2544" heading="57344" count="1" /> <!-- Varka Silenos Priest -->
|
||||
<npc id="18663" x="117088" y="-51948" z="-2544" heading="57344" count="1"> <!-- -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="23_16_pailaka_telezone_02" />
|
||||
<param name="GM_ID" value="2316002" />
|
||||
<!-- Custom param to avoid maker -->
|
||||
<param name="control_maker" value="pailaka_2316_2m1" />
|
||||
</parameters>
|
||||
</npc>
|
||||
</group>
|
||||
<group name="wall_200002_add" spawnByDefault="false">
|
||||
<npc id="18648" x="115989" y="-46537" z="-2641" heading="1087" />
|
||||
<npc id="18652" x="115984" y="-46471" z="-2635" heading="0" />
|
||||
<group name="pailaka_2316_3m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_3" minZ="-2680" maxZ="-2180">
|
||||
<node x="115340" y="-56344" />
|
||||
<node x="116404" y="-56356" />
|
||||
<node x="116516" y="-55524" />
|
||||
<node x="115460" y="-55488" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18635" x="116024" y="-55796" z="-2512" count="1" /> <!-- Varka Silenos Recruit -->
|
||||
<npc id="18636" x="116016" y="-55888" z="-2527" count="1" /> <!-- Varka Silenos Footman -->
|
||||
<npc id="18642" x="116000" y="-55992" z="-2528" count="1" /> <!-- Varka Silenos Warrior -->
|
||||
<npc id="18636" x="115984" y="-56092" z="-2512" count="1" /> <!-- Varka Silenos Footman -->
|
||||
<npc id="18635" x="115968" y="-56176" z="-2493" count="1" /> <!-- Varka Silenos Recruit -->
|
||||
</group>
|
||||
<group name="wall_200003" spawnByDefault="false">
|
||||
<npc id="18653" x="116213" y="-50301" z="-2622" heading="50611" />
|
||||
<npc id="18654" x="116155" y="-50420" z="-2635" heading="53262" />
|
||||
<npc id="18646" x="116075" y="-50463" z="-2642" heading="53954" />
|
||||
<npc id="18646" x="116020" y="-50497" z="-2643" heading="55751" />
|
||||
<npc id="18654" x="115952" y="-50528" z="-2646" heading="52507" />
|
||||
<npc id="18653" x="115780" y="-50465" z="-2620" heading="52135" />
|
||||
<group name="pailaka_2316_3m2">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_3" minZ="-2680" maxZ="-2180">
|
||||
<node x="115340" y="-56344" />
|
||||
<node x="116404" y="-56356" />
|
||||
<node x="116516" y="-55524" />
|
||||
<node x="115460" y="-55488" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18640" x="115755" y="-55866" z="-2579" count="1" /> <!-- Varka Silenos Shaman -->
|
||||
<npc id="18641" x="115760" y="-56025" z="-2569" count="1" /> <!-- Varka Silenos Priest -->
|
||||
<npc id="18663" x="115760" y="-56025" z="-2569" count="1"> <!-- -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="23_16_pailaka_telezone_03" />
|
||||
<param name="GM_ID" value="2316003" />
|
||||
<!-- Custom param to avoid maker -->
|
||||
<param name="control_maker" value="pailaka_2316_3m1" />
|
||||
</parameters>
|
||||
</npc>
|
||||
</group>
|
||||
<group name="wall_200003_add" spawnByDefault="false">
|
||||
<npc id="18648" x="116065" y="-50355" z="-2639" heading="53280" />
|
||||
<npc id="18652" x="115988" y="-50389" z="-2641" heading="52342" />
|
||||
<npc id="18648" x="115906" y="-50447" z="-2643" heading="54768" />
|
||||
<group name="pailaka_2316_4m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_4" minZ="-2704" maxZ="-2104">
|
||||
<node x="114708" y="-46884" />
|
||||
<node x="116404" y="-46820" />
|
||||
<node x="116404" y="-46032" />
|
||||
<node x="114708" y="-46096" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18653" x="116150" y="-46307" z="-2614" count="1" /> <!-- Varka's Elite Escort -->
|
||||
<npc id="18654" x="116151" y="-46369" z="-2622" count="1" /> <!-- Varka's Commander -->
|
||||
<npc id="18646" x="116153" y="-46431" z="-2623" count="1" /> <!-- Varka Silenos Sergeant -->
|
||||
<npc id="18646" x="116152" y="-46491" z="-2631" count="1" /> <!-- Varka Silenos Sergeant -->
|
||||
<npc id="18654" x="116147" y="-46552" z="-2635" count="1" /> <!-- Varka's Commander -->
|
||||
<npc id="18653" x="116144" y="-46608" z="-2640" count="1" /> <!-- Varka's Elite Escort -->
|
||||
</group>
|
||||
<group name="wall_200004">
|
||||
<npc id="18635" x="117184" y="-51722" z="-2575" heading="55468" />
|
||||
<npc id="18636" x="117097" y="-51774" z="-2577" heading="51453" />
|
||||
<npc id="18642" x="117013" y="-51840" z="-2578" heading="55135" />
|
||||
<npc id="18636" x="116926" y="-51876" z="-2580" heading="56322" />
|
||||
<npc id="18635" x="116876" y="-51937" z="-2572" heading="59301" />
|
||||
<group name="pailaka_2316_4m2">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_4" minZ="-2704" maxZ="-2104">
|
||||
<node x="114708" y="-46884" />
|
||||
<node x="116404" y="-46820" />
|
||||
<node x="116404" y="-46032" />
|
||||
<node x="114708" y="-46096" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18645" x="115947" y="-46458" z="-2617" count="1" /> <!-- Varka Silenos Magus -->
|
||||
<npc id="18644" x="115911" y="-46378" z="-2623" count="1" /> <!-- Varka Silenos Medium -->
|
||||
<npc id="18648" x="115916" y="-46525" z="-2608" count="1" /> <!-- Varka Silenos Chief Priest -->
|
||||
<npc id="18663" x="115916" y="-46525" z="-2608" count="1"> <!-- -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="23_16_pailaka_telezone_04" />
|
||||
<param name="GM_ID" value="2316004" />
|
||||
<!-- Custom param to avoid maker -->
|
||||
<param name="control_maker" value="pailaka_2316_4m1" />
|
||||
</parameters>
|
||||
</npc>
|
||||
</group>
|
||||
<group name="wall_200004_add" spawnByDefault="false">
|
||||
<npc id="18648" x="117060" y="-51674" z="-2580" heading="57161" />
|
||||
<npc id="18648" x="116918" y="-51781" z="-2582" heading="57343" />
|
||||
<group name="pailaka_2316_5m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_5" minZ="-2684" maxZ="-2184">
|
||||
<node x="115756" y="-50960" />
|
||||
<node x="116448" y="-50512" />
|
||||
<node x="115760" y="-49552" />
|
||||
<node x="114896" y="-50368" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18653" x="116163" y="-50317" z="-2612" heading="53247" count="1" /> <!-- Varka's Elite Escort -->
|
||||
<npc id="18654" x="116104" y="-50357" z="-2620" heading="53247" count="1" /> <!-- Varka's Commander -->
|
||||
<npc id="18646" x="116048" y="-50397" z="-2622" heading="53247" count="1" /> <!-- Varka Silenos Sergeant -->
|
||||
<npc id="18646" x="115993" y="-50439" z="-2624" heading="53247" count="1" /> <!-- Varka Silenos Sergeant -->
|
||||
<npc id="18654" x="115932" y="-50481" z="-2627" heading="53247" count="1" /> <!-- Varka's Commander -->
|
||||
<npc id="18653" x="115869" y="-50505" z="-2609" heading="53247" count="1" /> <!-- Varka's Elite Escort -->
|
||||
</group>
|
||||
<group name="wall_200005" spawnByDefault="false">
|
||||
<npc id="18649" x="111606" y="-43746" z="-2633" heading="62267" />
|
||||
<npc id="18650" x="111602" y="-43846" z="-2638" heading="63427" />
|
||||
<npc id="18649" x="111616" y="-43922" z="-2635" heading="60699" />
|
||||
<npc id="18650" x="111618" y="-44003" z="-2637" heading="59709" />
|
||||
<npc id="18649" x="111614" y="-44071" z="-2642" heading="63794" />
|
||||
<npc id="18650" x="111619" y="-44129" z="-2650" heading="2365" />
|
||||
<group name="pailaka_2316_5m2">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_5" minZ="-2684" maxZ="-2184">
|
||||
<node x="115756" y="-50960" />
|
||||
<node x="116448" y="-50512" />
|
||||
<node x="115760" y="-49552" />
|
||||
<node x="114896" y="-50368" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18645" x="116054" y="-50230" z="-2618" heading="53247" count="1" /> <!-- Varka Silenos Magus -->
|
||||
<npc id="18644" x="115944" y="-50297" z="-2624" heading="53247" count="1" /> <!-- Varka Silenos Medium -->
|
||||
<npc id="18648" x="115837" y="-50357" z="-2624" heading="53247" count="1" /> <!-- Varka Silenos Chief Priest -->
|
||||
<npc id="18663" x="115837" y="-50357" z="-2624" heading="53247" count="1"> <!-- -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="23_16_pailaka_telezone_05" />
|
||||
<param name="GM_ID" value="2316005" />
|
||||
<!-- Custom param to avoid maker -->
|
||||
<param name="control_maker" value="pailaka_2316_5m1" />
|
||||
</parameters>
|
||||
</npc>
|
||||
</group>
|
||||
<group name="wall_200005_add" spawnByDefault="false">
|
||||
<npc id="18652" x="111499" y="-43867" z="-2619" heading="1338" />
|
||||
<npc id="18648" x="111539" y="-43743" z="-2623" heading="62952" />
|
||||
<npc id="18648" x="111522" y="-43965" z="-2616" heading="63399" />
|
||||
<npc id="18652" x="111514" y="-44085" z="-2625" heading="379" />
|
||||
<group name="pailaka_2316_6m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_6" minZ="-2360" maxZ="-1960">
|
||||
<node x="108020" y="-50088" />
|
||||
<node x="108940" y="-50004" />
|
||||
<node x="108872" y="-49284" />
|
||||
<node x="107924" y="-49328" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18653" x="108622" y="-49901" z="-2169" heading="49151" count="1" /> <!-- Varka's Elite Escort -->
|
||||
<npc id="18654" x="108510" y="-49908" z="-2200" heading="49151" count="1" /> <!-- Varka's Commander -->
|
||||
<npc id="18646" x="108398" y="-49916" z="-2229" heading="49151" count="1" /> <!-- Varka Silenos Sergeant -->
|
||||
<npc id="18646" x="108296" y="-49937" z="-2242" heading="49151" count="1" /> <!-- Varka Silenos Sergeant -->
|
||||
<npc id="18654" x="108185" y="-49947" z="-2261" heading="49151" count="1" /> <!-- Varka's Commander -->
|
||||
<npc id="18653" x="108078" y="-49950" z="-2268" heading="49151" count="1" /> <!-- Varka's Elite Escort -->
|
||||
</group>
|
||||
<group name="wall_200006" spawnByDefault="false">
|
||||
<npc id="18657" x="109272" y="-45665" z="-2210" heading="4731" />
|
||||
<npc id="18655" x="109326" y="-45781" z="-2235" heading="5945" />
|
||||
<npc id="18657" x="109393" y="-45893" z="-2253" heading="5549" />
|
||||
<npc id="18655" x="109458" y="-45980" z="-2263" heading="6915" />
|
||||
<npc id="18657" x="109516" y="-46032" z="-2268" heading="4362" />
|
||||
<npc id="18655" x="109584" y="-46100" z="-2263" heading="9356" />
|
||||
<group name="pailaka_2316_6m2">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_6" minZ="-2360" maxZ="-1960">
|
||||
<node x="108020" y="-50088" />
|
||||
<node x="108940" y="-50004" />
|
||||
<node x="108872" y="-49284" />
|
||||
<node x="107924" y="-49328" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18645" x="108514" y="-49748" z="-2175" heading="45055" count="1" /> <!-- Varka Silenos Magus -->
|
||||
<npc id="18644" x="108322" y="-49726" z="-2214" heading="49151" count="1" /> <!-- Varka Silenos Medium -->
|
||||
<npc id="18648" x="108149" y="-49766" z="-2243" heading="53247" count="1" /> <!-- Varka Silenos Chief Priest -->
|
||||
<npc id="18663" x="108149" y="-49766" z="-2243" heading="53247" count="1"> <!-- -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="23_16_pailaka_telezone_06" />
|
||||
<param name="GM_ID" value="2316006" />
|
||||
<!-- Custom param to avoid maker -->
|
||||
<param name="control_maker" value="pailaka_2316_6m1" />
|
||||
</parameters>
|
||||
</npc>
|
||||
</group>
|
||||
<group name="wall_200006_add" spawnByDefault="false">
|
||||
<npc id="18652" x="109442" y="-46077" z="-2256" heading="8191" />
|
||||
<npc id="18648" x="109298" y="-45890" z="-2232" heading="7391" />
|
||||
<npc id="18652" x="109373" y="-45985" z="-2250" heading="7882" />
|
||||
<group name="pailaka_2316_7m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_7" minZ="-2745" maxZ="-2345">
|
||||
<node x="110628" y="-44180" />
|
||||
<node x="111680" y="-44220" />
|
||||
<node x="111740" y="-43532" />
|
||||
<node x="110700" y="-43484" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18649" x="111552" y="-43594" z="-2629" count="1" /> <!-- Varka Silenos Great Magus -->
|
||||
<npc id="18650" x="111549" y="-43688" z="-2616" count="1" /> <!-- Varka Silenos Officer -->
|
||||
<npc id="18649" x="111545" y="-43776" z="-2611" count="1" /> <!-- Varka Silenos Great Magus -->
|
||||
<npc id="18650" x="111540" y="-43868" z="-2610" count="1" /> <!-- Varka Silenos Officer -->
|
||||
<npc id="18649" x="111536" y="-43952" z="-2606" count="1" /> <!-- Varka Silenos Great Magus -->
|
||||
<npc id="18650" x="111533" y="-44038" z="-2608" count="1" /> <!-- Varka Silenos Officer -->
|
||||
</group>
|
||||
<group name="wall_200007">
|
||||
<npc id="18653" x="116432" y="-55729" z="-2441" heading="65250" />
|
||||
<npc id="18654" x="116499" y="-55822" z="-2449" heading="63477" />
|
||||
<npc id="18646" x="116503" y="-55918" z="-2449" heading="589" />
|
||||
<npc id="18646" x="116490" y="-56022" z="-2445" heading="61772" />
|
||||
<npc id="18654" x="116481" y="-56108" z="-2437" heading="62531" />
|
||||
<npc id="18653" x="116433" y="-56194" z="-2432" heading="927" />
|
||||
<group name="pailaka_2316_7m2">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_7" minZ="-2745" maxZ="-2345">
|
||||
<node x="110628" y="-44180" />
|
||||
<node x="111680" y="-44220" />
|
||||
<node x="111740" y="-43532" />
|
||||
<node x="110700" y="-43484" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18652" x="111360" y="-43664" z="-2592" count="1" /> <!-- Varka Silenos Grand Priest -->
|
||||
<npc id="18648" x="111360" y="-43744" z="-2576" count="1" /> <!-- Varka Silenos Chief Priest -->
|
||||
<npc id="18652" x="111344" y="-43824" z="-2576" count="1" /> <!-- Varka Silenos Grand Priest -->
|
||||
<npc id="18648" x="111347" y="-43905" z="-2576" count="1" /> <!-- Varka Silenos Chief Priest -->
|
||||
<npc id="18652" x="111344" y="-43984" z="-2576" count="1" /> <!-- Varka Silenos Grand Priest -->
|
||||
<npc id="18663" x="111344" y="-43984" z="-2576" count="1"> <!-- -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="23_16_pailaka_telezone_07" />
|
||||
<param name="GM_ID" value="2316007" />
|
||||
<!-- Custom param to avoid maker -->
|
||||
<param name="control_maker" value="pailaka_2316_7m1" />
|
||||
</parameters>
|
||||
</npc>
|
||||
</group>
|
||||
<group name="wall_200007_add" spawnByDefault="false">
|
||||
<npc id="18648" x="116348" y="-56103" z="-2460" heading="63868" />
|
||||
<npc id="18652" x="116394" y="-55968" z="-2465" heading="2634" />
|
||||
<npc id="18648" x="116398" y="-55821" z="-2464" heading="664" />
|
||||
<group name="pailaka_2316_8m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_8" minZ="-2376" maxZ="-1976">
|
||||
<node x="109092" y="-46644" />
|
||||
<node x="109916" y="-45888" />
|
||||
<node x="109580" y="-45208" />
|
||||
<node x="108612" y="-45880" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18649" x="109081" y="-46337" z="-2176" heading="36864" count="1" /> <!-- Varka Silenos Great Magus -->
|
||||
<npc id="18650" x="109048" y="-46280" z="-2176" heading="36864" count="1" /> <!-- Varka Silenos Officer -->
|
||||
<npc id="18649" x="109015" y="-46222" z="-2160" heading="36864" count="1" /> <!-- Varka Silenos Great Magus -->
|
||||
<npc id="18650" x="108984" y="-46168" z="-2160" heading="36864" count="1" /> <!-- Varka Silenos Officer -->
|
||||
<npc id="18649" x="108951" y="-46120" z="-2144" heading="36864" count="1" /> <!-- Varka Silenos Great Magus -->
|
||||
<npc id="18650" x="108916" y="-46068" z="-2144" heading="36864" count="1" /> <!-- Varka Silenos Officer -->
|
||||
</group>
|
||||
<group name="wall_200008" spawnByDefault="false">
|
||||
<npc id="18655" x="108892" y="-41031" z="-2204" heading="64381" />
|
||||
<npc id="18657" x="108888" y="-41114" z="-2195" heading="64256" />
|
||||
<npc id="18655" x="108886" y="-41185" z="-2196" heading="64884" />
|
||||
<npc id="18657" x="108878" y="-41260" z="-2188" heading="64876" />
|
||||
<npc id="18655" x="108862" y="-41323" z="-2174" heading="62422" />
|
||||
<npc id="18657" x="108869" y="-41376" z="-2163" heading="2280" />
|
||||
<npc id="18655" x="108877" y="-41436" z="-2144" heading="64321" />
|
||||
<group name="pailaka_2316_8m2">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_8" minZ="-2376" maxZ="-1976">
|
||||
<node x="109092" y="-46644" />
|
||||
<node x="109916" y="-45888" />
|
||||
<node x="109580" y="-45208" />
|
||||
<node x="108612" y="-45880" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18652" x="109203" y="-46244" z="-2190" heading="36863" count="1" /> <!-- Varka Silenos Grand Priest -->
|
||||
<npc id="18648" x="109169" y="-46186" z="-2190" heading="36863" count="1" /> <!-- Varka Silenos Chief Priest -->
|
||||
<npc id="18652" x="109134" y="-46127" z="-2174" heading="36863" count="1" /> <!-- Varka Silenos Grand Priest -->
|
||||
<npc id="18648" x="109094" y="-46071" z="-2174" heading="36863" count="1" /> <!-- Varka Silenos Chief Priest -->
|
||||
<npc id="18652" x="109058" y="-46013" z="-2158" heading="36863" count="1" /> <!-- Varka Silenos Grand Priest -->
|
||||
<npc id="18663" x="109058" y="-46013" z="-2158" heading="36863" count="1"> <!-- -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="23_16_pailaka_telezone_08" />
|
||||
<param name="GM_ID" value="2316008" />
|
||||
<!-- Custom param to avoid maker -->
|
||||
<param name="control_maker" value="pailaka_2316_8m1" />
|
||||
</parameters>
|
||||
</npc>
|
||||
</group>
|
||||
<group name="wall_200008_add" spawnByDefault="false">
|
||||
<npc id="18652" x="108797" y="-41101" z="-2176" heading="62980" />
|
||||
<npc id="18652" x="108819" y="-41198" z="-2183" heading="0" />
|
||||
<npc id="18652" x="108811" y="-41293" z="-2170" heading="473" />
|
||||
<group name="pailaka_2316_9m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_9" minZ="-1924" maxZ="-1424">
|
||||
<node x="109752" y="-39880" />
|
||||
<node x="110416" y="-39860" />
|
||||
<node x="110348" y="-39020" />
|
||||
<node x="109716" y="-38908" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18650" x="110224" y="-39828" z="-1808" heading="49152" count="1" /> <!-- Varka Silenos Officer -->
|
||||
<npc id="18649" x="110144" y="-39840" z="-1840" heading="49152" count="1" /> <!-- Varka Silenos Great Magus -->
|
||||
<npc id="18650" x="110064" y="-39844" z="-1840" heading="49152" count="1" /> <!-- Varka Silenos Officer -->
|
||||
<npc id="18649" x="109978" y="-39848" z="-1840" heading="49152" count="1" /> <!-- Varka Silenos Great Magus -->
|
||||
<npc id="18650" x="109892" y="-39847" z="-1824" heading="49152" count="1" /> <!-- Varka Silenos Officer -->
|
||||
</group>
|
||||
<group name="wall_200009">
|
||||
<npc id="18650" x="110205" y="-39800" z="-1840" heading="46882" />
|
||||
<npc id="18649" x="110110" y="-39799" z="-1850" heading="46038" />
|
||||
<npc id="18659" x="110023" y="-39802" z="-1852" heading="48655" />
|
||||
<npc id="18649" x="109955" y="-39811" z="-1855" heading="48647" />
|
||||
<npc id="18650" x="109874" y="-39833" z="-1837" heading="48408" />
|
||||
<group name="pailaka_2316_9m2">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_9" minZ="-1924" maxZ="-1424">
|
||||
<node x="109752" y="-39880" />
|
||||
<node x="110416" y="-39860" />
|
||||
<node x="110348" y="-39020" />
|
||||
<node x="109716" y="-38908" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18652" x="110143" y="-39645" z="-1776" heading="49152" count="1" /> <!-- Varka Silenos Grand Priest -->
|
||||
<npc id="18652" x="110048" y="-39648" z="-1776" heading="49152" count="1" /> <!-- Varka Silenos Grand Priest -->
|
||||
<npc id="18652" x="109950" y="-39646" z="-1776" heading="49152" count="1" /> <!-- Varka Silenos Grand Priest -->
|
||||
<npc id="18663" x="109950" y="-39646" z="-1776" heading="49152" count="1"> <!-- -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="23_16_pailaka_telezone_09" />
|
||||
<param name="GM_ID" value="2316009" />
|
||||
<!-- Custom param to avoid maker -->
|
||||
<param name="control_maker" value="pailaka_2316_9m1" />
|
||||
</parameters>
|
||||
</npc>
|
||||
</group>
|
||||
<group name="wall_200009_add" spawnByDefault="false">
|
||||
<npc id="18652" x="109965" y="-39685" z="-1815" heading="48384" />
|
||||
<npc id="18652" x="110087" y="-39710" z="-1827" heading="48270" />
|
||||
<group name="pailaka_2316_10m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_10" minZ="-2272" maxZ="-1772">
|
||||
<node x="108388" y="-41460" />
|
||||
<node x="108912" y="-41460" />
|
||||
<node x="109048" y="-41020" />
|
||||
<node x="108432" y="-40848" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18655" x="108917" y="-41028" z="-2188" count="1" /> <!-- Varka's Chief Escort -->
|
||||
<npc id="18657" x="108912" y="-41089" z="-2180" count="1" /> <!-- Prophet's Royal Guard -->
|
||||
<npc id="18655" x="108901" y="-41147" z="-2181" count="1" /> <!-- Varka's Chief Escort -->
|
||||
<npc id="18657" x="108894" y="-41207" z="-2182" count="1" /> <!-- Prophet's Royal Guard -->
|
||||
<npc id="18655" x="108885" y="-41267" z="-2170" count="1" /> <!-- Varka's Chief Escort -->
|
||||
<npc id="18657" x="108868" y="-41320" z="-2157" count="1" /> <!-- Prophet's Royal Guard -->
|
||||
<npc id="18655" x="108894" y="-41379" z="-2144" count="1" /> <!-- Varka's Chief Escort -->
|
||||
</group>
|
||||
<group name="pailaka_2316_10m2">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_10" minZ="-2272" maxZ="-1772">
|
||||
<node x="108388" y="-41460" />
|
||||
<node x="108912" y="-41460" />
|
||||
<node x="109048" y="-41020" />
|
||||
<node x="108432" y="-40848" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18656" x="108676" y="-41069" z="-2137" count="1" /> <!-- Varka's Chief Magus -->
|
||||
<npc id="18658" x="108669" y="-41136" z="-2133" count="1" /> <!-- Prophet's Disciple -->
|
||||
<npc id="18659" x="108665" y="-41207" z="-2131" count="1" /> <!-- Varka's Prophet -->
|
||||
<npc id="18658" x="108653" y="-41273" z="-2119" count="1" /> <!-- Prophet's Disciple -->
|
||||
<npc id="18663" x="108653" y="-41273" z="-2119" count="1"> <!-- -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="23_16_pailaka_telezone_10" />
|
||||
<param name="GM_ID" value="2316010" />
|
||||
<!-- Custom param to avoid maker -->
|
||||
<param name="control_maker" value="pailaka_2316_10m1" />
|
||||
</parameters>
|
||||
</npc>
|
||||
</group>
|
||||
<group name="pailaka_2316_bossm1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_boss" minZ="-1960" maxZ="-1360">
|
||||
<node x="105320" y="-43124" />
|
||||
<node x="107304" y="-42412" />
|
||||
<node x="107352" y="-40940" />
|
||||
<node x="105028" y="-41188" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18660" x="105785" y="-41785" z="-1810" heading="32768" count="1" /> <!-- Latana -->
|
||||
<npc id="18603" x="105974" y="-41794" z="-1784" heading="32768" count="1" /> <!-- -->
|
||||
</group>
|
||||
<group name="pailaka_2316_animal_1m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_animal_1" minZ="-3416" maxZ="-2816">
|
||||
<node x="121076" y="-43420" />
|
||||
<node x="124120" y="-43760" />
|
||||
<node x="123704" y="-41368" />
|
||||
<node x="120276" y="-41568" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18637" count="5" /> <!-- Grazing Antelope -->
|
||||
</group>
|
||||
<group name="pailaka_2316_animal_2m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_animal_2" minZ="-2680" maxZ="-2080">
|
||||
<node x="123792" y="-53020" />
|
||||
<node x="126076" y="-50516" />
|
||||
<node x="124300" y="-49584" />
|
||||
<node x="122536" y="-51908" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18637" count="4" /> <!-- Grazing Antelope -->
|
||||
</group>
|
||||
<group name="pailaka_2316_animal_3m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_animal_3" minZ="-2464" maxZ="-1664">
|
||||
<node x="119348" y="-56704" />
|
||||
<node x="122056" y="-56624" />
|
||||
<node x="122040" y="-53536" />
|
||||
<node x="118812" y="-54188" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18643" count="3" /> <!-- Grazing Antelope -->
|
||||
</group>
|
||||
<group name="pailaka_2316_animal_4m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_animal_4" minZ="-3004" maxZ="-2404">
|
||||
<node x="110524" y="-56436" />
|
||||
<node x="112908" y="-56756" />
|
||||
<node x="113144" y="-54140" />
|
||||
<node x="110428" y="-53384" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18647" count="5" /> <!-- Grazing Flava -->
|
||||
</group>
|
||||
<group name="pailaka_2316_animal_5m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_animal_5" minZ="-2676" maxZ="-2076">
|
||||
<node x="107688" y="-55456" />
|
||||
<node x="109016" y="-55748" />
|
||||
<node x="108976" y="-51696" />
|
||||
<node x="107800" y="-51872" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18647" count="5" /> <!-- Grazing Flava -->
|
||||
</group>
|
||||
<group name="pailaka_2316_animal_6m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_animal_6" minZ="-2620" maxZ="-2020">
|
||||
<node x="114232" y="-40504" />
|
||||
<node x="115736" y="-40892" />
|
||||
<node x="116260" y="-38364" />
|
||||
<node x="114140" y="-38540" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18651" count="5" /> <!-- Grazing Elder Antelope -->
|
||||
</group>
|
||||
<group name="pailaka_2316_animal_7m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_animal_7" minZ="-1292" maxZ="-592">
|
||||
<node x="108865" y="-36896" />
|
||||
<node x="110601" y="-37196" />
|
||||
<node x="109833" y="-35720" />
|
||||
<node x="108521" y="-35800" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="18651" count="5" /> <!-- Grazing Elder Antelope -->
|
||||
</group>
|
||||
<group name="pailaka_2316_npc_1m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_npc_1" minZ="-3780" maxZ="-3580">
|
||||
<node x="125436" y="-41028" />
|
||||
<node x="125636" y="-41028" />
|
||||
<node x="125636" y="-40828" />
|
||||
<node x="125436" y="-40828" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="32502" x="125536" y="-40928" z="-3780" heading="8192" count="1" /> <!-- Ketra Orc Supporter -->
|
||||
</group>
|
||||
<group name="pailaka_2316_npc_2m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_npc_2" minZ="-2668" maxZ="-2468">
|
||||
<node x="113720" y="-47688" />
|
||||
<node x="113920" y="-47688" />
|
||||
<node x="113920" y="-47488" />
|
||||
<node x="113720" y="-47488" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="32509" x="113820" y="-47588" z="-2668" count="1" /> <!-- Ketra Orc Intelligence Officer -->
|
||||
</group>
|
||||
<group name="pailaka_2316_npc_3m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_npc_3" minZ="-2448" maxZ="-2248">
|
||||
<node x="107452" y="-53252" />
|
||||
<node x="107652" y="-53252" />
|
||||
<node x="107652" y="-53052" />
|
||||
<node x="107452" y="-53052" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="32509" x="107552" y="-53152" z="-2448" count="1" /> <!-- Ketra Orc Intelligence Officer -->
|
||||
</group>
|
||||
<group name="pailaka_2316_npc_4m1">
|
||||
<territories>
|
||||
<territory name="pailaka_2316_npc_4" minZ="-2340" maxZ="-1940">
|
||||
<node x="110080" y="-41380" />
|
||||
<node x="110280" y="-41380" />
|
||||
<node x="110280" y="-41180" />
|
||||
<node x="110080" y="-41180" />
|
||||
</territory>
|
||||
</territories>
|
||||
<npc id="32509" x="110144" y="-41260" z="-2260" heading="36864" count="1" /> <!-- Ketra Orc Intelligence Officer -->
|
||||
</group>
|
||||
</spawnlist>
|
||||
</instance>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html><body>[Desk]:<br>
|
||||
You've found <font color="LEVEL">The War of Gods and Giants</font>.<br1>
|
||||
Found It!
|
||||
<font color="LEVEL">The War of Gods and Giants</font>...<br1>
|
||||
Found it!
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Ketra Orc Shaman:<br>
|
||||
Remember to seek out a Ketra Orc in that world. There must be one there who will aid you in your quest!
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Ketra Orc Shaman:<br>
|
||||
I have faith that you will remove the dark shadow which hides our Great Flame!
|
||||
</body></html>
|
@@ -16,221 +16,616 @@
|
||||
*/
|
||||
package instances.PailakaInjuredDragon;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import com.l2jmobius.gameserver.model.Location;
|
||||
import com.l2jmobius.commons.util.CommonUtil;
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
import com.l2jmobius.gameserver.model.StatsSet;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jmobius.gameserver.model.events.annotations.Id;
|
||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jmobius.gameserver.model.events.impl.character.OnCreatureSee;
|
||||
import com.l2jmobius.gameserver.model.events.impl.character.npc.OnAttackableFactionCall;
|
||||
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.spawns.SpawnGroup;
|
||||
import com.l2jmobius.gameserver.model.skills.AbnormalType;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.model.zone.L2ZoneType;
|
||||
import com.l2jmobius.gameserver.model.zone.type.L2TeleportZone;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
import quests.Q00144_PailakaInjuredDragon.Q00144_PailakaInjuredDragon;
|
||||
|
||||
/**
|
||||
* @author Mathael
|
||||
* Pailaka (Varka Silenos Barracks) Instance zone.
|
||||
* @author Sdw
|
||||
*/
|
||||
public class PailakaInjuredDragon extends AbstractInstance
|
||||
public final class PailakaInjuredDragon extends AbstractInstance
|
||||
{
|
||||
// NPCs
|
||||
private static final int KETRA_ORC_SUPPORTER_END = 32512;
|
||||
// Monsters
|
||||
private static final int RECRUIT = 18635;
|
||||
private static final int FOOTMAN = 18636;
|
||||
private static final int WARRIOR = 18642;
|
||||
private static final int OFFICER = 18646;
|
||||
private static final int GREAT_MAGUS = 18649;
|
||||
private static final int GENERAL = 18650;
|
||||
private static final int ELITE_GUARD = 18653;
|
||||
private static final int COMMANDER = 18654;
|
||||
private static final int HEAD_GUARD = 18655;
|
||||
private static final int PROPHET_GUARD = 18657;
|
||||
private static final int PROPHET = 18659;
|
||||
private static final int SHAMAN = 18640;
|
||||
private static final int CHIEF_PRIEST = 18648;
|
||||
private static final int GRAND_PRIEST = 18652;
|
||||
private static final int KETRA_ORC_SHAMAN = 32499;
|
||||
private static final int KETRA_ORC_INTELLIGENCE_OFFICIER = 32509;
|
||||
private static final int KETRA_ORC_SUPPORTER = 32512;
|
||||
private static final int LATANA = 18660;
|
||||
private static final int ANTELOPE1 = 18637;
|
||||
private static final int ANTELOPE2 = 18643;
|
||||
private static final int ANTELOPE3 = 18651;
|
||||
// Usable Quest Items
|
||||
private static final int SHIELD_POTION = 13032;
|
||||
private static final int HEAL_POTION = 13033;
|
||||
// Walls
|
||||
private static final HashMap<Integer, Location> ZONES_TELEPORTS = new HashMap<>();
|
||||
static
|
||||
private static final int DRAGON_CAMERA_1 = 18603;
|
||||
private static final int DRAGON_CAMERA_2 = 18604;
|
||||
private static final int DRAGON_TARGET = 18605;
|
||||
private static final int LATANA_SKILL_USE = 18661;
|
||||
private static final int TELEPORT_TRAP = 18663;
|
||||
//@formatter:off
|
||||
private static final int[] WARRIORS =
|
||||
{
|
||||
ZONES_TELEPORTS.put(200001, new Location(122452, -45808, -2981));
|
||||
ZONES_TELEPORTS.put(200002, new Location(116610, -46418, -2641));
|
||||
ZONES_TELEPORTS.put(200003, new Location(116237, -50961, -2636));
|
||||
ZONES_TELEPORTS.put(200004, new Location(117384, -52141, -2544));
|
||||
ZONES_TELEPORTS.put(200005, new Location(112169, -44004, -2707));
|
||||
ZONES_TELEPORTS.put(200006, new Location(109460, -45869, -2265));
|
||||
ZONES_TELEPORTS.put(200007, new Location(117111, -55927, -2380));
|
||||
ZONES_TELEPORTS.put(200008, new Location(109274, -41277, -2271));
|
||||
ZONES_TELEPORTS.put(200009, new Location(110023, -40263, -2001));
|
||||
}
|
||||
// Skill
|
||||
private static final SkillHolder LATANA_PRESENTATION_SKILL = new SkillHolder(5759, 1);
|
||||
18635, 18636, 18638,
|
||||
18642, 18646, 18649,
|
||||
18650, 18653, 18654,
|
||||
18655, 18657,
|
||||
};
|
||||
private static final int[] WIZARDS =
|
||||
{
|
||||
18639, 18640, 18641,
|
||||
18644, 18645, 18648,
|
||||
18652, 18656, 18658,
|
||||
18659,
|
||||
};
|
||||
private static final int[] ANIMALS =
|
||||
{
|
||||
18637, 18643,
|
||||
18647, 18651,
|
||||
};
|
||||
// Skills
|
||||
private static final SkillHolder ULTIMATE_DEFENCE = new SkillHolder(5044, 3);
|
||||
private static final SkillHolder HEAL = new SkillHolder(4065, 7);
|
||||
private static final SkillHolder ELECTRIC_FLAME = new SkillHolder(5715, 1);
|
||||
private static final SkillHolder STUN = new SkillHolder(5716, 1);
|
||||
private static final SkillHolder FIRE_BREATH = new SkillHolder(5717, 1);
|
||||
private static final SkillHolder ANGER = new SkillHolder(5719, 1);
|
||||
private static final SkillHolder RISE_OF_LATANA = new SkillHolder(5759, 1);
|
||||
private static final int[] REJECTED_SKILLS =
|
||||
{
|
||||
28, 680, 51,
|
||||
511, 15, 254,
|
||||
1069, 1097, 1042,
|
||||
1072, 1170, 352,
|
||||
358, 1394, 695,
|
||||
115, 1083, 1160,
|
||||
1164, 1201, 1206,
|
||||
1222, 1223, 1224,
|
||||
1092, 65, 106,
|
||||
122, 127, 1049,
|
||||
1064, 1071, 1074,
|
||||
1169, 1263, 1269,
|
||||
352, 353, 1336,
|
||||
1337, 1338, 1358,
|
||||
1359, 402, 403,
|
||||
412, 1386, 1394,
|
||||
1396, 485, 501,
|
||||
1445, 1446, 1447,
|
||||
522, 531, 1481,
|
||||
1482, 1483, 1484,
|
||||
1485, 1486, 695,
|
||||
696, 716, 775,
|
||||
1511, 792, 1524,
|
||||
1529,
|
||||
};
|
||||
//@formatter:on
|
||||
// Items
|
||||
private static final int PAILAKA_INSTANT_SHIELD = 13032;
|
||||
private static final int QUICK_HEALING_POTION = 13033;
|
||||
private static final int WEAPON_UPGRADE_STAGE_1 = 13056;
|
||||
private static final int WEAPON_UPGRADE_STAGE_2 = 13057;
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 45;
|
||||
|
||||
public PailakaInjuredDragon()
|
||||
{
|
||||
super(TEMPLATE_ID);
|
||||
addInstanceEnterId(TEMPLATE_ID);
|
||||
addKillId(ANTELOPE1, ANTELOPE2, ANTELOPE3, GENERAL, GREAT_MAGUS, PROPHET, ELITE_GUARD, COMMANDER, OFFICER, RECRUIT, FOOTMAN, WARRIOR, PROPHET_GUARD, HEAD_GUARD, SHAMAN, CHIEF_PRIEST, GRAND_PRIEST, LATANA);
|
||||
addSpawnId(LATANA);
|
||||
addAggroRangeEnterId(LATANA);
|
||||
addEnterZoneId(ZONES_TELEPORTS.keySet());
|
||||
addInstanceCreatedId(TEMPLATE_ID);
|
||||
addStartNpc(KETRA_ORC_SHAMAN);
|
||||
addTalkId(KETRA_ORC_SHAMAN, KETRA_ORC_INTELLIGENCE_OFFICIER);
|
||||
addAttackId(WARRIORS);
|
||||
addAttackId(WIZARDS);
|
||||
addAttackId(LATANA);
|
||||
addSpawnId(TELEPORT_TRAP, LATANA, DRAGON_TARGET, LATANA_SKILL_USE, DRAGON_CAMERA_2);
|
||||
addSpawnId(WIZARDS);
|
||||
setCreatureSeeId(this::onCreatureSee, WIZARDS);
|
||||
setCreatureSeeId(this::onCreatureSee, LATANA);
|
||||
addKillId(ANIMALS);
|
||||
addKillId(LATANA);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
switch (event)
|
||||
String htmltext = null;
|
||||
final QuestState qs = player.getQuestState(Q00144_PailakaInjuredDragon.class.getSimpleName());
|
||||
if (qs != null)
|
||||
{
|
||||
case "enter":
|
||||
switch (event)
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
break;
|
||||
}
|
||||
case "camera_start":
|
||||
{
|
||||
specialCamera(player, npc, 0, 0, 180, 800, 5000, 800, 0, 1, 0, 0);
|
||||
break; // TODO: Need retail values
|
||||
}
|
||||
case "camera_end":
|
||||
{
|
||||
specialCamera(player, npc, 0, 0, 180, 600, 5000, 600, 0, 1, 0, 0);
|
||||
break; // TODO: Need retail values
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onEnter(L2PcInstance player, Instance instance, boolean firstEnter)
|
||||
{
|
||||
super.onEnter(player, instance, firstEnter);
|
||||
if (firstEnter)
|
||||
{
|
||||
final QuestState qs = player.getQuestState(Q00144_PailakaInjuredDragon.class.getSimpleName());
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
showHtmlFile(player, "32499-09.html");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
if (npc.isScriptValue(0))
|
||||
{
|
||||
npc.setScriptValue(1);
|
||||
startQuestTimer("camera_start", 300, npc, player);
|
||||
npc.doCast(LATANA_PRESENTATION_SKILL.getSkill());
|
||||
}
|
||||
return super.onAggroRangeEnter(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInstanceCreated(Instance instance, L2PcInstance player)
|
||||
{
|
||||
for (int i = 0; i < 9; i++)
|
||||
{
|
||||
final int zoneId = 200000 + (i + 1);
|
||||
final List<L2Npc> npcs = instance.spawnGroup("wall_" + zoneId);
|
||||
npcs.forEach(k -> k.setScriptValue(zoneId));
|
||||
instance.getParameters().set("wall_" + zoneId, npcs.size());
|
||||
}
|
||||
|
||||
super.onInstanceCreated(instance, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final int npcId = npc.getId();
|
||||
if (npcId == LATANA)
|
||||
{
|
||||
startQuestTimer("camera_end", 1000, npc, killer);
|
||||
addSpawn(KETRA_ORC_SUPPORTER_END, new Location(105517, -41692, -1781, 65323), false, 0, false, npc.getInstanceWorld().getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (getRandom(1, 3))
|
||||
{
|
||||
case 1:
|
||||
case "enterInstance":
|
||||
{
|
||||
npc.dropItem(killer, SHIELD_POTION, getRandom(1, 8));
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
qs.setCond(2, true);
|
||||
htmltext = "32499-01.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
case "reEnterInstance":
|
||||
{
|
||||
npc.dropItem(killer, HEAL_POTION, getRandom(1, 4));
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
htmltext = "32499-02.html";
|
||||
break;
|
||||
}
|
||||
case "exitInstance":
|
||||
{
|
||||
finishInstance(player, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ((npcId != ANTELOPE1) && (npcId != ANTELOPE2) && (npcId != ANTELOPE3) && (npcId != SHAMAN) && (npcId != CHIEF_PRIEST) && (npcId != GRAND_PRIEST))
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTimerEvent(String event, StatsSet params, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
final int zoneId = npc.getScriptValue();
|
||||
int killcount = world.getParameters().getInt("wall_" + zoneId);
|
||||
killcount--;
|
||||
world.setParameter("wall_" + zoneId, killcount);
|
||||
|
||||
if (killcount <= 0)
|
||||
case "SET_VISIBLE":
|
||||
{
|
||||
world.getSpawnGroup("wall_" + zoneId).forEach(SpawnGroup::despawnAll);
|
||||
world.getSpawnGroup("wall_" + zoneId + "_add").forEach(SpawnGroup::despawnAll);
|
||||
}
|
||||
else if (!world.getParameters().getBoolean("wall_" + zoneId + "_add", false))
|
||||
{
|
||||
world.setParameter("wall_" + zoneId + "_add", true);
|
||||
world.spawnGroup("wall_" + zoneId + "_add").forEach(mage ->
|
||||
if (!npc.getVariables().getBoolean("visible", false))
|
||||
{
|
||||
mage.setTarget(killer);
|
||||
mage.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, killer);
|
||||
npc.setInvisible(false);
|
||||
npc.getVariables().set("visible", true);
|
||||
getTimers().addTimer("CAST_SKILL", 5000, npc, player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "CAST_SKILL":
|
||||
{
|
||||
final SkillHolder holder = npc.getParameters().getSkillHolder(getRandomBoolean() ? "Skill01_ID" : "Skill02_ID");
|
||||
if (holder != null)
|
||||
{
|
||||
addSkillCastDesire(npc, player, holder, 500000);
|
||||
}
|
||||
getTimers().addTimer("CAST_SKILL", 10000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "LOOK_NEIGHBOR":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2Npc.class, HEAL.getSkill().getCastRange(), npcs ->
|
||||
{
|
||||
if ((npcs.getCurrentHpPercent() < 70) && (getRandom(100) < 10))
|
||||
{
|
||||
addSkillCastDesire(npc, npcs, HEAL, 1000000);
|
||||
}
|
||||
});
|
||||
getTimers().addTimer("LOOK_NEIGHBOR", 5000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "CHECK_FOR_DROP":
|
||||
{
|
||||
if (world.getNpcsOfGroup(npc.getParameters().getString("control_maker"), n -> !n.isDead()).isEmpty())
|
||||
{
|
||||
final L2ZoneType zone = ZoneManager.getInstance().getZoneByName(npc.getParameters().getString("AreaName"), L2TeleportZone.class);
|
||||
if (zone != null)
|
||||
{
|
||||
zone.setEnabled(false, world.getId());
|
||||
}
|
||||
npc.dropItem(world.getFirstPlayer(), PAILAKA_INSTANT_SHIELD, getRandom(10) + 1);
|
||||
npc.dropItem(world.getFirstPlayer(), QUICK_HEALING_POTION, getRandom(10) + 1);
|
||||
switch (npc.getParameters().getInt("GM_ID", 0))
|
||||
{
|
||||
case 2316001:
|
||||
case 2316002:
|
||||
case 2316003:
|
||||
{
|
||||
if ((world.getParameters().getInt("2316001", 0) == 1) && (world.getParameters().getInt("2316002", 0) == 1) && (world.getParameters().getInt("2316003", 0) == 1))
|
||||
{
|
||||
giveItems(world.getFirstPlayer(), WEAPON_UPGRADE_STAGE_1, 1, true);
|
||||
world.getParameters().set(npc.getParameters().getString("GM_ID"), 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2316007:
|
||||
case 2316008:
|
||||
{
|
||||
if ((world.getParameters().getInt("2316007", 0) == 1) && (world.getParameters().getInt("2316008", 0) == 1))
|
||||
{
|
||||
giveItems(world.getFirstPlayer(), WEAPON_UPGRADE_STAGE_2, 1, true);
|
||||
world.getParameters().set(npc.getParameters().getString("GM_ID"), 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
npc.deleteMe();
|
||||
}
|
||||
else
|
||||
{
|
||||
getTimers().addTimer("CHECK_FOR_DROP", 2000, npc, null);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_1":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 600, 200, 5, 0, 15000, 10000, -10, 8, 1, 1, 1));
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_1_1", 2000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_1_1":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 400, 200, 5, 4000, 15000, 10000, -10, 8, 1, 1, 0));
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_1_2", 4000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_1_2":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 300, 195, 4, 1500, 15000, 10000, -5, 10, 1, 1, 0));
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_1_3", 1700, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_1_3":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 130, 2, 5, 0, 15000, 10000, 0, 0, 1, 0, 1));
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_1_4", 2000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_1_4":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 220, 0, 4, 800, 15000, 10000, 5, 10, 1, 0, 0));
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_1_5", 2000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_1_5":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 250, 185, 5, 4000, 15000, 10000, -5, 10, 1, 1, 0));
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_1_6", 4000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_1_6":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 200, 0, 5, 2000, 15000, 10000, 0, 25, 1, 0, 0));
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_1_7", 4530, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_1_7":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 300, -3, 5, 3500, 15000, 6000, 0, 6, 1, 0, 0));
|
||||
getTimers().addTimer("SUICIDE_DRAGON", 10000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_2":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 250, 0, 6, 0, 15000, 10000, 2, 0, 1, 0, 1));
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_2_1", 2000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_2_1":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 230, 0, 5, 2000, 15000, 10000, 0, 0, 1, 0, 0));
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_2_2", 2500, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_2_2":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 180, 175, 2, 1500, 15000, 10000, 0, 10, 1, 1, 0));
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_2_3", 1500, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SCE_RATANA_CAMERA_START_2_3":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 300, 180, 5, 1500, 15000, 3000, 0, 6, 1, 1, 0));
|
||||
getTimers().addTimer("SUICIDE_DRAGON", 3000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SUICIDE_DRAGON":
|
||||
{
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case "LATANA_ANGER_RESET":
|
||||
{
|
||||
npc.setScriptValue(0);
|
||||
break;
|
||||
}
|
||||
case "SPAWN_DRAGON_TARGET":
|
||||
{
|
||||
addSpawn(npc, DRAGON_TARGET, 105465, -41817, -1768, 0, false, 0, false, world.getId());
|
||||
getTimers().addTimer("SOCIAL_ACTION", 3000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SOCIAL_ACTION":
|
||||
{
|
||||
npc.broadcastSocialAction(0);
|
||||
getTimers().addTimer("DISPLAY_SKILL", 3000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "DISPLAY_SKILL":
|
||||
{
|
||||
final L2Npc target = world.getNpc(DRAGON_TARGET);
|
||||
if (target != null)
|
||||
{
|
||||
addSkillCastDesire(npc, target, RISE_OF_LATANA, 5000);
|
||||
}
|
||||
getTimers().addTimer("LATANA_CAST", 9700, npc, player);
|
||||
break;
|
||||
}
|
||||
case "LATANA_CAST":
|
||||
{
|
||||
final L2Npc target = world.getNpc(DRAGON_TARGET);
|
||||
if (target != null)
|
||||
{
|
||||
addSkillCastDesire(npc, target, STUN, 5000);
|
||||
}
|
||||
getTimers().addTimer("ATTACK", 11030, npc, player);
|
||||
break;
|
||||
}
|
||||
case "ATTACK":
|
||||
{
|
||||
if (npc.calculateDistance(player, false, false) < 100)
|
||||
{
|
||||
if (getRandom(100) < 30)
|
||||
{
|
||||
addSkillCastDesire(npc, player, ELECTRIC_FLAME, 500000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addAttackDesire(npc, player);
|
||||
}
|
||||
}
|
||||
else if (getRandomBoolean())
|
||||
{
|
||||
addSpawn(npc, LATANA_SKILL_USE, player.getLocation(), false, world.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
addSkillCastDesire(npc, player, FIRE_BREATH, 500000);
|
||||
}
|
||||
getTimers().addTimer("ATTACK", 6000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SPAWN_DRAGON_TARGET2":
|
||||
{
|
||||
addSpawn(npc, DRAGON_TARGET, 105465, -41817, -1768, 0, false, 0, false, world.getId());
|
||||
getTimers().addTimer("SOCIAL_ACTION", 3000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "LATANA_ATTACK":
|
||||
{
|
||||
addSkillCastDesire(npc, npc, ELECTRIC_FLAME, 50000);
|
||||
getTimers().addTimer("LATANA_CAST", 3000, npc, player);
|
||||
break;
|
||||
}
|
||||
case "SPAWN_REWARD_NPC":
|
||||
{
|
||||
addSpawn(npc, KETRA_ORC_SUPPORTER, npc.getLocation(), false, world.getId());
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case "DRAGON_CAMERA_2_1":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 350, 200, 5, 5600, 15000, 10000, -15, 10, 1, 1, 0));
|
||||
getTimers().addTimer("DRAGON_CAMERA_2_2", 5600, npc, null);
|
||||
break;
|
||||
}
|
||||
case "DRAGON_CAMERA_2_2":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 360, 200, 5, 1000, 15000, 2000, -15, 10, 1, 1, 0));
|
||||
getTimers().addTimer("SUICIDE", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setIsImmobilized(true);
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case TELEPORT_TRAP:
|
||||
{
|
||||
world.getParameters().set(npc.getParameters().getString("GM_ID"), 1);
|
||||
getTimers().addTimer("CHECK_FOR_DROP", 2000, npc, null);
|
||||
break;
|
||||
}
|
||||
case DRAGON_TARGET:
|
||||
{
|
||||
getTimers().addTimer("SUICIDE", 60000, npc, null);
|
||||
break;
|
||||
}
|
||||
case LATANA_SKILL_USE:
|
||||
{
|
||||
final L2Npc latana = world.getNpc(LATANA);
|
||||
final L2PcInstance player = world.getFirstPlayer();
|
||||
if ((latana != null) && (player != null) && (latana.calculateDistance(player, false, false) <= 900))
|
||||
{
|
||||
addSkillCastDesire(npc, player, STUN, 500000);
|
||||
}
|
||||
getTimers().addTimer("SUICIDE", 5000, npc, null);
|
||||
break;
|
||||
}
|
||||
case DRAGON_CAMERA_2:
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 450, 200, 3, 0, 15000, 10000, -15, 20, 1, 1, 1));
|
||||
getTimers().addTimer("DRAGON_CAMERA_2_1", 100, npc, null);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
if (CommonUtil.contains(WIZARDS, npc.getId()))
|
||||
{
|
||||
npc.setInvisible(true);
|
||||
getTimers().addTimer("LOOK_NEIGHBOR", 1000, npc, null);
|
||||
}
|
||||
npc.initSeenCreatures();
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onEnterZone(L2Character character, L2ZoneType zone)
|
||||
private void onCreatureSee(OnCreatureSee event)
|
||||
{
|
||||
if (!character.isPlayer() || (character.getInstanceId() == 0))
|
||||
final L2Character creature = event.getSeen();
|
||||
final L2Npc npc = (L2Npc) event.getSeer();
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
return super.onEnterZone(character, zone);
|
||||
if (CommonUtil.contains(WIZARDS, npc.getId()))
|
||||
{
|
||||
if (creature.isPlayer() && npc.isScriptValue(0))
|
||||
{
|
||||
npc.setScriptValue(1);
|
||||
getTimers().addTimer("SET_VISIBLE", 1000, npc, creature.getActingPlayer());
|
||||
}
|
||||
}
|
||||
else if ((npc.getId() == LATANA) && !npc.getVariables().getBoolean("creatureSeen", false) && creature.isPlayer())
|
||||
{
|
||||
final QuestState qs = creature.getActingPlayer().getQuestState(Q00144_PailakaInjuredDragon.class.getSimpleName());
|
||||
if (qs != null)
|
||||
{
|
||||
if (qs.getCond() == 4)
|
||||
{
|
||||
getTimers().addTimer("SPAWN_REWARD_NPC", 1000, npc, creature.getActingPlayer());
|
||||
npc.setScriptValue(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(creature.getActingPlayer(), QuestSound.BS08_A);
|
||||
getTimers().addTimer("SPAWN_DRAGON_TARGET", 1000, npc, creature.getActingPlayer());
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_1", 10, world.getNpc(DRAGON_CAMERA_1), creature.getActingPlayer());
|
||||
npc.getVariables().set("creatureSeen", true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
final Instance world = character.getInstanceWorld();
|
||||
if (world.getParameters().getInt("wall_" + zone.getId()) > 0)
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon, Skill skill)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
character.teleToLocation(ZONES_TELEPORTS.get(zone.getId()));
|
||||
if (CommonUtil.contains(WARRIORS, npc.getId()) || CommonUtil.contains(WIZARDS, npc.getId()))
|
||||
{
|
||||
final int longRangeGuardRate = npc.getParameters().getInt("LongRangeGuardRate", -1);
|
||||
if ((longRangeGuardRate != -1) && ((skill != null) && !CommonUtil.contains(REJECTED_SKILLS, skill.getId())))
|
||||
{
|
||||
if (npc.calculateDistance(attacker, false, false) > 150)
|
||||
{
|
||||
if ((npc.getEffectList().getFirstBuffInfoByAbnormalType(AbnormalType.PD_UP_SPECIAL) == null) && (getRandom(100) < longRangeGuardRate))
|
||||
{
|
||||
addSkillCastDesire(npc, npc, ULTIMATE_DEFENCE.getSkill(), 1000000000);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
npc.getEffectList().stopEffects(AbnormalType.PD_UP_SPECIAL);
|
||||
}
|
||||
}
|
||||
if (CommonUtil.contains(WARRIORS, npc.getId()))
|
||||
{
|
||||
if (npc.calculateDistance(attacker, false, false) < 40)
|
||||
{
|
||||
addAttackPlayerDesire(npc, attacker, 1000);
|
||||
}
|
||||
else if (getRandom(100) < 33)
|
||||
{
|
||||
final SkillHolder holder = npc.getParameters().getSkillHolder(getRandomBoolean() ? "Skill01_ID" : "Skill02_ID");
|
||||
if (holder != null)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, holder, 500000);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((npc.getId() == LATANA))
|
||||
{
|
||||
if (!npc.getVariables().getBoolean("creatureSeen", false))
|
||||
{
|
||||
final QuestState qs = attacker.getQuestState(Q00144_PailakaInjuredDragon.class.getSimpleName());
|
||||
if (qs != null)
|
||||
{
|
||||
if (qs.getCond() == 4)
|
||||
{
|
||||
getTimers().addTimer("SPAWN_REWARD_NPC", 1000, npc, attacker);
|
||||
npc.setScriptValue(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(attacker, QuestSound.BS08_A);
|
||||
getTimers().addTimer("SPAWN_DRAGON_TARGET2", 1000, npc, attacker);
|
||||
getTimers().addTimer("SCE_RATANA_CAMERA_START_2", 10, world.getNpc(DRAGON_CAMERA_1), attacker);
|
||||
npc.getVariables().set("creatureSeen", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((npc.getCurrentHpPercent() < 30) && npc.isScriptValue(0))
|
||||
{
|
||||
addSkillCastDesire(npc, npc, ANGER, 50000000);
|
||||
npc.setScriptValue(1);
|
||||
getTimers().addTimer("LATANA_ANGER_RESET", 120000, npc, attacker);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return super.onEnterZone(character, zone);
|
||||
return super.onAttack(npc, attacker, damage, isSummon, skill);
|
||||
}
|
||||
|
||||
// @formatter:off
|
||||
@RegisterEvent(EventType.ON_ATTACKABLE_FACTION_CALL)
|
||||
@RegisterType(ListenerRegisterType.NPC)
|
||||
@Id({18635,18636,18638,18642,18646,18649,18650,18653,18654,18655,18657})
|
||||
// @formatter:on
|
||||
public void onAttackableFactionCall(OnAttackableFactionCall event)
|
||||
{
|
||||
final L2Npc npc = event.getNpc();
|
||||
final L2PcInstance attacker = event.getAttacker();
|
||||
if (npc.calculateDistance(attacker, false, false) < 40)
|
||||
{
|
||||
addAttackPlayerDesire(npc, attacker, 1000);
|
||||
}
|
||||
else if (getRandom(100) < 33)
|
||||
{
|
||||
final SkillHolder holder = npc.getParameters().getSkillHolder(getRandomBoolean() ? "Skill01_ID" : "Skill02_ID");
|
||||
if (holder != null)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, holder, 500000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
if (CommonUtil.contains(ANIMALS, npc.getId()))
|
||||
{
|
||||
npc.dropItem(killer, getRandomBoolean() ? PAILAKA_INSTANT_SHIELD : QUICK_HEALING_POTION, getRandom(10) + 1);
|
||||
}
|
||||
else if (npc.getId() == LATANA)
|
||||
{
|
||||
addSpawn(npc, KETRA_ORC_SUPPORTER, 105974, -41794, -1784, 32768, false, 0, false, world.getId());
|
||||
addSpawn(npc, DRAGON_CAMERA_2, npc.getLocation(), false, world.getId());
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
|
@@ -2,5 +2,5 @@
|
||||
Are you an Inspector?<br>
|
||||
Ah! I don't know how long it has been since I saw one who has mastered all the Kamael battle skills and reached the summit of our natural abilities.<br>
|
||||
Since you've opted to become an Inspector, I suspect you have a healthy curiosity. Good! It will serve you well as you discover more about your new abilities...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-02.html">Ask about your abilities.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-02.html">"Tell me about my abilities."</Button>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Kekropus:<br>
|
||||
Before speak of that, I must ask you if you already know the origins and purpose of the Kamael.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-03.html">I know.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-09.html">I don't know.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-03.html">"I do know."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-04.html">"I don't, actually."</Button>
|
||||
</body></html>
|
@@ -3,5 +3,5 @@ Ah, then we shall begin.<br>
|
||||
As you know, the 3 Spiculas -- the 3 Heroes -- were the progenitors of our race, and the reason for our skill in battle.<br>
|
||||
During the war against the gods, they fought valiantly, even slaying some of the daughters of Einhasad. Though they fell in that war, their power was handed down through magical sword, shield and cannon, eventually becoming the basis for the three current classes of Kamael.<br>
|
||||
For more than ten thousand years, we have followed the path that they laid out for us...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-04.html">Listen to the story.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-05.html">"Go on."</Button>
|
||||
</body></html>
|
@@ -1,5 +1,6 @@
|
||||
<html><body>Kekropus:<br>
|
||||
Before the advent of the 3 Heroes, we were created with certain unrealized spiritual potential, but no particular physical or martial abilities. Our creators, the Giants, had little need of protection from ordinary physical threats -- we were an interesting experiment they conducted, little more.<br>
|
||||
We did, however, possess a special ability to use the soul as a medium. This is due to the fact that we were created using Mimir's Spring Water and as a result were closer to souls than other beings, not because the Giants intentionally bestowed that skill on us.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-05.html">.........</Button>
|
||||
Hmm, you have advanced this far without learning the truth of our people's origin?<br>
|
||||
You have never heard of the 3 Heroes, then.<br>
|
||||
All our martial skill is rooted in their tale...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-05.html">"Go on."</Button>
|
||||
</body></html>
|
@@ -1,4 +1,6 @@
|
||||
<html><body>Kekropus:<br>
|
||||
Because our natural powers were so weak, we were forced to develop other skills. Over time, and in order to inherit the abilities of the 3 Heroes, we learned the skill of manipulating souls. In doing so, however, we were confronted with a new question: why did we in fact possess this skill when the 3 Heroes did not?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-06.html">"Is that what an Inspector is?"</Button>
|
||||
Before the new heroes appeared, what were the Kamael?<br>
|
||||
Our founders had no interest in combat skills. With their strength, there was no one to threaten them, and when they fought among themselves, they fought for their own amusement. The sealed beings were growing in numbers and organizing, but they could not defeat the giants.<br>
|
||||
So the first Kamael had the ability but not the technology. The medium we use currently for souls can be used because we are made of Mimir's Elixir. Because of this we can become more close to a soul. The giants did not give us the technology to be close to souls.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-06.html">........</Button>
|
||||
</body></html>
|
@@ -1,5 +1,4 @@
|
||||
<html><body>Kekropus:<br>
|
||||
Yes. However, Inspectors are not the only ones adept at manipulating soul energy.<br>
|
||||
The Kamael Nostra -- a genius born of time and chaos -- was the most skilled of all of us at manipulating soul energy. He realized that the skills of the 3 Heroes were fundamentally incompatible, and that only those who possessed certain predispositions could learn them. Accordingly, he established the skill system we now use, three patterns of development for male and female.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-07.html">"Tell me more about him."</Button>
|
||||
Because our natural powers were so weak, we were forced to develop other skills. Over time, and in order to inherit the abilities of the 3 Heroes, we learned the skill of manipulating souls. In doing so, however, we were confronted with a new question: why did we in fact possess this skill when the 3 Heroes did not?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-07.html">"Is that what an Inspector is?"</Button>
|
||||
</body></html>
|
@@ -1,5 +1,6 @@
|
||||
<html><body>Kekropus:<br>
|
||||
As I just said, he was a genius produced by time and chaos. He was not a Spicula like myself or the 3 Heroes, but a Metucela Kamael like you...<br>
|
||||
No one knows what became of him. Certainly a Metucela Kamael's life span is long by the standards of other races, but even he must be long dead by now.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-08.html">Ask what to do.</Button>
|
||||
Yes. However, Inspectors are not the only ones adept at manipulating soul energy.<br>
|
||||
The Kamael Nostra -- a genius born of time and chaos -- was the most skilled of all of us at manipulating soul energy.<br>
|
||||
He realized that the skills of the 3 Heroes were fundamentally incompatible, and that only those who possessed certain predispositions could learn them. Accordingly, he established the skill system we now use, three patterns of development for male and female.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-08.html">"Tell me more about him."</Button>
|
||||
</body></html>
|
@@ -1,4 +1,5 @@
|
||||
<html><body>Kekropus:<br>
|
||||
Occasionally a Kamael is born who inherits his advanced skills. These individuals are very rare, but when they appear we honor his memory by granting them a position in the Hierarchy.<br>
|
||||
These are Metucela Kamael, of course, not Spicula -- in other words, Inspectors just like yourself. To learn more, go speak with <font color="LEVEL">Vice Hierarch Eindburgh</font> at the end of stairs behind you.
|
||||
As I just said, he was a genius produced by time and chaos. He was not a Spicula like myself or the 3 Heroes, but a Metucela Kamael like you...<br>
|
||||
No one knows what became of him. Certainly a Metucela Kamael's life span is long by the standards of other races, but even he must be long dead by now.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-09.html">"What do you want me to do?"</Button>
|
||||
</body></html>
|
@@ -1,6 +1,4 @@
|
||||
<html><body>Kekropus:<br>
|
||||
Hmm, you have advanced this far without learning the truth of our people's origin?<br>
|
||||
You have never heard of the 3 Heroes, then.<br>
|
||||
All our martial skill is rooted in their tale...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32138-04.html">Listen to the story.</Button>
|
||||
We typically have a very straight forward, hierarchical system for moving up through the ranks; however, every now and then, someone comes along who is so incredibly skilled, they practically fly through the ranks.<br>
|
||||
These savants have been known to completely bypass Spicula and jump straight to Methusela Kamael! Impressive, no? I'd like you to go visit one such master, the inspector <font color="LEVEL">Vice Hierarch Eindburgh</font>. You'll find him on the Talking Island. When you arrive, please give him my regards.
|
||||
</body></html>
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Kekropus:<br>
|
||||
Speak with Vice Hierarch Eindburgh, who himself learned the ultimate skill of an Inspector and became a Soulmaster. He is at the end of the stairs behind you.
|
||||
Go visit Vice Hierarch Eindburgh. He's the one who specialized in the inspector's skills. He's a master of souls! You can usually find him over on the Talking Island.
|
||||
</body></html>
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Grand Master Liane:<br>
|
||||
Ah, %name%, you are here.<br>
|
||||
Ah, %playername%, you are here.<br>
|
||||
You know, then, that a new power has been revealed in the Kamael. You must be curious about the nature of that power and why it was hidden for so long.<br>
|
||||
Your curiosity is entirely natural! The fact of the matter is that it was not originally envisioned that a warrior race like the <font color="LEVEL">Kamael</font> would ever possess such a supportive power...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32222-02.htm">Ask about the power.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32222-04.htm">"Tell me about the power."</Button>
|
||||
</body></html>
|
@@ -1,6 +1,4 @@
|
||||
<html><body>Grand Master Liane:<br>
|
||||
As you know, Kamael skills and abilities were designed for battle.<br>
|
||||
Inspectors' powers are very different, however. An Inspector who understands his nature and devotes himself to developing them can advance further.<br>
|
||||
At the apex stands the executer of laws himself: the <font color="LEVEL">Judicator</font>.<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32222-03.htm">"Judicator?"</Button>
|
||||
The Kamael are a warrior race, born and bred for battle. However, from time to time, some Kamael are born with a mysterious power unrelated to their martial origins. These individuals are called <font color="LEVEL">Inspectors</font>.<br>
|
||||
(Only Inspectors who are Level 76 or higher may undertake this quest.)
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Grand Master Liane:<br>
|
||||
I know very little about him.<br>
|
||||
If you wish to learn more, I advise you to visit Hierarch Kekropus, who has ruled the Kamael for ages and possesses much wisdom about such matters.
|
||||
Unlike your other abilities, this power does not originate with the Three Heroes present at the Kamael's creation. Perhaps I will be able to tell you more someday...<br>
|
||||
(Only Inspectors who are Level 76 or higher may undertake this quest.)
|
||||
</body></html>
|
@@ -1,4 +1,6 @@
|
||||
<html><body>Grand Master Liane:<br>
|
||||
The Kamael are a warrior race, born and bred for battle. However, from time to time, some Kamael are born with a mysterious power unrelated to their martial origins. These individuals are called <font color="LEVEL">Inspectors</font>.<br>
|
||||
(Only Inspectors who are Level 76 or higher may undertake this quest.)
|
||||
As you know, Kamael skills and abilities were designed for battle.<br>
|
||||
Inspectors' powers are very different, however. An Inspector who understands his nature and devotes himself to developing them can advance further.<br>
|
||||
At the apex stands the executer of laws himself: the <font color="LEVEL">Judicator</font>.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32222-05.htm">"Judicator?"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Grand Master Liane:<br>
|
||||
Sorry, I know nothing about him either. Perhaps you should talk to our Elder and administrator? He knows much more about it, and might have some useful information. I hear that he's spending a lot of time on Talking Island, in the museum in the village there.
|
||||
</body></html>
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Grand Master Liane:<br>
|
||||
If you wish to learn more about the Judicator, visit Hierarch Kekropus.
|
||||
If you want to know about the Judicator, go talk to Kekropus. I hear that he's spending a lot of time on Talking Island, in the museum in the village there.
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Vice Hierarch Eindburgh:<br>
|
||||
%name%, are you the next Judicator?<br>
|
||||
%playername%, are you the next Judicator?<br>
|
||||
Do you wish to be an executor of Kamael law?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-02.html">"I don't know."</Button>
|
||||
</body></html>
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Vice Hierarch Eindburgh:<br>
|
||||
I thought so. Since the Seeds of Chaos contain order out of chaos, only one child in a generation is born with the power.<br>
|
||||
It is similar to a Magic Sword or Blood Sword...<br>
|
||||
But now, with the expansion of our race's power and its spread throughout the continent, that power may likewise be spreading.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-04.html">Ask about the Seeds of Chaos.</Button>
|
||||
But now, with the expansion of our race's <font color="LEVEL">power</font> and its spread throughout the continent, that power may likewise be spreading.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-04.html">"Tell me about the Seeds of Chaos."</Button>
|
||||
</body></html>
|
@@ -1,7 +1,5 @@
|
||||
<html><body>Vice Hierarch Eindburgh:<br>
|
||||
The Seeds of Chaos were planted by the King of Chaos to enable their recipients to overcome the restrictions imposed on mortals by the gods.<br>
|
||||
This is why the wielders of Enuma Elish can still live, despite being cursed by the gods.<br>
|
||||
If this power is manifested, we Kamael can finally free ourselves from our fate as warriors who live only for battle. One who walks this other path is the Inspector.<br>
|
||||
It is a possibility that even our creators couldn't imagine.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-05.html">Ask about the possibility.</Button>
|
||||
This is why the wielders of Enuma Elish can still live, despite being cursed by the gods.<br>If this power is manifested, we Kamael can finally free ourselves from our fate as warriors who live only for battle. One who walks this other path is the Inspector.<br>It is a possibility that even our creators couldn't imagine.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-05.html">"Tell me more about that."</Button>
|
||||
</body></html>
|
@@ -2,5 +2,5 @@
|
||||
Kamael Warriors. Perfect soldiers! But even the sharpest sword is useless without a skilled wielder.<br>
|
||||
I know Kekropus has said, in the hopes that our power will not be abused, that the blade is enough for us -- but a sword is of no use unless someone draws it. We need more than simply <font color="LEVEL">a leader who keeps the blade sharp for some undetermined future</font> -- we need one unafraid to lead us into that future.<br>
|
||||
Only through decisive action can we finally become the blade of chaos our creators intended us to be, and achieve our true destiny.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-06.html">Ask about that destiny.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-06.html">"Your true destiny?"</Button>
|
||||
</body></html>
|
@@ -1,7 +1,6 @@
|
||||
<html><body>Vice Hierarch Eindburgh:<br>
|
||||
I think you know -- it is what we Kamael were created to fight against: the gods themselves.<br>
|
||||
The power of today's adventurers is not even remotely comparable to their power. Even the strongest race on the earth, the Giants, who once controlled all the creatures and even unlocked the secrets of life, suffered defeated at their hands.<br>
|
||||
Nornil set his last hope on us, but... Can we really hope to fight the gods and <font color="LEVEL">win</font>?<br>
|
||||
I do not think so, and I speak with all the knowledge and insight inherited by the Hierarchs of Metucela since the time of Nostra, the father of the Inspectors. We Kamael were created to achieve an inherently impossible proposition. But what if, as Nostra theorized, something completely unexpected were to happen?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-07.html">......</Button>
|
||||
The power of today's adventurers is not even remotely comparable to their power. Even the strongest race on the earth, the Giants, who once controlled all the creatures and even unlocked the secrets of life, suffered defeated at their hands.<br>Nornil set his last hope on us, but... Can we really hope to fight the gods and <font color="LEVEL">win</font>?<br>
|
||||
I do not think so, and I speak with all the knowledge and insight inherited by the Hierarchs of Metucela since the time of Nostra, the father of the Inspectors. We Kamael were created to achieve an inherently impossible proposition. But what if, as Nostra theorized, something completely unexpected were to happen?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-07.html">.....</Button>
|
||||
</body></html>
|
@@ -1,8 +1,7 @@
|
||||
<html><body>Vice Hierarch Eindburgh:<br>
|
||||
Yes. An Inspector searches and judges, but a Judicator is required to make an unexpected leap in judgment. In so doing, he opens the path to the future development of the Kamael.<br>
|
||||
In the past, when this island was sealed, it was enough for us merely to maintain the edge of the sword, but now that sword has been unsheathed and we must decide where and how to wield it.<br>
|
||||
Yes. An Inspector searches and judges, but a Judicator is required to make an unexpected leap in judgment. In so doing, he opens the path to the future development of the Kamael.<br>In the past, when this island was sealed, it was enough for us merely to maintain the edge of the sword, but now that sword has been unsheathed and we must decide where and how to wield it.<br>
|
||||
To lead our race effectively, our <font color="LEVEL">power</font>must now be spread throughout the world. rallying, leading, advising, helping.<br>
|
||||
The true strength of our power is not our skill with the blade or ability in battle. It is, rather, the self-awareness to transcend the limits imposed on us so long ago. Do you understand?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-08.html">Nod your head yes.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-09.html">Shake your head no.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-08.html">"I think so."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement 32469-09.html">"Nope!"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Pantheon:<br>
|
||||
Are you looking for Kamael's Tetrarch Kekropus? He's inside of Museum, and I am the only one who can let you in...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00061_LawEnforcement teleport">"Let me in, then."</Button>
|
||||
</body></html>
|
@@ -16,30 +16,42 @@
|
||||
*/
|
||||
package quests.Q00061_LawEnforcement;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.enums.Race;
|
||||
import com.l2jmobius.gameserver.model.Location;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.base.ClassId;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
import com.l2jmobius.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* Law Enforcement (61)
|
||||
* @author Adry_85
|
||||
* @author Gladicek
|
||||
*/
|
||||
public final class Q00061_LawEnforcement extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int LIANE = 32222;
|
||||
private static final int PANTHEON = 32972;
|
||||
private static final int KEKROPUS = 32138;
|
||||
private static final int EINDBURGH = 32469;
|
||||
// Location
|
||||
private static final Location MUSEUM = new Location(-114711, 243911, -7968);
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 76;
|
||||
private static final int JUDICATOR = 136;
|
||||
|
||||
public Q00061_LawEnforcement()
|
||||
{
|
||||
super(61);
|
||||
addStartNpc(LIANE);
|
||||
addTalkId(LIANE, KEKROPUS, EINDBURGH);
|
||||
addTalkId(LIANE, PANTHEON, KEKROPUS, EINDBURGH);
|
||||
addCondMinLevel(MIN_LEVEL, "32222-03.htm");
|
||||
addCondRace(Race.KAMAEL, "32222-02.htm");
|
||||
addCondClassId(ClassId.INSPECTOR, "32222-03.htm");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -54,98 +66,74 @@ public final class Q00061_LawEnforcement extends Quest
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "32222-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32222-03.htm":
|
||||
{
|
||||
qs.setMemoState(1);
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32138-01.html":
|
||||
case "32222-04.htm":
|
||||
case "32138-02.html":
|
||||
{
|
||||
if (qs.isMemoState(1))
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32138-03.html":
|
||||
{
|
||||
if (qs.isMemoState(1))
|
||||
{
|
||||
qs.setMemoState(2);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32138-04.html":
|
||||
case "32138-05.html":
|
||||
case "32138-06.html":
|
||||
case "32138-07.html":
|
||||
{
|
||||
if (qs.isMemoState(2) || qs.isMemoState(3))
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32138-08.html":
|
||||
{
|
||||
if (qs.isMemoState(2) || qs.isMemoState(3))
|
||||
{
|
||||
qs.setMemoState(4);
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32138-09.html":
|
||||
{
|
||||
if (qs.isMemoState(1))
|
||||
{
|
||||
qs.setMemoState(3);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32469-02.html":
|
||||
{
|
||||
if (qs.isMemoState(4))
|
||||
{
|
||||
qs.setMemoState(5);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32469-03.html":
|
||||
case "32469-04.html":
|
||||
case "32469-05.html":
|
||||
case "32469-06.html":
|
||||
case "32469-07.html":
|
||||
{
|
||||
if (qs.isMemoState(5))
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32222-05.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "teleport":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = event;
|
||||
qs.setCond(2, true);
|
||||
player.teleToLocation(MUSEUM);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32138-09.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32469-08.html":
|
||||
case "32469-09.html":
|
||||
{
|
||||
if (qs.isMemoState(5))
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
player.setClassId(136);
|
||||
// SystemMessage and cast skill is done by setClassId
|
||||
player.broadcastUserInfo();
|
||||
giveAdena(player, 26000, true);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
final ClassId newClassId = player.getClassId().getNextClassIds().stream().findFirst().orElse(null);
|
||||
if (newClassId != null)
|
||||
{
|
||||
final ClassId currentClassId = player.getClassId();
|
||||
|
||||
if (!newClassId.childOf(currentClassId))
|
||||
{
|
||||
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to cheat class transfer for Judicator!", Config.DEFAULT_PUNISH);
|
||||
}
|
||||
player.setClassId(JUDICATOR);
|
||||
player.broadcastUserInfo();
|
||||
giveAdena(player, 26000, true);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -156,78 +144,66 @@ public final class Q00061_LawEnforcement extends Quest
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCompleted() && (npc.getId() == LIANE))
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
else if (qs.isCreated())
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
case State.CREATED:
|
||||
{
|
||||
if (player.getClassId() == ClassId.INSPECTOR)
|
||||
if (npc.getId() == LIANE)
|
||||
{
|
||||
return getHtm(player.getHtmlPrefix(), "32222-01.htm").replace("%name%", player.getName());
|
||||
htmltext = "32222-01.htm";
|
||||
}
|
||||
htmltext = "32222-04.htm";
|
||||
break;
|
||||
}
|
||||
else
|
||||
case State.STARTED:
|
||||
{
|
||||
htmltext = "32222-05.htm";
|
||||
}
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case LIANE:
|
||||
switch (npc.getId())
|
||||
{
|
||||
if (qs.isMemoState(1))
|
||||
case LIANE:
|
||||
{
|
||||
htmltext = "32222-06.html";
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "32222-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KEKROPUS:
|
||||
{
|
||||
switch (qs.getMemoState())
|
||||
case PANTHEON:
|
||||
{
|
||||
case 1:
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "32972-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KEKROPUS:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "32138-01.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "32138-03.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "32138-10.html";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
case EINDBURGH:
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "32138-10.html";
|
||||
break;
|
||||
htmltext = "32469-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case EINDBURGH:
|
||||
{
|
||||
if (qs.isMemoState(4))
|
||||
{
|
||||
return getHtm(player.getHtmlPrefix(), "32469-01.html").replace("%name%", player.getName());
|
||||
}
|
||||
if (qs.isMemoState(5))
|
||||
{
|
||||
htmltext = "32469-02.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
I'm glad to have you on the force! Makes me more optimistic about our chances...<br>
|
||||
Anyway, I called you here to ask you a favor. I sent a group of scouts into the Swamp of Screams to investigate the ongoing conflict there, but we've lost contact with one of them. I need someone to find out what happened. Are you up to the task?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00109_InSearchOfTheNest 31553-02.html">"Sure, no big deal. I'll do it."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
Excellent! I hate to throw you into the fire on your first mission, but it's vital that we find out what happened to our scout!<br>
|
||||
Cool your heels a minute and I'll tell you where to focus your search.<br>
|
||||
We lost contact with him inside the Swamp of Screams. If you follow the path you can't miss it. I also marked it on your map, so don't get lost! Last thing I need is another missing person.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
What's the hold up?<br>
|
||||
We lost contact with the scout inside the Swamp of Screams. Follow the path and you can't miss it. I marked it on the map so you shouldn't get lost. Remember, countless lives are at stake here! We need to find that scout!
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
We have no use for someone so inexperienced. Get some more training and we'll see what we can do for you...<br>
|
||||
(Only characters who are level 81 or above may undertake this quest.)
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
I can tell by your looks that you found something. Well? Is my scout OK?<br>
|
||||
Spit it out, soldier! What do you know?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00109_InSearchOfTheNest 31553-06.html">"Read this memo."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
I see... It is as I feared... He's dead. <br>
|
||||
Well, thank you for risking your neck to track him down. We'll learn a lot from the intel he left behind. I'm sure that's what he would've wanted.<br>
|
||||
I'll keep my eye out for you from now on. For now, your work here is done. Speak with <font color="LEVEL">Kahman</font> over there.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Mercenary Captain Pierce:<br>
|
||||
You've done your part, and I thank you for it. Go to see <font color="LEVEL">Kahman</font> over there for your reward.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
State your business here! We received no order.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00109_InSearchOfTheNest 31554-02.html">"Pierce sent me."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Mercenary Kahman:<br>
|
||||
Oh, yeah! It's you! Right, then. Here you go! Don't be too disappointed if it's less than you'd like. Come back later and there'll be more work for you.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body><br>
|
||||
The corpse of Pierce's scout, who came here looking for the entrance. Search for any clues he might have left.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00109_InSearchOfTheNest 32015-02.html"> Search the corpse </Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body><br>
|
||||
(Beneath the corpse you find a memo. You should take it to Mercenary Captain Pierce.)
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body><br>
|
||||
(There's nothing else here. Take the memo to Mercenary Captain Pierce.)
|
||||
</body></html>
|
@@ -24,7 +24,7 @@ import com.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* In Search of the Nest (109)
|
||||
* @author Adry_85
|
||||
* @author Adry_85, Gladicek
|
||||
*/
|
||||
public class Q00109_InSearchOfTheNest extends Quest
|
||||
{
|
||||
@@ -34,125 +34,143 @@ public class Q00109_InSearchOfTheNest extends Quest
|
||||
private static final int KAHMAN = 31554;
|
||||
// Items
|
||||
private static final int SCOUTS_NOTE = 14858;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 81;
|
||||
|
||||
public Q00109_InSearchOfTheNest()
|
||||
{
|
||||
super(109);
|
||||
addStartNpc(PIERCE);
|
||||
addTalkId(PIERCE, SCOUTS_CORPSE, KAHMAN);
|
||||
addCondMinLevel(MIN_LEVEL, "31553-04.htm");
|
||||
registerQuestItems(SCOUTS_NOTE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
QuestState st = getQuestState(player, false);
|
||||
if (st == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "31553-0.htm":
|
||||
case "31553-02.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
st.startQuest();
|
||||
break;
|
||||
}
|
||||
case "32015-2.html":
|
||||
case "32015-02.html":
|
||||
{
|
||||
giveItems(player, SCOUTS_NOTE, 1);
|
||||
qs.setCond(2, true);
|
||||
break;
|
||||
}
|
||||
case "31553-3.html":
|
||||
{
|
||||
takeItems(player, SCOUTS_NOTE, -1);
|
||||
qs.setCond(3, true);
|
||||
break;
|
||||
}
|
||||
case "31554-2.html":
|
||||
{
|
||||
giveAdena(player, 161500, true);
|
||||
addExpAndSp(player, 701500, 50000);
|
||||
qs.exitQuest(false, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return event;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case PIERCE:
|
||||
{
|
||||
switch (qs.getState())
|
||||
if (st.isCond(1))
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = (player.getLevel() < 81) ? "31553-0a.htm" : "31553-0b.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "31553-1.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "31553-2.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "31553-3a.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
giveItems(player, SCOUTS_NOTE, 1);
|
||||
st.setCond(2, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SCOUTS_CORPSE:
|
||||
case "31553-06.html":
|
||||
{
|
||||
if (qs.isStarted())
|
||||
if (st.isCond(2))
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "32015-1.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "32015-3.html";
|
||||
}
|
||||
takeItems(player, SCOUTS_NOTE, -1);
|
||||
st.setCond(3, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KAHMAN:
|
||||
case "31554-02.html":
|
||||
{
|
||||
if (qs.isStarted() && qs.isCond(3))
|
||||
if (st.isCond(3))
|
||||
{
|
||||
htmltext = "31554-1.html";
|
||||
giveAdena(player, 900990, true);
|
||||
addExpAndSp(player, 8550000, 2052);
|
||||
st.exitQuest(false, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
final QuestState st = getQuestState(player, true);
|
||||
if (st == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (st.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (npc.getId() == PIERCE)
|
||||
{
|
||||
htmltext = "31553-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case PIERCE:
|
||||
{
|
||||
switch (st.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "31553-03.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "31553-05.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "31553-07.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SCOUTS_CORPSE:
|
||||
{
|
||||
if (st.isCond(1))
|
||||
{
|
||||
htmltext = "32015-01.html";
|
||||
}
|
||||
else if (st.isCond(2))
|
||||
{
|
||||
htmltext = "32015-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KAHMAN:
|
||||
{
|
||||
if (st.isCond(3))
|
||||
{
|
||||
htmltext = "31554-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Spellbook Seller Anton:<br>
|
||||
Have you heard of the book entitled "Traces of Living Beings in Ancient Times?" While clearing out the library's underground warehouse one day, I discovered a very old, very worn-out book filled with snatches of some ancient language. Believe me when I tell you that my years of working here have made me pretty familiar with most of the ancient tongues, but this language is totally strange to me. I hope to be able to eventually translate it, but right now it has me completely stymied!<br>
|
||||
In any event, I placed it on my shelf and, to my chagrin, eventually forgot about it. But recently I have heard that it may be a very valuable tome -- very valuable indeed!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00110_ToThePrimevalIsle 31338-03.htm">"Oh really? Tell me more details!"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Spellbook Seller Anton:<br>
|
||||
While clearing out the library's underground warehouse one day, I discovered a very old, very worn-out book filled with snatches of some unkown ancient language. I have tried to translate it without success, but I recently learned that this book is very valuable. I am looking for an adventurer who can transport it to Primeval Isle, but I don't think that you're the right person for the job. No offense! I know it sounds like an easy task, but the island is a place filled with peril. I need someone with more...experience to undertake this mission.<br>
|
||||
(You must be level 75 or above to start this quest.)
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Spellbook Seller Anton:<br>
|
||||
A few days ago, Clark -- the most avid reader in all Rune Town -- stopped by and asked to see all the books I had cleared out from the underground warehouse. He seemed to be knowledgeable about the subject, so I showed this ancient book to him.<br>You should have seen Clark's face! He cried out and grasped the book to him as though he was embracing a long-lost friend. He told me that, long ago, he was a member of the original Primeval Isle Expedition and a close friend of the expedition's leader, Captain Marquez. This book, he told me, is the only one of its kind. It contains much of the mythology and history of the Primeval Isle. Marquez himself has searched for it for years, but had all but given up hope of ever finding it.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00110_ToThePrimevalIsle 31338-04.htm">"What an amazing coincidence!"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Spellbook Seller Anton:<br>
|
||||
You're right. It is amazing, isn't it?<br>Clark told Marquez about my discovery, and Marquez wrote to me asking that he be allowed to obtain the book to assist the writing of his own history of the island. In its wisdom, the fathers of our library decided that the interests of scholarship would be best served by loaning the book to Marquez. But we need someone, preferably an adventurer, willing to transport it to him on Primeval Isle.<br>
|
||||
I don't think the task should be especially difficult, but of course anything so unique and valuable is bound to attract the attention of...well, less savory sorts of people. That's why we want someone with the skill to handle any trouble that may come along. What do you think? Would you like to do it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00110_ToThePrimevalIsle 31338-05.html">"Sure!"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Spellbook Seller Anton:<br>
|
||||
Excellent! Excellent! Marquez will be so pleased! Let me fetch the book for you so you can take it to Marquez. You will find him in the <font color="LEVEL">front area of the wharf on Primeval Isle</font>. Obviously, you'll need to take a ship from Rune Port to reach the island.<br>
|
||||
May your journey be uneventful!
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Spellbook Seller Anton:<br>
|
||||
Please take that book to <font color="LEVEL">Marquez</font> at the wharf on Primeval Isle.<br>
|
||||
I know that you'll enjoy meeting him. An old adventurer himself, he always has time to talk to a young up-and-comer such as yourself.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
It doesn't look as though you are here to travel. Do you have anything else to say to me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00110_ToThePrimevalIsle 32113-02.html">"I brought a book about primitive creatures."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Marquez:<br>
|
||||
Oh, you're the gutsy one Anton mentioned! Ha-ha-ha! Perhaps you haven't heard of me, though? At first, my sole purpose in founding this place was to obtain freedom and wealth. But I was soon attracted to the innocence and mystery of the island itself. I led an expedition deep into the island's interior, fascinated by all we encountered.<br>
|
||||
It was not without its perils, though -- we were attacked by those powerful dinosaurs and the Elrokians themselves. Many of our group lost their lives. But some good did come from our efforts -- we established ties of friendship with the Elrokians.<br>I know that I am too old now to venture again into the wild interior, but the island's mystery still quickens my heart.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00110_ToThePrimevalIsle 32113-03.html">"You still look like an explorer."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Marquez:<br>
|
||||
Ha ha! Thank you for saying so. But my aching body knows the truth; those days have ended for me. Lately I have at least tried to pass my knowledge on to younger adventurers by writing an account of my experiences on the island.<br>I started by recounting both my own personal experiences and various stories I learned from the natives. But then I heard of a ancient book that recounts the history of Primeval Isle, and I have searched for it for years now without success. I was ready to give up...until Clark sent me a message saying that he found it. And here it is...<br>I see by your expression that you are as curious about its contents as I am! The ancient language is no doubt foreign to you, but I can translate a few passages if you are interested in hearing them. Shall I do so?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00110_ToThePrimevalIsle 32113-04.html">"I am interested!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00110_ToThePrimevalIsle 32113-05.html">"No, thank you. I will take off now."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Marquez:<br>
|
||||
Excellent! I see in you the spirit of my younger days! Very well, let me begin:<br>
|
||||
<font color="LEVEL">In the days of old</font>, when the circle of the gods was broken, countless races were spawned from that circle. The greatest of them were the gods themselves; the next greatest were the Giants. And the gods gave the Giants authority to rule over the world. All scholars know this story, but in these latter days men wonder what has become of all the creatures brought forth into the world at the breaking of the circle.<br>
|
||||
An interesting beginning, eh? Clearly this was a learned author; perhaps I will discover in its pages new knowledge about the ancient Primeval Isle. I can hardly wait to begin my translation! Thank you for bringing this prize to me.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
I see. Obviously, the book has greater value for me than for others; I'm sure you understand. In any case, thank you for bringing it to me.<br>
|
||||
If you ever decide to explore the Primeval Isle for yourself, I may be of service to you. Until that day, farewell!
|
||||
</body></html>
|
@@ -24,7 +24,7 @@ import com.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* To the Primeval Isle (110)
|
||||
* @author Adry_85
|
||||
* @author Adry_85, Gladicek
|
||||
*/
|
||||
public class Q00110_ToThePrimevalIsle extends Quest
|
||||
{
|
||||
@@ -33,83 +33,112 @@ public class Q00110_ToThePrimevalIsle extends Quest
|
||||
private static final int MARQUEZ = 32113;
|
||||
// Item
|
||||
private static final int ANCIENT_BOOK = 8777;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 75;
|
||||
|
||||
public Q00110_ToThePrimevalIsle()
|
||||
{
|
||||
super(110);
|
||||
addStartNpc(ANTON);
|
||||
addTalkId(ANTON, MARQUEZ);
|
||||
addCondMinLevel(MIN_LEVEL, "");
|
||||
registerQuestItems(ANCIENT_BOOK);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
QuestState st = getQuestState(player, false);
|
||||
if (st == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "31338-1.html":
|
||||
case "31338-03.htm":
|
||||
case "31338-04.htm":
|
||||
case "32113-02.html":
|
||||
case "32113-03.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "31338-05.html":
|
||||
{
|
||||
giveItems(player, ANCIENT_BOOK, 1);
|
||||
qs.startQuest();
|
||||
st.startQuest();
|
||||
break;
|
||||
}
|
||||
case "32113-2.html":
|
||||
case "32113-2a.html":
|
||||
case "32113-04.html":
|
||||
case "32113-05.html":
|
||||
{
|
||||
giveAdena(player, 191678, true);
|
||||
addExpAndSp(player, 251602, 25245);
|
||||
qs.exitQuest(false, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return event;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case ANTON:
|
||||
{
|
||||
switch (qs.getState())
|
||||
if (st.isCond(1))
|
||||
{
|
||||
case State.CREATED:
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
htmltext = (player.getLevel() < 75) ? "31338-0a.htm" : "31338-0b.htm";
|
||||
break;
|
||||
giveAdena(player, 189208, true);
|
||||
addExpAndSp(player, 887732, 213);
|
||||
st.exitQuest(false, true);
|
||||
}
|
||||
case State.STARTED:
|
||||
else
|
||||
{
|
||||
htmltext = "31338-1a.html";
|
||||
break;
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case MARQUEZ:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "32113-1.html";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
final QuestState st = getQuestState(player, true);
|
||||
if (st == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (st.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (npc.getId() == ANTON)
|
||||
{
|
||||
htmltext = "31338-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (npc.getId() == ANTON)
|
||||
{
|
||||
if (st.isCond(1))
|
||||
{
|
||||
htmltext = "32113-06.html";
|
||||
}
|
||||
}
|
||||
else if (npc.getId() == MARQUEZ)
|
||||
{
|
||||
if (st.isCond(1))
|
||||
{
|
||||
htmltext = "32113-01.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
Ah, my young adventurer... So, did you have a look around this Primeval Isle? As you probably know already, there are many unique creatures on this island. There is also an ancient race of men, the Elroki tribe. Though they may seem primitive to your eyes in some respects, do not underestimate them! Theirs is a culture rich in history and tradition, and they have skills unknown to more "civilized" races. How else could they have survived all these years surrounded by these vicious dinosaurs?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-02.htm">Ask how the Elrokhians manage the dinosaurs.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-02.htm">"How do the Elrokians manage the dinosaurs?"</button>
|
||||
</body></html>
|
@@ -1,5 +1,6 @@
|
||||
<html><body>Marquez:<br>
|
||||
Once, I accompanied the Elrokians on a dinosaur hunt... It was a remarkable experience!<br>The Elrokhians first weaken the creatures by wielding a strange-looking device unique to their tribe. Are you by chance interested in learning the skill?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-03.html">Oh yes! I certainly wish to learn the skill.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-05.htm">No thank you, I'm really not interested in learning any "primitive" skills.</Button>
|
||||
Once, I accompanied the Elrokians on a dinosaur hunt... It was a remarkable experience!<br>
|
||||
The Elrokians first weaken the creatures by wielding a strange-looking device unique to their tribe. Are you by chance interested in learning the skill?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-03.html">"Oh yes! I certainly wish to learn the skill."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action ="bypass -h Quest Q00111_ElrokianHuntersProof 32113-05.htm">"No, thank you. I'm really not interested in learning any "primitive" skills."</Button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
Ah, then you must seek out the leader of the Elroki tribe, Chief Mushika, who once explored with me. Tell him that I sent you and perhaps he will more readily accept you.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-04.html">"Where is the chief?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-04.html">"Where is the chief?"</button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
Ah, my young adventurer... So, did you have a look around this Primeval Isle? As you probably know already, there are many unique creatures on this island. There is also an ancient race of men, the Elroki tribe. Though they may seem primitive to your eyes in some respects, do not underestimate them! Theirs is a culture rich in history and tradition, and they have skills unknown to more "civilized" races. How else could they have survived all these years surrounded by these vicious dinosaurs? We could learn much from them...<br>
|
||||
(You must be level 75 or above to start this quest.)
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
Hurry, then, and visit Mushika, chief of the Elroki tribe.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-04.html">"Where is the chief?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action ="bypass -h Quest Q00111_ElrokianHuntersProof 32113-04.html">"Where is the chief?"</button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
Did you meet Mushika? Did you discover something about the mysterious skill I told you about?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-10.html">"I think I have to get close to them in order to do anything. Can you tell me anything else?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-10.html">"I think I have to get close to them in order to do anything. Can you tell me anything else?"</button>
|
||||
</body></html>
|
@@ -1,7 +1,7 @@
|
||||
<html><body>Marquez:<br>
|
||||
Hmmm, perhaps this will help you forge a bond with the Elrokians... During my explorations of the island, I was gravely wounded -- if not for Mushika, I would have died. He took me back to the Elrokian village, where I stayed while I recovered.<br>
|
||||
During my time there, I heard of a song called the <font color = "LEVEL">"Warrior's Song"</font> that supposedly contains all the Elroki tribe's pride, pain and sadness. <br>
|
||||
They sing this song in both victory and mourning.<br>
|
||||
Hmmm, perhaps this will help you forge a bond with the Elrokians... During my explorations of the island, I was gravely wounded -- if not for Mushika, I would have died.<br>
|
||||
He took me back to the Elrokian village, where I stayed while I recovered.<br>
|
||||
During my time there, I heard of a song called the <font color = "LEVEL">"Warrior's Song"</font> that supposedly contains all the Elroki tribe's pride, pain and sadness.<br>They sing this song in both victory and mourning.<br>
|
||||
If you can learn the song and its meaning, perhaps you can earn the tribe's trust...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-11.html">"Where can I learn the song?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-11.html">"Where can I learn the song?"</button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
Hmmm... A member of my expedition used to speak about an old Elrokian hunter friend of his who knew the song.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-12.html">"Where can I find that member of your expedition?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-12.html">"Where can I find that member of your expedition?"</button>
|
||||
</body></html>
|
@@ -2,5 +2,5 @@
|
||||
Sadly, he was killed by a <font color = "LEVEL">Velociraptor</font> not long ago.<br>
|
||||
...<br>
|
||||
How unfortunate!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-13.html">"I'm sorry to hear that, but isn't there another way? I don't want to give up just yet!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-13.html">"I'm sorry to hear that, but isn't there another way? I don't want to give up just yet!"</button>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Marquez:<br>
|
||||
You know, now that I think of it, I remember that he kept a journal...<br>
|
||||
Perhaps it will contain some clue.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-14.html">"Where is the journal?"</Button>
|
||||
Perhaps it contains some clue.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-14.html">"Where is the journal?"</button>
|
||||
</body></html>
|
@@ -1,6 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
The <font color = "LEVEL">Velociraptor</font> destroyed his belongings at the time of the attack. Perhaps it carried away his journal as well...<br>
|
||||
If you can defeat the <font color = "LEVEL">Velociraptor</font>, we may be able to get the journal back.<br>
|
||||
Do you feel you could find his journal -- or whatever remains of it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-15.html">"Yes!"</Button>
|
||||
The <font color = "LEVEL">Velociraptor</font> destroyed his belongings at the time of the attack. Perhaps it carried away his journal as well...<br>If you can defeat the <font color = "LEVEL">Velociraptor</font>, we may be able to get the journal back.<br>Do you feel you could find his journal -- or whatever remains of it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-15.html">"Yes!"</button>
|
||||
</body></html>
|
@@ -1,4 +1,5 @@
|
||||
<html><body>Marquez:<br>
|
||||
Good work! You've brought all the journal pieces!<br>Now I can return this to his family; perhaps it will comfort them to have a memento of my brave friend...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-18.html">"What does the diary say about the Warrior's Song?"</Button>
|
||||
Good work! You've brought all the journal pieces!<br>
|
||||
Now I can return this to his family; perhaps it will comfort them to have a memento of my brave friend...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-18.html">"What does the diary say about the Warrior's Song?"</button>
|
||||
</body></html>
|
@@ -10,5 +10,5 @@ These creatures are not described in any other books I have ever read... Today,
|
||||
We are lost in the jungle.<br>
|
||||
How will I return to the camp?<br>
|
||||
...(omitted)...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-19.html">Next page.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-19.html">Next page</button>
|
||||
</body></html>
|
@@ -4,5 +4,5 @@ Is this to be our fate? Lost, pursued by these vicious creatures?<br>
|
||||
We were attacked by more strange creatures, smaller than the others we have seen. These new ones seem to hunt in packs! <br>
|
||||
I have become separated from my group...<br>
|
||||
Will I survive?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-20.html">Next page.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-20.html">Next page</button>
|
||||
</body></html>
|
@@ -1,7 +1,7 @@
|
||||
<html><body>Marquez:<br>
|
||||
I met a friend today.<br>
|
||||
He looks just like the creatures living here but he walks upright and seems to possess intelligence.<br>
|
||||
He used a strange skill to save my life, and he shared water and food with me.<br>
|
||||
If it were not for him, I would not have been able to write these words.<br>He saved my life.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-21.html">Next several pages.</Button>
|
||||
I met a friend today.<br>He looks just like the creatures living here but he walks upright and seems to possess intelligence.<br>
|
||||
He used a strange skill to save my life,<br>and he shared water and food with me.<br>
|
||||
If it were not for him, I would not have been able to write these words.<br>
|
||||
He saved my life.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-21.html">Next several pages</button>
|
||||
</body></html>
|
@@ -1,6 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
(According to the journal, it seems like the writer of this diary spent about a year with the native who saved his life.) The native's name is <font color = "LEVEL">Kirikachin</font>. A skillful hunter, he is respected by all the natives.<br>
|
||||
For some reason, however, <font color = "LEVEL">Kirikachin</font> cannot live in the native village or freely contact his people.<br>
|
||||
(Was this the result of some sort of duty? Or was it some kind of punishment? It seems as though there is some story concerned with it.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-22.html">Next several pages.</Button>
|
||||
(According to the journal, it seems like the writer of this diary spent about a year with the native who saved his life.) The native's name is <font color = "LEVEL">Kirikachin</font>. A skillful hunter, he is respected by all the natives.<br>For some reason, however, <font color = "LEVEL">Kirikachin</font> cannot live in the native village or freely contact his people.<br>(Was this the result of some sort of duty? Or was it some kind of punishment? It seems as though there is some story concerned with it.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-22.html">Next several pages</button>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Marquez:<br>
|
||||
(It looks like lonely Kirikachin and the writer of this diary became close friends during their time together, and shared much of their knowledge with each other. My friend taught Kirikachin the famous children's song of Aden, "10 Little Midgets" and learned the <font color="LEVEL">"Warrior Song"</font> from Kirikachin.<br>
|
||||
One time, he even repaid his debt to Kirikachin by saving his life using a healing technique of Aden. It seems the two men became as close as brothers...)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-23.html">Next several pages.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-23.html">Next several pages</button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
(Even after he was found by the expedition, he traveled back and forth to Kirikachin's camp. In fact, it seems like he stayed with Kirikachin more frequently than he did with his fellow explorers.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-24.html">Final page.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-24.html">Final page</button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Marquez:<br>
|
||||
(The last page is so blood-stained and damaged that its words are illegible. But there appears to be something stuck between the pages: an envelope.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-25.html">Remove the envelope.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL"action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-25.html">Remove the envelope</button>
|
||||
</body></html>
|
@@ -1,4 +1,5 @@
|
||||
<html><body>Marquez:<br>
|
||||
Good work! You've brought all the journal pieces!<br>Please take this as a small token of my appreciation.<br>Now I can give return this to his family.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-18.html">"Is there anything about warrior song in the journal?"</Button>
|
||||
Good work! You've brought all the journal pieces!<br>Please take this as a small token of my appreciation.<br>
|
||||
Now I can give return this to his family.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32113-18.html">"Is there anything about warrior song in the journal?"</button>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Asamah:<br>
|
||||
Marquez sent you?<br>
|
||||
Why?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32115-03.html">"I would like to learn the mysterious skill of the Elroki for controlling dinosaurs."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32115-03.html">"I would like to learn the mysterious skill of the Elroki for controlling dinosaurs."</button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Asamah:<br>
|
||||
Stubborn, aren't you? I still have nothing to say to you about those skills!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32115-06.html">Sing despite Asamah's hostility.</Button>
|
||||
Stubborn, aren't you? I still have nothing to say to you about those skills!
|
||||
<br><Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32115-06.html">Sing despite Asamah's hostility</button>
|
||||
</body></html>
|
@@ -1,6 +1,5 @@
|
||||
<html><body>Asamah:<br>
|
||||
Where did you learn this song?<br>
|
||||
It seems like you not only know the melody of it, but that you also understand the spirit and meaning of the song.<br>
|
||||
Where did you learn this song?<br>It seems like you not only know the melody of it, but that you also understand the spirit and meaning of the song.<br>
|
||||
When I hear you sing, in fact, it's plain to me that you understand!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32115-08.html">Explain how you learned about Kirikachin and an outsider's friendship.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32115-08.html">Explain how you learned about Kirikachin and an outsider's friendship</button>
|
||||
</body></html>
|
@@ -2,5 +2,5 @@
|
||||
Oh, that's what happened... I am truly sorry about Kirikachin's friend.<br>
|
||||
On a happier note... by understanding that song you have shown yourself a true friend of the Elroki tribe.<br>
|
||||
How can we help you further my friend?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32115-09.html">"I want to learn the mysterious skill the Elroki possess for controlling dinosaurs."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32115-09.html">"I want to learn the mysterious skill the Elroki possess for controlling dinosaurs."</button>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Kirikachin:<br>
|
||||
Oh, outsider... Are there any of your race who know me, Kirikachin? I once had a friend in one such as you, but I can no longer locate him. Have you news of his whereabouts?<br>
|
||||
(Give him the letter.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32116-03.html">"Unfortunately, he was killed by a Velociraptor."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32116-03.html">"Unfortunately, he was killed by a Velociraptor."</button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Kirikachin:<br>
|
||||
(As he reads the letter, Kirikachin's hands begin to shake and tears fall onto the page. He sobs softly.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32116-04.html">Put your hand on his shoulder to comfort him.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32116-04.html">Put your hand on his shoulder to comfort him</button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Kirikachin:<br>
|
||||
(As he reads the letter, Kirikachin's hands begin to shake and tears fall onto the page. He sobs softly.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32116-04.html">Put your hand on his shoulder to comfort him.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32116-04.html">Put your hand on his shoulder to comfort him</button>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Kirikachin:<br>
|
||||
My heart is saddened, but I know he has gone to his rightful reward. My thanks to you for bringing me this letter -- now I know the truth, and that is some comfort.<br>
|
||||
How can I repay you for your trouble?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32116-07.html">"Please teach me the song that you just sang."</Button>
|
||||
How can I repay you for your trouble?<br>Anything I can do for you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32116-07.html">"Please teach me the song that you just sang."</button>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Kirikachin:<br>
|
||||
What do you need? Ah, you wish to learn a skill? This is not something that just anyone can learn...<br>
|
||||
And you are an outsider, after all...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32116-10.html">"The chief has given me permission. (Hand him the practice trap that Asamah made.)</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00111_ElrokianHuntersProof 32116-10.html">"The chief has given me permission." (Hand him the practice trap that Asamah made.)</button>
|
||||
</body></html>
|
@@ -51,6 +51,7 @@ public final class Q00111_ElrokianHuntersProof extends Quest
|
||||
private static final int MIN_LEVEL = 75;
|
||||
// Mobs
|
||||
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
MOBS_DROP_CHANCES.put(22196, new ItemChanceHolder(DIARY_FRAGMENT, 0.51, 4)); // velociraptor_leader
|
||||
@@ -81,6 +82,7 @@ public final class Q00111_ElrokianHuntersProof extends Quest
|
||||
addStartNpc(MARQUEZ);
|
||||
addTalkId(MARQUEZ, MUSHIKA, ASAMAH, KIRIKACHIN);
|
||||
addKillId(MOBS_DROP_CHANCES.keySet());
|
||||
addCondMinLevel(MIN_LEVEL, "32113-06.htm");
|
||||
registerQuestItems(DIARY_FRAGMENT, EXPEDITION_MEMBERS_LETTER, ORNITHOMINUS_CLAW, DEINONYCHUS_BONE, PACHYCEPHALOSAURUS_SKIN, PRACTICE_ELROKIAN_TRAP);
|
||||
}
|
||||
|
||||
@@ -200,13 +202,21 @@ public final class Q00111_ElrokianHuntersProof extends Quest
|
||||
{
|
||||
if (qs.isMemoState(12) && hasQuestItems(player, PRACTICE_ELROKIAN_TRAP))
|
||||
{
|
||||
takeItems(player, PRACTICE_ELROKIAN_TRAP, -1);
|
||||
giveItems(player, ELROKIAN_TRAP, 1);
|
||||
giveItems(player, TRAP_STONE, 100);
|
||||
giveAdena(player, 1071691, true);
|
||||
addExpAndSp(player, 553524, 55538);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
if ((player.getLevel() >= MIN_LEVEL))
|
||||
{
|
||||
takeItems(player, PRACTICE_ELROKIAN_TRAP, -1);
|
||||
giveItems(player, ELROKIAN_TRAP, 1);
|
||||
giveItems(player, TRAP_STONE, 100);
|
||||
giveAdena(player, 1702800, true);
|
||||
addExpAndSp(player, 19973970, 4793);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestLevelRewardMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -223,13 +233,22 @@ public final class Q00111_ElrokianHuntersProof extends Quest
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (item.getCount() == qs.getMemoState())
|
||||
{
|
||||
if (qs.isCond(4) && giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, 50, item.getChance(), true))
|
||||
if (qs.isCond(4))
|
||||
{
|
||||
qs.setCond(5);
|
||||
if (giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, 50, item.getChance(), true))
|
||||
{
|
||||
qs.setCond(5);
|
||||
}
|
||||
}
|
||||
else if (qs.isCond(10) && giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, 10, item.getChance(), true) && (getQuestItemsCount(qs.getPlayer(), ORNITHOMINUS_CLAW) >= 10) && (getQuestItemsCount(qs.getPlayer(), DEINONYCHUS_BONE) >= 10) && (getQuestItemsCount(qs.getPlayer(), PACHYCEPHALOSAURUS_SKIN) >= 10))
|
||||
else if (qs.isCond(10))
|
||||
{
|
||||
qs.setCond(11);
|
||||
if (giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, 10, item.getChance(), true) //
|
||||
&& (getQuestItemsCount(qs.getPlayer(), ORNITHOMINUS_CLAW) >= 10) //
|
||||
&& (getQuestItemsCount(qs.getPlayer(), DEINONYCHUS_BONE) >= 10) //
|
||||
&& (getQuestItemsCount(qs.getPlayer(), PACHYCEPHALOSAURUS_SKIN) >= 10))
|
||||
{
|
||||
qs.setCond(11);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -239,8 +258,12 @@ public final class Q00111_ElrokianHuntersProof extends Quest
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
@@ -256,7 +279,7 @@ public final class Q00111_ElrokianHuntersProof extends Quest
|
||||
{
|
||||
if (npc.getId() == MARQUEZ)
|
||||
{
|
||||
htmltext = (player.getLevel() >= MIN_LEVEL) ? "32113-01.htm" : "32113-06.html";
|
||||
htmltext = "32113-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@@ -1,10 +1,4 @@
|
||||
<html><body>Misa:<br>
|
||||
Do you have anything to say to me?<br>
|
||||
What? Rafforty sent you?<br>
|
||||
Well, he doesn't want to see me, I guarantee you that!<br>
|
||||
....<br>
|
||||
Would you give this <font color="LEVEL">letter</font> to Rafforty? I need him to read it immediately!<br>
|
||||
But please, do not read it yourself!<br>
|
||||
This is none of your business!<br>
|
||||
Oh, Rafforty...
|
||||
</body></html>
|
||||
You say that Rafforty sent you? I see...<br>
|
||||
Rafforty... he still won't talk to me. But would you be so kind as to give him this <font color="LEVEL">letter</font> for me? Please, I'm desperate.
|
||||
</body></html>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Misa:<br>
|
||||
Is there anything you want to say to me?<br>
|
||||
Well, I don't have anything to say to you! I just want to enjoy this beautiful night view.
|
||||
What brought you here?<br>
|
||||
Just enjoy the view, and be on your way.
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Misa:<br>
|
||||
Why are you here again? I don't have anything to say to you.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32018-05.html">"This letter is from Rafforty."</Button>
|
||||
What do you want? I have nothing to say to you.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32018-05.html">"I have a letter from Rafforty."</Button>
|
||||
</body></html>
|
@@ -1,6 +1,5 @@
|
||||
<html><body>Misa:<br>
|
||||
Oh! You're going to work with us! Welcome aboard!<br>
|
||||
I'll tell you what I just found out. We lost touch with a large party of our Guild members who had been dispatched to investigate the recent activities of the Ice Queen.<br>
|
||||
We recently got lucky and found out where they might be...<br>
|
||||
It seems that the Ice Queen put a curse on them and turned them into ice sculptures! I think we should find out if there are any remnants of their investigation. The ice sculptures can be found on the <font color="LEVEL">plains north of the entrance of the Ice Queen's castle</font>. Please, help us!
|
||||
Hey! You'll join! Let me start by wishing you good luck... I always start with that.<br>
|
||||
Now to get you up to speed. Guild informants have disappeared, one by one, while gathering information on the Queen...<br>
|
||||
We just learned why.<br>Or at least what. The Ice Queen transformed them... into ice. I just KNOW they were hot on the trail of something important! Can you pick up where the trail leaves off? Our associates were found in their cursed state on <font color="LEVEL">the plain above the North corner from the Ice Queen's castle entrance</font>. You'll have to be careful.
|
||||
</body></html>
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Misa:<br>
|
||||
We accidently found out where the lost Guild members might be! They were turned into ice sculptures! Do you think you could go and see if there are any remnants of their investigation? You can find the ice sculptures on the <font color="LEVEL">plains north of the entrance of the Ice Queen's castle</font>. Please, help us!
|
||||
<html><head><body>Misa:<br>
|
||||
We learned where the informants are. Our people say they were turned into ice... Please investigate further. The place is <font color="LEVEL">the plain on the corner, North from the entrance to the Ice Queen's castle</font>. Please!
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Rafforty:<br>
|
||||
Have you recovered your strength? You certainly look a lot better. Would you like to go for a walk?<br>
|
||||
Walk down the road to the lake, meet a person and come back.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-02.html">"Who am I supposed to meet?"</Button>
|
||||
Feeling better? You don't look quite so pale. How about a walk?<br>
|
||||
This road leads to the lake, good fresh air and exercise. There's someone you should meet there, then maybe you could come back here.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-02.html">"I will go. Who should I meet?"</Button>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Rafforty:<br>
|
||||
I want you to meet a woman!<br>
|
||||
Why are you blushing? You know how it is... I just can't refuse her! So I want you to go there to refuse for me! That's it!<br>
|
||||
It should be easy for you since you haven't met her before. Follow the road to the northwest until you get to <font color="LEVEL">Frost Lake</font> and meet a woman named <font color="LEVEL">Misa</font> there. <font color="LEVEL">I promised to meet her at night</font>, so go after dark. Thank you so much for doing this for me!
|
||||
You need to meet a girl.<br>
|
||||
Why is your face red? It's hard for me to say no, you can do it for me.<br>
|
||||
It will be easy for you since you aren't emotionally involved. Take a look at the map, see this place called <font color="LEVEL">Frost Lake</font> in the north west? You will meet a woman called <font color="LEVEL">Misa</font> there. She is expecting me to <font color="LEVEL">meet her at night</font>. I'm counting on you.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Rafforty:<br>
|
||||
Don't think about going here right now. You'll just end up dead. (Only character with level 53 or above can take on this quest.)
|
||||
</body></html>
|
@@ -1,4 +1,3 @@
|
||||
<html><body>Rafforty:<br>
|
||||
What are you still doing here? Don't keep her waiting too long! Your task will be over once you've met her at <font color="LEVEL">Frost Lake</font> and come back.<br>
|
||||
Be careful! Don't fool around and get yourself hurt!
|
||||
Well?? Never keep a lady waiting! Go see her at <font color="LEVEL">Frost Lake</font> and come back. And stay out of trouble!
|
||||
</body></html>
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Rafforty:<br>
|
||||
Didn't she say to give me the letter? Then give it to me!<br>
|
||||
Hmm.. Are you sure you didn't open it? The seal looks broken...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-07.html">"Are you doubting me?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-08.html">"I'm sorry, my curiosity got the better of me."</Button>
|
||||
She sent you to deliver this letter? Let me see it.<br>
|
||||
It's already open... Did you open this?!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-07.html">"Of course not!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-08.html">"I opened it. Thought I should know what was inside."</Button>
|
||||
</body></html>
|
@@ -1,8 +1,8 @@
|
||||
<html><body>Rafforty:<br>
|
||||
Hey, don't be so touchy!<br>
|
||||
I was just asking!<br>
|
||||
I'm sorry if I hurt your feelings.<br>
|
||||
It's hard to trust anyone these days, you know?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-09.html">"Why did you ask me to do this?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-10.html">"No big deal."</Button>
|
||||
Don't be upset!<br>
|
||||
I just saw the seal was broken.. forgive me, I did jump to conclusions. Some manners, huh?<br>
|
||||
Please forgive me.<br>
|
||||
It's just hard to trust people these days.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-09.html">"What is going on?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-10.html">"I will pass on this, I'm busy."</Button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Rafforty:<br>
|
||||
Hmmm.. It's just wrong to read someone else's mail! I didn't think you'd do such a thing... I'm really disappointed in you!<br>
|
||||
I'm through talking to you! Get out as soon as you've recovered!
|
||||
Reading someone's personal mail is rude! My mother taught me good manners, too bad yours didn't.<br>
|
||||
I don't want to be angry with you. When you are well enough you should leave.
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Rafforty:<br>
|
||||
Well, I'll just come out with it then! What kind of relationship do you have with Queen Freya?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-11.html">"Who's Queen Freya?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-12.html">"Certainly you don't think I'm involved with her?"</Button>
|
||||
</body></html>
|
||||
Speak, and do not lie to me. What's your relationship with Queen Freya?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-11.html">"Huh? Who is she?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-12.html">"Do you think I have anything to do with her?"</Button>
|
||||
</body></html>
|
||||
|
@@ -1,9 +1,8 @@
|
||||
<html><body>Rafforty:<br>
|
||||
Thank you for understanding.<br>
|
||||
Oh, yes! Don't let my accent fool you!<br>
|
||||
I'm Rafforty, from the Zinnia Guild!<br>I actually tested you a while back, and you're not involved with Queen Freya. I'd like to ask for a favor...
|
||||
<br>Or would you like to hear about the current situation?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-13.html">"The Zinnia Guild...?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-14.html">"Who's Queen Freya?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-15.html">"What can I do for you?"</Button>
|
||||
You are most understanding.<br>
|
||||
I feel I can relax around you a little.<br>
|
||||
I'm Rafforty, I work in the Jinia guild.<br>I'm sorry for testing you like that, I wouldn't have if it wasn't necessary. I really do have better manners than that. You're not related to Queen Freya. So now we'd like to ask for your help. Will you lend us your considerable strength?<br>Or should I tell you more first?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-13.html">"Jinia Guild?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-14.html">"Who is Freya?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-15.html">"Then, what can I help you with?"</Button>
|
||||
</body></html>
|
@@ -1,9 +1,9 @@
|
||||
<html><body>Rafforty:<br>
|
||||
You don't know about Queen Freya? She rules this whole area!<br>
|
||||
You must not be related to Freya if you don't even know who she is!<br>
|
||||
I'm sorry I didn't trust you! The situation here has just gotten to the point...<br>
|
||||
Well, I'll just come out with it... Would you like to join the Zinnia Guild? I can tell you more about us if you want...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-13.html">"Tell me about the Zinnia Guild."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-14.html">"Tell me about Queen Freya."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-15.html">"What can I do for you?"</Button>
|
||||
Never heard of Freya, governor of this region?<br>
|
||||
You're clearly not related to her.<br>
|
||||
I wasn't up front with you, I'm sorry. In this business, it's better than trusting the wrong person.<br>
|
||||
Let me be up front with you now: Jinia guild wants your help. I know we've had a rough start, why don't I tell you more to win you over?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-13.html">"Jinia Guild?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-14.html">"Who is Freya?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00115_TheOtherSideOfTruth 32020-15.html">"What do you want my help for?"</Button>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Rafforty:<br>
|
||||
Well, honestly, you're acting kind of shifty!<br>
|
||||
We obviously don't trust each other, so let's just end it now.<br>
|
||||
Please get out as soon as you're recovered.
|
||||
Well... you're stuttering, so there is something... .<br>
|
||||
Are you just wasting my time?<br>
|
||||
I'm not going to play games. If we don't trust each other then you ought to leave when you are well enough to do so.
|
||||
</body></html>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user