Addition of Dimensional Warp instance.
Contributed by gigilo1968.
This commit is contained in:
parent
fdf51df12a
commit
6c38b88b42
455
L2J_Mobius_1.0_Ertheia/dist/game/data/DoorData.xml
vendored
455
L2J_Mobius_1.0_Ertheia/dist/game/data/DoorData.xml
vendored
@ -16836,6 +16836,266 @@
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250002" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="1146">
|
||||
<node x="-211367" y="239031" />
|
||||
<node x="-211026" y="238801" />
|
||||
<node x="-211011" y="238829" />
|
||||
<node x="-211353" y="239052" />
|
||||
</nodes>
|
||||
<location x="-211190" y="238927" z="1154" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250003" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="1552">
|
||||
<node x="-215940" y="239724" />
|
||||
<node x="-216100" y="239349" />
|
||||
<node x="-216071" y="239337" />
|
||||
<node x="-215918" y="239714" />
|
||||
</nodes>
|
||||
<location x="-216007" y="239531" z="1560" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250004" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="2256">
|
||||
<node x="-219531" y="241694" />
|
||||
<node x="-219569" y="241297" />
|
||||
<node x="-219545" y="241296" />
|
||||
<node x="-219505" y="241693" />
|
||||
</nodes>
|
||||
<location x="-219539" y="241489" z="2264" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250005" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="2736">
|
||||
<node x="-218904" y="246367" />
|
||||
<node x="-219319" y="246371" />
|
||||
<node x="-219319" y="246340" />
|
||||
<node x="-218905" y="246337" />
|
||||
</nodes>
|
||||
<location x="-219112" y="246353" z="2744" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250011" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="6551">
|
||||
<node x="-208062" y="241011" />
|
||||
<node x="-207772" y="240723" />
|
||||
<node x="-207749" y="240743" />
|
||||
<node x="-208041" y="241032" />
|
||||
</nodes>
|
||||
<location x="-207904" y="240875" z="6559" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250012" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="7336">
|
||||
<node x="-211367" y="239031" />
|
||||
<node x="-211026" y="238801" />
|
||||
<node x="-211011" y="238829" />
|
||||
<node x="-211353" y="239052" />
|
||||
</nodes>
|
||||
<location x="-211190" y="238927" z="7344" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250013" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="7742">
|
||||
<node x="-215940" y="239724" />
|
||||
<node x="-216100" y="239349" />
|
||||
<node x="-216071" y="239337" />
|
||||
<node x="-215918" y="239714" />
|
||||
</nodes>
|
||||
<location x="-216007" y="239531" z="7750" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250014" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8446">
|
||||
<node x="-219531" y="241694" />
|
||||
<node x="-219569" y="241297" />
|
||||
<node x="-219545" y="241296" />
|
||||
<node x="-219505" y="241693" />
|
||||
</nodes>
|
||||
<location x="-219539" y="241489" z="8454" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250015" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8926">
|
||||
<node x="-218904" y="246367" />
|
||||
<node x="-219319" y="246371" />
|
||||
<node x="-219319" y="246340" />
|
||||
<node x="-218905" y="246337" />
|
||||
</nodes>
|
||||
<location x="-219112" y="246353" z="8934" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250016" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="9847">
|
||||
<node x="-218583" y="250013" />
|
||||
<node x="-218293" y="249725" />
|
||||
<node x="-218270" y="249745" />
|
||||
<node x="-218562" y="250034" />
|
||||
</nodes>
|
||||
<location x="-218425" y="249877" z="9855" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250017" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="10634">
|
||||
<node x="-215318" y="251921" />
|
||||
<node x="-214977" y="251691" />
|
||||
<node x="-214962" y="251719" />
|
||||
<node x="-215304" y="251942" />
|
||||
</nodes>
|
||||
<location x="-215141" y="251817" z="10642" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250018" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="11040">
|
||||
<node x="-210256" y="251408" />
|
||||
<node x="-210416" y="251033" />
|
||||
<node x="-210387" y="251021" />
|
||||
<node x="-210234" y="251398" />
|
||||
</nodes>
|
||||
<location x="-210323" y="251215" z="11048" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250019" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="11744">
|
||||
<node x="-206785" y="249466" />
|
||||
<node x="-206823" y="249069" />
|
||||
<node x="-206799" y="249068" />
|
||||
<node x="-206759" y="249465" />
|
||||
</nodes>
|
||||
<location x="-206793" y="249261" z="11752" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250020" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="12225">
|
||||
<node x="-206752" y="244379" />
|
||||
<node x="-207167" y="244383" />
|
||||
<node x="-207167" y="244352" />
|
||||
<node x="-206753" y="244349" />
|
||||
</nodes>
|
||||
<location x="-206960" y="244365" z="12233" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250009" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5225">
|
||||
<node x="-206785" y="249466" />
|
||||
<node x="-206823" y="249069" />
|
||||
<node x="-206799" y="249068" />
|
||||
<node x="-206759" y="249465" />
|
||||
</nodes>
|
||||
<location x="-206793" y="249261" z="5233" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250008" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="4521">
|
||||
<node x="-210255" y="251409" />
|
||||
<node x="-210415" y="251034" />
|
||||
<node x="-210386" y="251022" />
|
||||
<node x="-210232" y="251399" />
|
||||
</nodes>
|
||||
<location x="-210322" y="251216" z="4529" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250010" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5706">
|
||||
<node x="-206752" y="244379" />
|
||||
<node x="-207167" y="244383" />
|
||||
<node x="-207167" y="244352" />
|
||||
<node x="-206753" y="244349" />
|
||||
</nodes>
|
||||
<location x="-206960" y="244365" z="5714" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250007" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="4115">
|
||||
<node x="-215318" y="251921" />
|
||||
<node x="-214977" y="251691" />
|
||||
<node x="-214962" y="251719" />
|
||||
<node x="-215304" y="251942" />
|
||||
</nodes>
|
||||
<location x="-215141" y="251817" z="4123" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250001" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="360">
|
||||
<node x="-208062" y="241011" />
|
||||
<node x="-207772" y="240723" />
|
||||
<node x="-207749" y="240743" />
|
||||
<node x="-208041" y="241032" />
|
||||
</nodes>
|
||||
<location x="-207904" y="240875" z="368" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250006" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="3328">
|
||||
<node x="-218583" y="250015" />
|
||||
<node x="-218293" y="249727" />
|
||||
<node x="-218270" y="249747" />
|
||||
<node x="-218562" y="250036" />
|
||||
</nodes>
|
||||
<location x="-218425" y="249879" z="3336" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="15240001" name="Hellfire_Du_Boss_S.Hellfire_Boss_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="-10250">
|
||||
@ -16875,6 +17135,201 @@
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110001" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="3978">
|
||||
<node x="-77846" y="-217621" />
|
||||
<node x="-77557" y="-217909" />
|
||||
<node x="-77533" y="-217889" />
|
||||
<node x="-77826" y="-217600" />
|
||||
</nodes>
|
||||
<location x="-77688" y="-217757" z="3986" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110002" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="4766">
|
||||
<node x="-80773" y="-218772" />
|
||||
<node x="-80432" y="-219002" />
|
||||
<node x="-80416" y="-218974" />
|
||||
<node x="-80758" y="-218751" />
|
||||
</nodes>
|
||||
<location x="-80595" y="-218876" z="4774" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110003" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5173">
|
||||
<node x="-84579" y="-218016" />
|
||||
<node x="-84739" y="-218391" />
|
||||
<node x="-84710" y="-218403" />
|
||||
<node x="-84557" y="-218026" />
|
||||
</nodes>
|
||||
<location x="-84646" y="-218209" z="5181" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110004" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5876">
|
||||
<node x="-87643" y="-216899" />
|
||||
<node x="-87681" y="-217296" />
|
||||
<node x="-87658" y="-217297" />
|
||||
<node x="-87618" y="-216900" />
|
||||
</nodes>
|
||||
<location x="-87651" y="-217104" z="5884" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110005" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="6356">
|
||||
<node x="-86382" y="-212479" />
|
||||
<node x="-86797" y="-212475" />
|
||||
<node x="-86798" y="-212506" />
|
||||
<node x="-86383" y="-212509" />
|
||||
</nodes>
|
||||
<location x="-86590" y="-212493" z="6364" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110011" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="10169">
|
||||
<node x="-77846" y="-217621" />
|
||||
<node x="-77557" y="-217909" />
|
||||
<node x="-77533" y="-217889" />
|
||||
<node x="-77826" y="-217600" />
|
||||
</nodes>
|
||||
<location x="-77688" y="-217757" z="10177" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110012" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="10956">
|
||||
<node x="-80773" y="-218772" />
|
||||
<node x="-80432" y="-219002" />
|
||||
<node x="-80416" y="-218974" />
|
||||
<node x="-80758" y="-218751" />
|
||||
</nodes>
|
||||
<location x="-80595" y="-218876" z="10964" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110013" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="11363">
|
||||
<node x="-84579" y="-218016" />
|
||||
<node x="-84739" y="-218391" />
|
||||
<node x="-84710" y="-218403" />
|
||||
<node x="-84557" y="-218026" />
|
||||
</nodes>
|
||||
<location x="-84646" y="-218209" z="11371" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110014" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="12066">
|
||||
<node x="-87643" y="-216899" />
|
||||
<node x="-87681" y="-217296" />
|
||||
<node x="-87658" y="-217297" />
|
||||
<node x="-87618" y="-216900" />
|
||||
</nodes>
|
||||
<location x="-87651" y="-217104" z="12074" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110015" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="12546">
|
||||
<node x="-86382" y="-212479" />
|
||||
<node x="-86797" y="-212475" />
|
||||
<node x="-86798" y="-212506" />
|
||||
<node x="-86383" y="-212509" />
|
||||
</nodes>
|
||||
<location x="-86590" y="-212493" z="12554" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110006" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="6950">
|
||||
<node x="-86216" y="-208863" />
|
||||
<node x="-85927" y="-209151" />
|
||||
<node x="-85903" y="-209131" />
|
||||
<node x="-86196" y="-208842" />
|
||||
</nodes>
|
||||
<location x="-86058" y="-208999" z="6958" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110007" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="7735">
|
||||
<node x="-83287" y="-207062" />
|
||||
<node x="-82946" y="-207292" />
|
||||
<node x="-82930" y="-207264" />
|
||||
<node x="-83272" y="-207041" />
|
||||
</nodes>
|
||||
<location x="-83109" y="-207166" z="7743" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110008" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8141">
|
||||
<node x="-79060" y="-207695" />
|
||||
<node x="-79220" y="-208070" />
|
||||
<node x="-79191" y="-208082" />
|
||||
<node x="-79038" y="-207705" />
|
||||
</nodes>
|
||||
<location x="-79127" y="-207888" z="8149" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110009" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8845">
|
||||
<node x="-76165" y="-209627" />
|
||||
<node x="-76203" y="-210024" />
|
||||
<node x="-76180" y="-210025" />
|
||||
<node x="-76140" y="-209628" />
|
||||
</nodes>
|
||||
<location x="-76173" y="-209832" z="8853" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110010" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="9326">
|
||||
<node x="-77028" y="-214451" />
|
||||
<node x="-77443" y="-214447" />
|
||||
<node x="-77444" y="-214478" />
|
||||
<node x="-77029" y="-214481" />
|
||||
</nodes>
|
||||
<location x="-77236" y="-214465" z="9334" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17230101" name="Combine_dun_S.Comb_inst_door_01">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="-10501">
|
||||
|
165
L2J_Mobius_1.0_Ertheia/dist/game/data/SayuneData.xml
vendored
165
L2J_Mobius_1.0_Ertheia/dist/game/data/SayuneData.xml
vendored
@ -666,6 +666,171 @@
|
||||
<loc id="1" x="-186018" y="243468" z="2657" />
|
||||
<loc id="2" x="-186470" y="243500" z="2618" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 1 -> 2 -->
|
||||
<map id="46">
|
||||
<loc id="1" x="-209809" y="239024" z="1560" />
|
||||
<loc id="2" x="-210349" y="240190" z="1136" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 2 -> 3 -->
|
||||
<map id="47">
|
||||
<loc id="1" x="-213737" y="238586" z="1596" />
|
||||
<loc id="2" x="-214526" y="238900" z="1584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 3 -> 4 -->
|
||||
<map id="48">
|
||||
<loc id="1" x="-218797" y="240326" z="2670" />
|
||||
<loc id="2" x="-218050" y="241346" z="2248" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 4 -> 5 -->
|
||||
<map id="49">
|
||||
<loc id="1" x="-222958" y="241121" z="2386" />
|
||||
<loc id="2" x="-219093" y="243874" z="2728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 5 -> 6 -->
|
||||
<map id="50">
|
||||
<loc id="1" x="-219640" y="247868" z="3496" />
|
||||
<loc id="2" x="-219544" y="248776" z="3360" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 6 -> 7 -->
|
||||
<map id="51">
|
||||
<loc id="1" x="-216513" y="251722" z="4527" />
|
||||
<loc id="2" x="-215980" y="250563" z="4104" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 7 -> 8 -->
|
||||
<map id="52">
|
||||
<loc id="1" x="-212680" y="251576" z="4680" />
|
||||
<loc id="2" x="-211773" y="251821" z="4552" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 8 -> 9 -->
|
||||
<map id="53">
|
||||
<loc id="1" x="-207533" y="250419" z="5639" />
|
||||
<loc id="2" x="-208286" y="249412" z="5216" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 9 -> 10 -->
|
||||
<map id="54">
|
||||
<loc id="1" x="-204970" y="248587" z="6592" />
|
||||
<loc id="2" x="-206980" y="246782" z="5696" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 10 -> 11 -->
|
||||
<map id="55">
|
||||
<loc id="1" x="-206220" y="242808" z="6656" />
|
||||
<loc id="2" x="-206756" y="242009" z="6584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 11 -> 12 -->
|
||||
<map id="56">
|
||||
<loc id="1" x="-209814" y="239040" z="7752" />
|
||||
<loc id="2" x="-210343" y="240201" z="7328" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 12 -> 13 -->
|
||||
<map id="57">
|
||||
<loc id="1" x="-213566" y="238711" z="7848" />
|
||||
<loc id="2" x="-214510" y="238914" z="7776" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 13 -> 14 -->
|
||||
<map id="58">
|
||||
<loc id="1" x="-218793" y="240333" z="8860" />
|
||||
<loc id="2" x="-218034" y="241333" z="8440" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 14 -> 15 -->
|
||||
<map id="59">
|
||||
<loc id="1" x="-218699" y="242596" z="8859" />
|
||||
<loc id="2" x="-219093" y="243899" z="8912" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 15 -> 16 -->
|
||||
<map id="60">
|
||||
<loc id="1" x="-220117" y="247939" z="9954" />
|
||||
<loc id="2" x="-219563" y="248742" z="9880" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 16 -> 17 -->
|
||||
<map id="61">
|
||||
<loc id="1" x="-216516" y="251710" z="11052" />
|
||||
<loc id="2" x="-215980" y="250563" z="10624" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 17 -> 18 -->
|
||||
<map id="62">
|
||||
<loc id="1" x="-212765" y="252033" z="11144" />
|
||||
<loc id="2" x="-211808" y="251842" z="11072" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 18 -> 19 -->
|
||||
<map id="63">
|
||||
<loc id="1" x="-207530" y="250423" z="12159" />
|
||||
<loc id="2" x="-208304" y="249410" z="11736" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 19 -> 20 -->
|
||||
<map id="64">
|
||||
<loc id="1" x="-207627" y="248155" z="12155" />
|
||||
<loc id="2" x="-206945" y="246788" z="12213" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 21 -> 22 -->
|
||||
<map id="65">
|
||||
<loc id="1" x="-79225" y="-218779" z="5176" />
|
||||
<loc id="2" x="-79748" y="-217616" z="4760" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 22 -> 23 -->
|
||||
<map id="66">
|
||||
<loc id="1" x="-82213" y="-219036" z="5280" />
|
||||
<loc id="2" x="-83169" y="-218823" z="5208" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 23 -> 24 -->
|
||||
<map id="67">
|
||||
<loc id="1" x="-86907" y="-218255" z="6290" />
|
||||
<loc id="2" x="-86150" y="-217250" z="5872" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 24 -> 25 -->
|
||||
<map id="68">
|
||||
<loc id="1" x="-86810" y="-215997" z="6296" />
|
||||
<loc id="2" x="-86570" y="-214902" z="6344" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 25 -> 26 -->
|
||||
<map id="69">
|
||||
<loc id="1" x="-87748" y="-210937" z="7055" />
|
||||
<loc id="2" x="-87191" y="-210129" z="6984" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 26 -> 27 -->
|
||||
<map id="70">
|
||||
<loc id="1" x="-84473" y="-207277" z="8145" />
|
||||
<loc id="2" x="-83950" y="-208428" z="7728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 27 -> 28 -->
|
||||
<map id="71">
|
||||
<loc id="1" x="-81572" y="-207061" z="8248" />
|
||||
<loc id="2" x="-80608" y="-207264" z="8176" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 28 -> 29 -->
|
||||
<map id="72">
|
||||
<loc id="1" x="-76906" y="-208670" z="9255" />
|
||||
<loc id="2" x="-77674" y="-209675" z="8840" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 29 -> 30 -->
|
||||
<map id="73">
|
||||
<loc id="1" x="-77002" y="-210933" z="9256" />
|
||||
<loc id="2" x="-77231" y="-212044" z="9312" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 30 -> 31 -->
|
||||
<map id="74">
|
||||
<loc id="1" x="-76000" y="-215820" z="10280" />
|
||||
<loc id="2" x="-76542" y="-216618" z="10200" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 31 -> 32 -->
|
||||
<map id="75">
|
||||
<loc id="1" x="-79225" y="-218778" z="11366" />
|
||||
<loc id="2" x="-79754" y="-217624" z="10952" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 32 -> 33 -->
|
||||
<map id="76">
|
||||
<loc id="1" x="-82216" y="-219042" z="11468" />
|
||||
<loc id="2" x="-83160" y="-218833" z="11392" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 33 -> 34 -->
|
||||
<map id="77">
|
||||
<loc id="1" x="-86920" y="-218259" z="12474" />
|
||||
<loc id="2" x="-86158" y="-217262" z="12058" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 34 -> 35 -->
|
||||
<map id="78">
|
||||
<loc id="1" x="-86692" y="-216159" z="12480" />
|
||||
<loc id="2" x="-86572" y="-214918" z="12536" />
|
||||
</map>
|
||||
<!-- Ecnahnted Valley to East/West Enchanted Valley Side -->
|
||||
<map id="79">
|
||||
<selector id="0" x="113562" y="46888" z="-4640">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<html><body>Resed:<br>
|
||||
The Dimensional Warp was created when the energy, which brought Faeron to the Material Realm from the Wind Spirit Realm, accumulated in one place. Only a party of <font color="LEVEL">4 or less</font> and at <font color="LEVEL">Lv. 99</font> may enter. Each team requires at least <font color="LEVEL">3 Warp Crystals</font>.<br>
|
||||
Rare bracelets and fragments of an ancient tome can be found there. Do you want to go there?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap enterInstance">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need a Warp Crystal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 909">"I want to level up my Dimensional Bracelet."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 908">"I want to add abilities to my Dimensional Bracelet."</Button>
|
||||
|
2622
L2J_Mobius_1.0_Ertheia/dist/game/data/instances/DimensionalWrap.xml
vendored
Normal file
2622
L2J_Mobius_1.0_Ertheia/dist/game/data/instances/DimensionalWrap.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
10
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975-01.html
vendored
Normal file
10
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975-01.html
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
<html><body>Einster:<br>
|
||||
Proof must be shown to go upstairs quiuckly. The level of Dimensional Warp you completed determines which floor you can go to.<br>
|
||||
Many accidents have happened on floors 31 and higher. To protect researchers, we are investigation those floors. For now, <font color="LEVEL">I can send you up to the 26th floor.</font><br>
|
||||
Ah, you must <font color="LEVEL">determine how many Warp Crystals you will pay</font> before asking me to send you upstairs. Which floor do you want to go?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_6_f">"Send me to 6F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_11_f">"Send me to 11F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_16_f">"Send me to 16F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_21_f">"Send me to 21F"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_26_f">"Send me to 26F"</Button>
|
||||
</body></html>
|
3
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975-02.html
vendored
Normal file
3
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975-02.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Einster:<br>
|
||||
You haven't paid Warp Crystals. I can't send you upstairs.
|
||||
</body></html>
|
4
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975-03.html
vendored
Normal file
4
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Einster:<br>
|
||||
You didn't give me the number of Warp Crystals you promised.<br1>
|
||||
Each member of the party must have <font color="LEVEL">%count% Warp Crystals</font>
|
||||
</body></html>
|
6
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975-04.html
vendored
Normal file
6
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975-04.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Einster:<br>
|
||||
You made it all the way here. Did you find ani Imps?<br>
|
||||
You didn't uncover all the secrets yet. Secrets also exist in Abyssal Space. No explorers dared to go there yet.<br>
|
||||
Please find out those secrets!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap jump_location">"Sure, sure. Let me move on"</Button>
|
||||
</body></html>
|
9
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975-05.html
vendored
Normal file
9
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975-05.html
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<html><body>Einster:<br>
|
||||
There's someone who has not met the quest completion requirements, so I cannot send you.<br>
|
||||
Check the list below to see which floor you can go to.<br><br>
|
||||
Floor 6: Complete The Dimensional Warp, Part 1<br><br>
|
||||
Floor 11: Complete The Dimensional Warp, Part 2<br><br>
|
||||
Floor 16: Complete The Dimensional Warp, Part 3<br><br>
|
||||
Floor 21: Complete The Dimensional Warp, Part 4<br><br>
|
||||
Floor 26: Complete The Dimensional Warp, Part 5<br><br>
|
||||
</body></html>
|
12
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975.html
vendored
Normal file
12
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/33975.html
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
<html><body>Einster:<br>
|
||||
I was first one to explore Dimensional Wrap. I heard that the imps here carry materials we could use -- rare books, things to enchant bracelets with, and the like.<br>
|
||||
The Expeditioners have discovered that the probability of imps appearing increases with our use of Warp Crystals, but we have to use a lot to even think about getting up there.<br>
|
||||
All members of the team should carry Warp Crystals. I'll divide them up according to the number in your group.<br>
|
||||
I recently discovered the key to going upstairs directly. If you want, I can send you there.<br>
|
||||
Okay, let's get started.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 12_warp_crystals">"I'll use 12 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 240_warp_crystals">"I'll use 240 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 1200_warp_crystals">"I'll use 1200 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 33975-01.html">"I want to go upstairs directly."</Button>
|
||||
</body></html>
|
77
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/DimensionalArchon.java
vendored
Normal file
77
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/DimensionalArchon.java
vendored
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Dimensional Archon AI
|
||||
* @author Gigi
|
||||
* @date 2018-09-08 - [18:09:02]
|
||||
*/
|
||||
public class DimensionalArchon extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int DEMINSIONAL_ARCHON = 23469;
|
||||
private static final int UNWORDLY_ARCHON = 23475;
|
||||
private static final int ABYSSAL_ARCHON = 23482;
|
||||
|
||||
private static final NpcStringId[] ARCHON_MSG =
|
||||
{
|
||||
NpcStringId.DO_YOU_KNOW_WHO_IT_IS_THAT_YOU_FACE_IT_IS_BEST_THAT_YOU_RUN_NOW,
|
||||
NpcStringId.LOOK_INTO_MY_EYES_AND_SEE_WHAT_COUNTLESS_OTHERS_HAVE_SEEN_BEFORE_THEIR_DEATH,
|
||||
NpcStringId.I_COMMEND_YOUR_TENACITY_IN_COMING_THIS_FAR_BUT_NOW_IT_ENDS,
|
||||
NpcStringId.DO_YOU_SEE_THIS_SWORD_THE_LIGHT_THAT_SCREAMS_WITH_THE_LIFE_OF_THOSE_IT_HAS_KILLED,
|
||||
NpcStringId.I_WILL_SHOW_YOU_WHAT_TRUE_POWER_IS,
|
||||
NpcStringId.YOU_WILL_NEED_TO_SURPASS_ME_EVENTUALLY_BUT_DON_T_FORGET_KNOWING_HOW_TO_FLEE_IS_AN_IMPORTANT_PART_OF_BATTLE
|
||||
};
|
||||
|
||||
public DimensionalArchon()
|
||||
{
|
||||
super();
|
||||
addSpawnId(DEMINSIONAL_ARCHON, UNWORDLY_ARCHON, ABYSSAL_ARCHON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("NPC_SHOUT"))
|
||||
{
|
||||
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), ARCHON_MSG[getRandom(ARCHON_MSG.length)]));
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setShowSummonAnimation(true);
|
||||
startQuestTimer("NPC_SHOUT", 2000, npc, null);
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalArchon();
|
||||
}
|
||||
}
|
169
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/DimensionalTrap.java
vendored
Normal file
169
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/DimensionalTrap.java
vendored
Normal file
@ -0,0 +1,169 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Dimensional Trap's AI
|
||||
* @author Gigi
|
||||
* @date 2018-09-07 - [17:39:04]
|
||||
*/
|
||||
public class DimensionalTrap extends AbstractNpcAI
|
||||
{
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_1 = 19556; // Debuff trap, power 1
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_2 = 19557; // Debuff trap, power 2
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_3 = 19558; // Debuff trap, power 3
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_1 = 19559; // Damage trap, power 1
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_2 = 19560; // Damage trap, power 2
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_3 = 19561; // Damage trap, power 3
|
||||
private static final int DIMENSIONAL_HEAL_LIGHT = 19562; // Heal Trap
|
||||
// skill
|
||||
private static final SkillHolder TRAP_HOLD = new SkillHolder(16409, 1);
|
||||
private static final SkillHolder TRAP_ARIALL_YOKE = new SkillHolder(16410, 1);
|
||||
private static final SkillHolder TRAP_STUN = new SkillHolder(16411, 1);
|
||||
private static final SkillHolder TRAP_POYSON = new SkillHolder(16413, 1);
|
||||
private static final SkillHolder PEACE_ZONE_CURE = new SkillHolder(16414, 1);
|
||||
|
||||
private int _type;
|
||||
|
||||
public DimensionalTrap()
|
||||
{
|
||||
super();
|
||||
addSpawnId(DIMENSIONAL_DEBUFF_TRAP_1, DIMENSIONAL_DEBUFF_TRAP_2, DIMENSIONAL_DEBUFF_TRAP_3, DIMENSIONAL_DEMAGE_TRAP_1, DIMENSIONAL_DEMAGE_TRAP_2, DIMENSIONAL_DEMAGE_TRAP_3, DIMENSIONAL_HEAL_LIGHT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (npc != null)
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "debuff_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast((getRandom(10) < 5) ? TRAP_HOLD.getSkill() : TRAP_ARIALL_YOKE.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("debuff_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "demage_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast((getRandom(10) < 5) ? TRAP_STUN.getSkill() : TRAP_POYSON.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("demage_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "heal_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast(PEACE_ZONE_CURE.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("heal_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setIsInvul(true);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case DIMENSIONAL_DEBUFF_TRAP_1:
|
||||
{
|
||||
npc.setDisplayEffect(1);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 50;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEBUFF_TRAP_2:
|
||||
{
|
||||
npc.setDisplayEffect(2);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 100;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEBUFF_TRAP_3:
|
||||
{
|
||||
npc.setDisplayEffect(3);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_1:
|
||||
{
|
||||
npc.setDisplayEffect(4);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 50;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_2:
|
||||
{
|
||||
npc.setDisplayEffect(5);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 100;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_3:
|
||||
{
|
||||
npc.setDisplayEffect(6);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_HEAL_LIGHT:
|
||||
{
|
||||
npc.setDisplayEffect(7);
|
||||
startQuestTimer("heal_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalTrap();
|
||||
}
|
||||
}
|
676
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/DimensionalWrap.java
vendored
Normal file
676
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/DimensionalWrap.java
vendored
Normal file
@ -0,0 +1,676 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import com.l2jmobius.commons.util.CommonUtil;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.SkillData;
|
||||
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||
import com.l2jmobius.gameserver.model.L2Party;
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
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.instancezone.Instance;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.Earthquake;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
/**
|
||||
* Dimensional Wrap instance
|
||||
* @URL https://l2wiki.com/Dimensional_Warp
|
||||
* @Video https://www.youtube.com/watch?v=hOnzk0ELwIg
|
||||
* @author Gigi
|
||||
* @date 2018-09-04 - [14:33:31]
|
||||
*/
|
||||
public class DimensionalWrap extends AbstractInstance
|
||||
{
|
||||
// NPCs
|
||||
private static final int RESED = 33974;
|
||||
private static final int EINSTER = 33975;
|
||||
// Monsters
|
||||
private static final int DEMINSIONAL_INVISIBLE_FRAGMENT = 19564;
|
||||
private static final int SALAMANDRA_GENERATOR = 19563;
|
||||
private static final int SALAMANDRA_GENERATOR_DUMMY = 900112;
|
||||
private static final int DIMENSIONAL_SALAMANDRA = 23466;
|
||||
private static final int UNWORDLY_SALAMANDER = 23473;
|
||||
private static final int DIMENSIONAL_IMP = 19553;
|
||||
private static final int UNWORDLY_IMP = 19554;
|
||||
private static final int ABYSSAL_IMP = 19555;
|
||||
private static final int ABYSSAL_MAKKUM = 26090;
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
23462, // Dimensional Orc Butcher
|
||||
23463, // Dimensional Orc Hunter
|
||||
23464, // Dimensional Shaman
|
||||
23465, // Dimensional Bugbear
|
||||
23467, // Dimensional Binder
|
||||
23468, // Dimensional Demon
|
||||
23469, // Dimensional Archon
|
||||
23470, // Unworldly Demon
|
||||
23471, // Unworldly Etin
|
||||
23472, // Unworldly Shaman
|
||||
23474, // Unworldly Golem
|
||||
23475, // Unworldly Archon
|
||||
23476, // Unworldly Harpy
|
||||
23477, // Abyssal Shaman
|
||||
23478, // Abyssal Berserker
|
||||
23480, // Abyssal Harpy
|
||||
23481, // Abyssal Binder
|
||||
23482, // Abyssal Archon
|
||||
23483 // Abyssal Golem
|
||||
};
|
||||
private static final int[] TRAPS =
|
||||
{
|
||||
19556, // Debuff trap, power 1
|
||||
19557, // Debuff trap, power 2
|
||||
19558, // Debuff trap, power 3
|
||||
19559, // Damage trap, power 1
|
||||
19560, // Damage trap, power 2
|
||||
19561, // Damage trap, power 3
|
||||
19562 // Heal Trap
|
||||
};
|
||||
// Location
|
||||
private static final Location TELEPORTS = new Location(-76136, -216216, 4040);
|
||||
private static final Location FIRST_TELEPORT = new Location(-219544, 248776, 3360);
|
||||
private static final Location SECOND_TELEPORT = new Location(-206756, 242009, 6584);
|
||||
private static final Location THRID_TELEPORT = new Location(-219813, 248484, 9928);
|
||||
private static final Location FOURTH_TELEPORT = new Location(-87191, -210129, 6984);
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 250;
|
||||
private static final int DIMENSIONAL_DARK_FORCES = 16415;
|
||||
private static final int WARP_CRYSTAL = 39597;
|
||||
protected double _chance = 0;
|
||||
protected int _count = 0;
|
||||
public int _skilllevel = 1;
|
||||
public int _worldState = 0;
|
||||
protected ScheduledFuture<?> _debufTask;
|
||||
|
||||
public DimensionalWrap()
|
||||
{
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(RESED);
|
||||
addTalkId(EINSTER);
|
||||
addKillId(MONSTERS);
|
||||
addKillId(ABYSSAL_MAKKUM);
|
||||
addSpawnId(SALAMANDRA_GENERATOR, DEMINSIONAL_INVISIBLE_FRAGMENT, SALAMANDRA_GENERATOR_DUMMY);
|
||||
addFirstTalkId(EINSTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (event.equals("enterInstance"))
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "no_awakened.html";
|
||||
}
|
||||
else if (!player.isInParty())
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
}
|
||||
else if (player.isInParty())
|
||||
{
|
||||
if (!player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
}
|
||||
else
|
||||
{
|
||||
final L2Party party = player.getParty();
|
||||
final List<L2PcInstance> members = party.getMembers();
|
||||
for (L2PcInstance member : members)
|
||||
{
|
||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
enterInstance(member, npc, TEMPLATE_ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "33975-01.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "12_warp_crystals":
|
||||
{
|
||||
_chance = 0.3;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 12;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 6;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 4;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 3;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "240_warp_crystals":
|
||||
{
|
||||
_chance = 0.6;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 240;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 120;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 80;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 60;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "1200_warp_crystals":
|
||||
{
|
||||
_chance = 0.9;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 1200;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 600;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 400;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 300;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_6_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0)
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 5)
|
||||
{
|
||||
world.setStatus(5);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(FIRST_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_11_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 2))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 10)
|
||||
{
|
||||
world.setStatus(10);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(SECOND_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_16_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 3))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 15)
|
||||
{
|
||||
world.setStatus(15);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(THRID_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_21_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 4))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 20)
|
||||
{
|
||||
world.setStatus(20);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(TELEPORTS, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_26_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 5))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 25)
|
||||
{
|
||||
world.setStatus(25);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(FOURTH_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "jump_location":
|
||||
{
|
||||
player.teleToLocation(TELEPORTS, world.getTemplateId());
|
||||
break;
|
||||
}
|
||||
case "SALAMANDRA_SPAWN":
|
||||
case "SALAMANDRA_SPAWN_DUMMY":
|
||||
{
|
||||
if (getRandom(100) < (_worldState / 2))
|
||||
{
|
||||
final L2Npc salamandra = addSpawn(_worldState < 17 ? DIMENSIONAL_SALAMANDRA : UNWORDLY_SALAMANDER, npc, false, 0, false, world.getId());
|
||||
salamandra.setRunning();
|
||||
L2World.getInstance().forEachVisibleObjectInRange(salamandra, L2PcInstance.class, 2500, p ->
|
||||
{
|
||||
if ((p != null) && !p.isDead())
|
||||
{
|
||||
addAttackPlayerDesire(salamandra, p);
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "START_STAGE":
|
||||
{
|
||||
world.setStatus(world.getStatus() + 1);
|
||||
_worldState = world.getStatus();
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.DIMENSIONAL_WARP_LV_S1, ExShowScreenMessage.TOP_CENTER, 10000, true, String.valueOf(world.getStatus())));
|
||||
startQuestTimer("FIRST_SPAWN", 1500, npc, null);
|
||||
break;
|
||||
}
|
||||
case "FIRST_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_first_spawn");
|
||||
world.spawnGroup(_worldState + "_trap_spawn");
|
||||
startQuestTimer("SECOND_SPAWN", 40000, npc, null);
|
||||
_debufTask = ThreadPool.scheduleAtFixedRate(() ->
|
||||
{
|
||||
if ((_worldState > 0) && (_worldState <= 11))
|
||||
{
|
||||
_skilllevel = 1;
|
||||
}
|
||||
else if ((_worldState > 11) && (_worldState <= 20))
|
||||
{
|
||||
_skilllevel = 2;
|
||||
}
|
||||
else if ((_worldState > 20) && (_worldState <= 30))
|
||||
{
|
||||
_skilllevel = 3;
|
||||
}
|
||||
else if (_worldState > 30)
|
||||
{
|
||||
_skilllevel = 4;
|
||||
}
|
||||
final Skill skill = SkillData.getInstance().getSkill(DIMENSIONAL_DARK_FORCES, _skilllevel);
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
if ((p != null) && !p.isDead())
|
||||
{
|
||||
skill.applyEffects(p, p);
|
||||
}
|
||||
}
|
||||
}, 5000, 10000);
|
||||
break;
|
||||
}
|
||||
case "SECOND_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_second_spawn");
|
||||
startQuestTimer("THRID_SPAWN", 40000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "THRID_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_thred_spawn");
|
||||
break;
|
||||
}
|
||||
case "CHANGE_LOCATION":
|
||||
{
|
||||
world.getAliveNpcs(TRAPS).forEach(t -> t.deleteMe());
|
||||
world.spawnGroup(_worldState + "_trap_spawn");
|
||||
startQuestTimer("CHANGE_LOCATION", 60000 - (_worldState * 1430), npc, null);
|
||||
break;
|
||||
}
|
||||
case "SWITCH_STAGE":
|
||||
{
|
||||
if (world.getAliveNpcs(MONSTERS).isEmpty())
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_SURROUNDING_ENERGY_HAS_DISSIPATED, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
world.broadcastPacket(new Earthquake(npc, 50, 5));
|
||||
world.openCloseDoor(world.getTemplateParameters().getInt(_worldState + "_st_door"), true);
|
||||
Clean();
|
||||
if (_worldState < 35)
|
||||
{
|
||||
startQuestTimer("NEXT_STAGE", 5000, npc, null);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "NEXT_STAGE":
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.S1_SECONDS_HAVE_BEEN_ADDED_TO_THE_INSTANCED_ZONE_DURATION, ExShowScreenMessage.TOP_CENTER, 5000, true, String.valueOf(180)));
|
||||
world.setDuration((int) ((world.getRemainingTime() / 60000) + 3));
|
||||
startQuestTimer("START_STAGE", 8000, npc, null);
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
if (CommonUtil.contains(MONSTERS, npc.getId()) && (getRandom(100) < _chance))
|
||||
{
|
||||
if (_worldState < 9)
|
||||
{
|
||||
addSpawn(DIMENSIONAL_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.DIMENSIONAL_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
else if ((_worldState >= 9) && (_worldState < 20))
|
||||
{
|
||||
addSpawn(UNWORDLY_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.UNWORLDLY_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
else if (_worldState >= 20)
|
||||
{
|
||||
addSpawn(ABYSSAL_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ABYSSAL_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
}
|
||||
else if (npc.getId() == ABYSSAL_MAKKUM)
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_INSTANCED_ZONE_WILL_CLOSE_SOON, ExShowScreenMessage.TOP_CENTER, 10000, true));
|
||||
world.finishInstance(3);
|
||||
Clean();
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (_worldState == 20)
|
||||
{
|
||||
return "33975-04.html";
|
||||
}
|
||||
return "33975.html";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case SALAMANDRA_GENERATOR:
|
||||
{
|
||||
startQuestTimer("SALAMANDRA_SPAWN", 25000, npc, null, true);
|
||||
startQuestTimer("CHANGE_LOCATION", 60000 - (_worldState * 1300), npc, null);
|
||||
break;
|
||||
}
|
||||
case SALAMANDRA_GENERATOR_DUMMY:
|
||||
{
|
||||
startQuestTimer("SALAMANDRA_SPAWN_DUMMY", 20000, npc, null, true);
|
||||
break;
|
||||
}
|
||||
case DEMINSIONAL_INVISIBLE_FRAGMENT:
|
||||
{
|
||||
startQuestTimer("SWITCH_STAGE", 5000, npc, null, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public void CheckCrystallCount(Instance world, L2PcInstance player, L2Npc npc)
|
||||
{
|
||||
boolean canStart = true;
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
if (p.getInventory().getInventoryItemCount(WARP_CRYSTAL, -1) < _count)
|
||||
{
|
||||
for (L2PcInstance ps : world.getPlayers())
|
||||
{
|
||||
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
|
||||
packet.setHtml(getHtm(ps, "33975-03.html"));
|
||||
packet.replace("%count%", Integer.toString(_count));
|
||||
ps.sendPacket(packet);
|
||||
ps.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_S_ITEM_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addString(ps.getName()));
|
||||
canStart = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!canStart || (_worldState != 0))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
startQuestTimer("START_STAGE", 1000, npc, null);
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
takeItems(p, WARP_CRYSTAL, _count);
|
||||
}
|
||||
}
|
||||
|
||||
protected void Clean()
|
||||
{
|
||||
cancelQuestTimers("SWITCH_STAGE");
|
||||
cancelQuestTimers("SALAMANDRA_SPAWN");
|
||||
cancelQuestTimers("SALAMANDRA_SPAWN_DUMMY");
|
||||
cancelQuestTimers("CHANGE_LOCATION");
|
||||
if (_debufTask != null)
|
||||
{
|
||||
_debufTask.cancel(false);
|
||||
_debufTask = null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalWrap();
|
||||
}
|
||||
}
|
3
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/no_awakened.html
vendored
Normal file
3
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/DimensionalWrap/no_awakened.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Resed:<br>
|
||||
Only those who have completed the 3rd Liberation or have Awakened can enter.
|
||||
</body></html>
|
@ -1021,7 +1021,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="19556" level="99" type="L2Npc" name="Dimensional Trap">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="trap_skill_type" value="1" />
|
||||
<skill name="trap_skill" id="10806" level="2" />
|
||||
</parameters>
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@ -1033,7 +1036,12 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<skillList>
|
||||
<skill id="10806" level="2" /> <!-- Frost Trap -->
|
||||
</skillList>
|
||||
<exCrtEffect>true</exCrtEffect>
|
||||
<ai aggroRange="100" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1052,7 +1060,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1071,7 +1079,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1090,7 +1098,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1109,7 +1117,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1128,7 +1136,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1147,7 +1155,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1166,7 +1174,7 @@
|
||||
<attack physical="1950.2231755595" magical="1331.5869440987" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="405.85106382979" magical="297.0297029703" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="1" />
|
||||
<height normal="1" />
|
||||
@ -1185,7 +1193,7 @@
|
||||
<attack physical="1950.2231755595" magical="1331.5869440987" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="405.85106382979" magical="297.0297029703" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="0.1" />
|
||||
<height normal="0.1" />
|
||||
|
@ -676,6 +676,7 @@
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="7276" sp="1" />
|
||||
<equipment rhand="78" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="1183" hpRegen="4.5" mp="610" mpRegen="1.8" />
|
||||
<speed>
|
||||
@ -703,6 +704,7 @@
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="7276" sp="1" />
|
||||
<equipment rhand="78" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="1183" hpRegen="4.5" mp="610" mpRegen="1.8" />
|
||||
<speed>
|
||||
@ -820,6 +822,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="331748" sp="79" />
|
||||
<equipment rhand="13978" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="8923" hpRegen="8.5" mp="1607" mpRegen="3" />
|
||||
@ -913,6 +916,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="440867" sp="105" />
|
||||
<equipment rhand="35708" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="9870" hpRegen="8.5" mp="1674" mpRegen="3" />
|
||||
@ -960,6 +964,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="440867" sp="105" />
|
||||
<equipment rhand="13979" lhand="13980" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="9870" hpRegen="8.5" mp="1674" mpRegen="3" />
|
||||
@ -1189,6 +1194,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="440867" sp="105" />
|
||||
<equipment rhand="35708" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="11506" hpRegen="8.5" mp="1777" mpRegen="3" />
|
||||
@ -1329,6 +1335,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="269969" sp="64" />
|
||||
<equipment rhand="15302" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="8570" hpRegen="8.5" mp="1574" mpRegen="3" />
|
||||
@ -1420,6 +1427,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="331748" sp="79" />
|
||||
<equipment rhand="221" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="8923" hpRegen="8.5" mp="1607" mpRegen="3" />
|
||||
@ -1606,6 +1614,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="449407" sp="107" />
|
||||
<equipment rhand="78" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="10930" hpRegen="8.5" mp="1743" mpRegen="3" />
|
||||
@ -2461,10 +2470,13 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23462" level="99" type="L2Monster" name="Dimensional Orc Butcher">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="83739744" sp="301463" />
|
||||
<equipment rhand="38425" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="376398" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
@ -2489,6 +2501,11 @@
|
||||
<skill id="16365" level="1" /> <!-- Dimensional Defense Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="34.1799999999999" /> <!-- Warp Crystal -->
|
||||
@ -2504,10 +2521,13 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23463" level="99" type="L2Monster" name="Dimensional Orc Hunter" title="Scout">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
<equipment rhand="38426" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="752796" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
@ -2531,6 +2551,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16380" level="1" /> <!-- Dimensional Recoil Shot -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.00558631842" /> <!-- Warp Crystal -->
|
||||
@ -2546,7 +2571,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23464" level="99" type="L2Monster" name="Dimensional Shaman" title="Watcher">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
@ -2577,6 +2604,11 @@
|
||||
<skill id="16372" level="1" /> <!-- Dimensional Spike -->
|
||||
<skill id="16381" level="1" /> <!-- Dimensional Shield -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.075753712167" /> <!-- Warp Crystal -->
|
||||
@ -2592,10 +2624,13 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23465" level="99" type="L2Monster" name="Dimensional Bugbear">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>GIANT</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
<equipment rhand="160" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="752796" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
@ -2621,6 +2656,11 @@
|
||||
<skill id="16375" level="1" /> <!-- Dimensional Hammer -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.049789683201" /> <!-- Warp Crystal -->
|
||||
@ -2636,7 +2676,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23466" level="99" type="L2Monster" name="Dimensional Salamander" title="Hunter">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>ELEMENTAL</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@ -2673,7 +2715,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23467" level="99" type="L2Monster" name="Dimensional Binder">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
@ -2703,6 +2747,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.072868141029" /> <!-- Warp Crystal -->
|
||||
@ -2718,7 +2767,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23468" level="99" type="L2Monster" name="Dimensional Demon">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="83739744" sp="301463" />
|
||||
@ -2749,6 +2800,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="33.3200000000001" /> <!-- Warp Crystal -->
|
||||
@ -2764,7 +2820,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23469" level="99" type="L2Monster" name="Dimensional Archon" title="Slaughterer">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="251219232" sp="904389" />
|
||||
@ -2797,6 +2855,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="2" max="2" chance="96.195469193401" /> <!-- Warp Crystal -->
|
||||
@ -3346,6 +3409,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="251219232" sp="904389" />
|
||||
<equipment rhand="39719" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="1355033" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
|
@ -91,55 +91,237 @@
|
||||
<skill id="16409" toLevel="3" name="Trap Hold">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill4047</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>ROOT_MAGICALLY</abnormalType>
|
||||
<abnormalVisualEffect>ROOT</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>10</abnormalTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>80</activateRate>
|
||||
<trait>HOLD</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="Root" />
|
||||
<effect name="DefenceTrait">
|
||||
<HOLD>100</HOLD>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16410" toLevel="3" name="Trap Aerial Yoke">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill11050</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>AIRBIND</abnormalType>
|
||||
<abnormalVisualEffect>AIRBIND</abnormalVisualEffect>
|
||||
<abnormalResists>STUN;TURN_FLEE</abnormalResists>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>80</activateRate>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="AirBind" />
|
||||
<effect name="BlockActions">
|
||||
<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912</allowedSkills>
|
||||
</effect>
|
||||
<effect name="DefenceTrait">
|
||||
<HOLD>100</HOLD>
|
||||
<DERANGEMENT>100</DERANGEMENT>
|
||||
<SHOCK>100</SHOCK>
|
||||
<KNOCKBACK>100</KNOCKBACK>
|
||||
<CHANGEBODY>100</CHANGEBODY>
|
||||
<KNOCKDOWN>100</KNOCKDOWN>
|
||||
<SLEEP>100</SLEEP>
|
||||
<AIRBIND>100</AIRBIND>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16411" toLevel="3" name="Trap Stun">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill0100</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>STUN</abnormalType>
|
||||
<abnormalVisualEffect>STUN</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<trait>SHOCK</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="BlockActions" />
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16412" toLevel="3" name="Trap Petrify">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill4111</icon>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>10</abnormalTime>
|
||||
<affectRange>150</affectRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="16413" toLevel="3" name="Trap Poison">
|
||||
<!-- Poisoned and losing 1,000 HP/second. -->
|
||||
<icon>icon.skill4035</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<subordinationAbnormalType>POISON</subordinationAbnormalType>
|
||||
<abnormalType>POISON</abnormalType>
|
||||
<abnormalVisualEffect>DOT_POISON</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<trait>POISON</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="DamOverTime">
|
||||
<power>1000</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16414" toLevel="1" name="Peace Zone Cure">
|
||||
<!-- Recover 10% of Max HP and 30% of Max MP of self and everyone within 200 grids. Cooldown is 10 sec. -->
|
||||
<icon>icon.skill0000</icon>
|
||||
<operateType>A1</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<affectRange>200</affectRange>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="HealPercent">
|
||||
<power>10</power>
|
||||
</effect>
|
||||
</effects>
|
||||
<effect name="ManaHealPercent">
|
||||
<power>30</power>
|
||||
</effect>
|
||||
</skill>
|
||||
<skill id="16415" toLevel="4" name="Dimensional Dark Forces">
|
||||
<!-- P./M./ Atk. - 10%, and P./M. Critical Rate - 30. -->
|
||||
<icon>icon.skill1298</icon>
|
||||
<abnormalLvl>
|
||||
<value level="1">1</value>
|
||||
<value level="2">2</value>
|
||||
<value level="3">3</value>
|
||||
<value level="4">4</value>
|
||||
</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">5</value>
|
||||
<value level="2">5</value>
|
||||
<value level="3">10</value>
|
||||
<value level="4">10</value>
|
||||
</abnormalTime>
|
||||
<operateType>A2</operateType>
|
||||
<rideState>NONE</rideState>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<isDebuff>1</isDebuff>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<targetType>SELF</targetType>
|
||||
<effects>
|
||||
<effect name="PAtk">
|
||||
<amount>
|
||||
<value level="1">-4</value>
|
||||
<value level="2">-6</value>
|
||||
<value level="3">-8</value>
|
||||
<value level="3">-10</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MAtk">
|
||||
<amount>
|
||||
<value level="1">-4</value>
|
||||
<value level="2">-6</value>
|
||||
<value level="3">-8</value>
|
||||
<value level="3">-10</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="CriticalRate">
|
||||
<amount>
|
||||
<value level="1">-5</value>
|
||||
<value level="2">-10</value>
|
||||
<value level="3">-20</value>
|
||||
<value level="3">-30</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MagicCriticalRate">
|
||||
<amount>
|
||||
<value level="1">-5</value>
|
||||
<value level="2">-10</value>
|
||||
<value level="3">-20</value>
|
||||
<value level="3">-30</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16416" toLevel="10" name="Bluff Resistance">
|
||||
<!-- Resistance to Bluff. -->
|
||||
|
@ -142,6 +142,172 @@
|
||||
<stat name="mapId" val="45" />
|
||||
<node X="-186154" Y="242838" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 1 -->
|
||||
<zone name="Sayune_46" type="SayuneZone" shape="Cylinder" minZ="400" maxZ="500" rad="80">
|
||||
<stat name="mapId" val="46" />
|
||||
<node X="-208193" Y="240585" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 2 -->
|
||||
<zone name="Sayune_47" type="SayuneZone" shape="Cylinder" minZ="1100" maxZ="1200" rad="80">
|
||||
<stat name="mapId" val="47" />
|
||||
<node X="-211300" Y="238768" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 3 -->
|
||||
<zone name="Sayune_48" type="SayuneZone" shape="Cylinder" minZ="1600" maxZ="1700" rad="80">
|
||||
<stat name="mapId" val="48" />
|
||||
<node X="-216356" Y="239680" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 4 -->
|
||||
<zone name="Sayune_49" type="SayuneZone" shape="Cylinder" minZ="2250" maxZ="2350" rad="80">
|
||||
<stat name="mapId" val="49" />
|
||||
<node X="-219722" Y="241510" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 5 -->
|
||||
<zone name="Sayune_50" type="SayuneZone" shape="Cylinder" minZ="2700" maxZ="2800" rad="80">
|
||||
<stat name="mapId" val="50" />
|
||||
<node X="-219116" Y="246748" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 6 -->
|
||||
<zone name="Sayune_51" type="SayuneZone" shape="Cylinder" minZ="3350" maxZ="3450" rad="80">
|
||||
<stat name="mapId" val="51" />
|
||||
<node X="-218132" Y="250177" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 7 -->
|
||||
<zone name="Sayune_52" type="SayuneZone" shape="Cylinder" minZ="4100" maxZ="4200" rad="80">
|
||||
<stat name="mapId" val="52" />
|
||||
<node X="-215046" Y="251965" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 8 -->
|
||||
<zone name="Sayune_53" type="SayuneZone" shape="Cylinder" minZ="4550" maxZ="4650" rad="80">
|
||||
<stat name="mapId" val="53" />
|
||||
<node X="-209957" Y="251067" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 9 -->
|
||||
<zone name="Sayune_54" type="SayuneZone" shape="Cylinder" minZ="5200" maxZ="5300" rad="80">
|
||||
<stat name="mapId" val="54" />
|
||||
<node X="-206602" Y="249250" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 10 -->
|
||||
<zone name="Sayune_55" type="SayuneZone" shape="Cylinder" minZ="5550" maxZ="5800" rad="80">
|
||||
<stat name="mapId" val="55" />
|
||||
<node X="-206952" Y="243976" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 11 -->
|
||||
<zone name="Sayune_56" type="SayuneZone" shape="Cylinder" minZ="6500" maxZ="6750" rad="80">
|
||||
<stat name="mapId" val="56" />
|
||||
<node X="-208200" Y="240584" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 12 -->
|
||||
<zone name="Sayune_57" type="SayuneZone" shape="Cylinder" minZ="7220" maxZ="7460" rad="80">
|
||||
<stat name="mapId" val="57" />
|
||||
<node X="-211304" Y="238760" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 13 -->
|
||||
<zone name="Sayune_58" type="SayuneZone" shape="Cylinder" minZ="7700" maxZ="7900" rad="80">
|
||||
<stat name="mapId" val="58" />
|
||||
<node X="-216344" Y="239672" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 14 -->
|
||||
<zone name="Sayune_59" type="SayuneZone" shape="Cylinder" minZ="8350" maxZ="8555" rad="80">
|
||||
<stat name="mapId" val="59" />
|
||||
<node X="-219720" Y="241512" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 15 -->
|
||||
<zone name="Sayune_60" type="SayuneZone" shape="Cylinder" minZ="8780" maxZ="9000" rad="80">
|
||||
<stat name="mapId" val="60" />
|
||||
<node X="-219112" Y="246744" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 16 -->
|
||||
<zone name="Sayune_61" type="SayuneZone" shape="Cylinder" minZ="9800" maxZ="10000" rad="80">
|
||||
<stat name="mapId" val="61" />
|
||||
<node X="-218136" Y="250184" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 17 -->
|
||||
<zone name="Sayune_62" type="SayuneZone" shape="Cylinder" minZ="10520" maxZ="10790" rad="80">
|
||||
<stat name="mapId" val="62" />
|
||||
<node X="-215048" Y="251960" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 18 -->
|
||||
<zone name="Sayune_63" type="SayuneZone" shape="Cylinder" minZ="11000" maxZ="11200" rad="80">
|
||||
<stat name="mapId" val="63" />
|
||||
<node X="-209960" Y="251080" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 19 -->
|
||||
<zone name="Sayune_64" type="SayuneZone" shape="Cylinder" minZ="11650" maxZ="11850" rad="80">
|
||||
<stat name="mapId" val="64" />
|
||||
<node X="-206600" Y="249240" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 21 -->
|
||||
<zone name="Sayune_65" type="SayuneZone" shape="Cylinder" minZ="4000" maxZ="4100" rad="80">
|
||||
<stat name="mapId" val="65" />
|
||||
<node X="-77982" Y="-218040" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 22 -->
|
||||
<zone name="Sayune_66" type="SayuneZone" shape="Cylinder" minZ="4700" maxZ="4800" rad="80">
|
||||
<stat name="mapId" val="66" />
|
||||
<node X="-80696" Y="-219020" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 23 -->
|
||||
<zone name="Sayune_67" type="SayuneZone" shape="Cylinder" minZ="5200" maxZ="5300" rad="80">
|
||||
<stat name="mapId" val="67" />
|
||||
<node X="-85023" Y="-218047" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 24 -->
|
||||
<zone name="Sayune_68" type="SayuneZone" shape="Cylinder" minZ="5900" maxZ="6000" rad="80">
|
||||
<stat name="mapId" val="68" />
|
||||
<node X="-87828" Y="-217077" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 25 -->
|
||||
<zone name="Sayune_69" type="SayuneZone" shape="Cylinder" minZ="6300" maxZ="6400" rad="80">
|
||||
<stat name="mapId" val="69" />
|
||||
<node X="-86591" Y="-212083" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 26 -->
|
||||
<zone name="Sayune_70" type="SayuneZone" shape="Cylinder" minZ="7000" maxZ="7100" rad="80">
|
||||
<stat name="mapId" val="70" />
|
||||
<node X="-85764" Y="-208712" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 27 -->
|
||||
<zone name="Sayune_71" type="SayuneZone" shape="Cylinder" minZ="7700" maxZ="7800" rad="80">
|
||||
<stat name="mapId" val="71" />
|
||||
<node X="-83015" Y="-207015" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 28 -->
|
||||
<zone name="Sayune_72" type="SayuneZone" shape="Cylinder" minZ="8200" maxZ="8300" rad="80">
|
||||
<stat name="mapId" val="72" />
|
||||
<node X="-78759" Y="-208040" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 29 -->
|
||||
<zone name="Sayune_73" type="SayuneZone" shape="Cylinder" minZ="8800" maxZ="8900" rad="80">
|
||||
<stat name="mapId" val="73" />
|
||||
<node X="-76010" Y="-209839" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 30 -->
|
||||
<zone name="Sayune_74" type="SayuneZone" shape="Cylinder" minZ="9300" maxZ="9400" rad="80">
|
||||
<stat name="mapId" val="74" />
|
||||
<node X="-77242" Y="-214850" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 31 -->
|
||||
<zone name="Sayune_75" type="SayuneZone" shape="Cylinder" minZ="10200" maxZ="10256" rad="80">
|
||||
<stat name="mapId" val="75" />
|
||||
<node X="-77982" Y="-218036" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 32 -->
|
||||
<zone name="Sayune_76" type="SayuneZone" shape="Cylinder" minZ="10900" maxZ="11000" rad="80">
|
||||
<stat name="mapId" val="76" />
|
||||
<node X="-80697" Y="-219020" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 33 -->
|
||||
<zone name="Sayune_77" type="SayuneZone" shape="Cylinder" minZ="11400" maxZ="11500" rad="80">
|
||||
<stat name="mapId" val="77" />
|
||||
<node X="-85026" Y="-218044" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 34 -->
|
||||
<zone name="Sayune_78" type="SayuneZone" shape="Cylinder" minZ="12050" maxZ="12100" rad="80">
|
||||
<stat name="mapId" val="78" />
|
||||
<node X="-87828" Y="-217079" />
|
||||
</zone>
|
||||
<!-- Enchanted Valley -->
|
||||
<zone name="Sayune_79" type="SayuneZone" shape="Cylinder" minZ="-4700" maxZ="-4600" rad="100">
|
||||
<stat name="mapId" val="79" />
|
||||
<node X="113562" Y="46888" />
|
||||
|
@ -843,7 +843,7 @@ public final class Instance implements IIdentifiable, INamable
|
||||
}
|
||||
_allowed.forEach(player ->
|
||||
{
|
||||
if ((player != null))
|
||||
if (player != null)
|
||||
{
|
||||
InstanceManager.getInstance().setReenterPenalty(player.getObjectId(), getTemplateId(), time);
|
||||
if (player.isOnline())
|
||||
@ -1147,6 +1147,11 @@ public final class Instance implements IIdentifiable, INamable
|
||||
*/
|
||||
private void sendWorldDestroyMessage(int delay)
|
||||
{
|
||||
// Dimensional wrap does not show timer after 5 minutes.
|
||||
if (delay > 5)
|
||||
{
|
||||
return;
|
||||
}
|
||||
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THIS_INSTANT_ZONE_WILL_BE_TERMINATED_IN_S1_MINUTE_S_YOU_WILL_BE_FORCED_OUT_OF_THE_DUNGEON_WHEN_THE_TIME_EXPIRES);
|
||||
sm.addInt(delay);
|
||||
broadcastPacket(sm);
|
||||
|
@ -56,6 +56,7 @@ Ertheia:
|
||||
-Brooch system
|
||||
-Luck system
|
||||
-Auto fishing
|
||||
-Dimensional Warp
|
||||
|
||||
Events:
|
||||
-Birth of Draco
|
||||
|
@ -17096,6 +17096,266 @@
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250002" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="1146">
|
||||
<node x="-211367" y="239031" />
|
||||
<node x="-211026" y="238801" />
|
||||
<node x="-211011" y="238829" />
|
||||
<node x="-211353" y="239052" />
|
||||
</nodes>
|
||||
<location x="-211190" y="238927" z="1154" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250003" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="1552">
|
||||
<node x="-215940" y="239724" />
|
||||
<node x="-216100" y="239349" />
|
||||
<node x="-216071" y="239337" />
|
||||
<node x="-215918" y="239714" />
|
||||
</nodes>
|
||||
<location x="-216007" y="239531" z="1560" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250004" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="2256">
|
||||
<node x="-219531" y="241694" />
|
||||
<node x="-219569" y="241297" />
|
||||
<node x="-219545" y="241296" />
|
||||
<node x="-219505" y="241693" />
|
||||
</nodes>
|
||||
<location x="-219539" y="241489" z="2264" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250005" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="2736">
|
||||
<node x="-218904" y="246367" />
|
||||
<node x="-219319" y="246371" />
|
||||
<node x="-219319" y="246340" />
|
||||
<node x="-218905" y="246337" />
|
||||
</nodes>
|
||||
<location x="-219112" y="246353" z="2744" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250011" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="6551">
|
||||
<node x="-208062" y="241011" />
|
||||
<node x="-207772" y="240723" />
|
||||
<node x="-207749" y="240743" />
|
||||
<node x="-208041" y="241032" />
|
||||
</nodes>
|
||||
<location x="-207904" y="240875" z="6559" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250012" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="7336">
|
||||
<node x="-211367" y="239031" />
|
||||
<node x="-211026" y="238801" />
|
||||
<node x="-211011" y="238829" />
|
||||
<node x="-211353" y="239052" />
|
||||
</nodes>
|
||||
<location x="-211190" y="238927" z="7344" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250013" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="7742">
|
||||
<node x="-215940" y="239724" />
|
||||
<node x="-216100" y="239349" />
|
||||
<node x="-216071" y="239337" />
|
||||
<node x="-215918" y="239714" />
|
||||
</nodes>
|
||||
<location x="-216007" y="239531" z="7750" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250014" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8446">
|
||||
<node x="-219531" y="241694" />
|
||||
<node x="-219569" y="241297" />
|
||||
<node x="-219545" y="241296" />
|
||||
<node x="-219505" y="241693" />
|
||||
</nodes>
|
||||
<location x="-219539" y="241489" z="8454" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250015" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8926">
|
||||
<node x="-218904" y="246367" />
|
||||
<node x="-219319" y="246371" />
|
||||
<node x="-219319" y="246340" />
|
||||
<node x="-218905" y="246337" />
|
||||
</nodes>
|
||||
<location x="-219112" y="246353" z="8934" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250016" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="9847">
|
||||
<node x="-218583" y="250013" />
|
||||
<node x="-218293" y="249725" />
|
||||
<node x="-218270" y="249745" />
|
||||
<node x="-218562" y="250034" />
|
||||
</nodes>
|
||||
<location x="-218425" y="249877" z="9855" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250017" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="10634">
|
||||
<node x="-215318" y="251921" />
|
||||
<node x="-214977" y="251691" />
|
||||
<node x="-214962" y="251719" />
|
||||
<node x="-215304" y="251942" />
|
||||
</nodes>
|
||||
<location x="-215141" y="251817" z="10642" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250018" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="11040">
|
||||
<node x="-210256" y="251408" />
|
||||
<node x="-210416" y="251033" />
|
||||
<node x="-210387" y="251021" />
|
||||
<node x="-210234" y="251398" />
|
||||
</nodes>
|
||||
<location x="-210323" y="251215" z="11048" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250019" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="11744">
|
||||
<node x="-206785" y="249466" />
|
||||
<node x="-206823" y="249069" />
|
||||
<node x="-206799" y="249068" />
|
||||
<node x="-206759" y="249465" />
|
||||
</nodes>
|
||||
<location x="-206793" y="249261" z="11752" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250020" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="12225">
|
||||
<node x="-206752" y="244379" />
|
||||
<node x="-207167" y="244383" />
|
||||
<node x="-207167" y="244352" />
|
||||
<node x="-206753" y="244349" />
|
||||
</nodes>
|
||||
<location x="-206960" y="244365" z="12233" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250009" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5225">
|
||||
<node x="-206785" y="249466" />
|
||||
<node x="-206823" y="249069" />
|
||||
<node x="-206799" y="249068" />
|
||||
<node x="-206759" y="249465" />
|
||||
</nodes>
|
||||
<location x="-206793" y="249261" z="5233" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250008" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="4521">
|
||||
<node x="-210255" y="251409" />
|
||||
<node x="-210415" y="251034" />
|
||||
<node x="-210386" y="251022" />
|
||||
<node x="-210232" y="251399" />
|
||||
</nodes>
|
||||
<location x="-210322" y="251216" z="4529" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250010" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5706">
|
||||
<node x="-206752" y="244379" />
|
||||
<node x="-207167" y="244383" />
|
||||
<node x="-207167" y="244352" />
|
||||
<node x="-206753" y="244349" />
|
||||
</nodes>
|
||||
<location x="-206960" y="244365" z="5714" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250007" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="4115">
|
||||
<node x="-215318" y="251921" />
|
||||
<node x="-214977" y="251691" />
|
||||
<node x="-214962" y="251719" />
|
||||
<node x="-215304" y="251942" />
|
||||
</nodes>
|
||||
<location x="-215141" y="251817" z="4123" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250001" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="360">
|
||||
<node x="-208062" y="241011" />
|
||||
<node x="-207772" y="240723" />
|
||||
<node x="-207749" y="240743" />
|
||||
<node x="-208041" y="241032" />
|
||||
</nodes>
|
||||
<location x="-207904" y="240875" z="368" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250006" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="3328">
|
||||
<node x="-218583" y="250015" />
|
||||
<node x="-218293" y="249727" />
|
||||
<node x="-218270" y="249747" />
|
||||
<node x="-218562" y="250036" />
|
||||
</nodes>
|
||||
<location x="-218425" y="249879" z="3336" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="15240001" name="Hellfire_Du_Boss_S.Hellfire_Boss_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="-10250">
|
||||
@ -17330,6 +17590,201 @@
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110001" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="3978">
|
||||
<node x="-77846" y="-217621" />
|
||||
<node x="-77557" y="-217909" />
|
||||
<node x="-77533" y="-217889" />
|
||||
<node x="-77826" y="-217600" />
|
||||
</nodes>
|
||||
<location x="-77688" y="-217757" z="3986" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110002" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="4766">
|
||||
<node x="-80773" y="-218772" />
|
||||
<node x="-80432" y="-219002" />
|
||||
<node x="-80416" y="-218974" />
|
||||
<node x="-80758" y="-218751" />
|
||||
</nodes>
|
||||
<location x="-80595" y="-218876" z="4774" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110003" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5173">
|
||||
<node x="-84579" y="-218016" />
|
||||
<node x="-84739" y="-218391" />
|
||||
<node x="-84710" y="-218403" />
|
||||
<node x="-84557" y="-218026" />
|
||||
</nodes>
|
||||
<location x="-84646" y="-218209" z="5181" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110004" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5876">
|
||||
<node x="-87643" y="-216899" />
|
||||
<node x="-87681" y="-217296" />
|
||||
<node x="-87658" y="-217297" />
|
||||
<node x="-87618" y="-216900" />
|
||||
</nodes>
|
||||
<location x="-87651" y="-217104" z="5884" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110005" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="6356">
|
||||
<node x="-86382" y="-212479" />
|
||||
<node x="-86797" y="-212475" />
|
||||
<node x="-86798" y="-212506" />
|
||||
<node x="-86383" y="-212509" />
|
||||
</nodes>
|
||||
<location x="-86590" y="-212493" z="6364" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110011" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="10169">
|
||||
<node x="-77846" y="-217621" />
|
||||
<node x="-77557" y="-217909" />
|
||||
<node x="-77533" y="-217889" />
|
||||
<node x="-77826" y="-217600" />
|
||||
</nodes>
|
||||
<location x="-77688" y="-217757" z="10177" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110012" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="10956">
|
||||
<node x="-80773" y="-218772" />
|
||||
<node x="-80432" y="-219002" />
|
||||
<node x="-80416" y="-218974" />
|
||||
<node x="-80758" y="-218751" />
|
||||
</nodes>
|
||||
<location x="-80595" y="-218876" z="10964" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110013" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="11363">
|
||||
<node x="-84579" y="-218016" />
|
||||
<node x="-84739" y="-218391" />
|
||||
<node x="-84710" y="-218403" />
|
||||
<node x="-84557" y="-218026" />
|
||||
</nodes>
|
||||
<location x="-84646" y="-218209" z="11371" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110014" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="12066">
|
||||
<node x="-87643" y="-216899" />
|
||||
<node x="-87681" y="-217296" />
|
||||
<node x="-87658" y="-217297" />
|
||||
<node x="-87618" y="-216900" />
|
||||
</nodes>
|
||||
<location x="-87651" y="-217104" z="12074" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110015" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="12546">
|
||||
<node x="-86382" y="-212479" />
|
||||
<node x="-86797" y="-212475" />
|
||||
<node x="-86798" y="-212506" />
|
||||
<node x="-86383" y="-212509" />
|
||||
</nodes>
|
||||
<location x="-86590" y="-212493" z="12554" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110006" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="6950">
|
||||
<node x="-86216" y="-208863" />
|
||||
<node x="-85927" y="-209151" />
|
||||
<node x="-85903" y="-209131" />
|
||||
<node x="-86196" y="-208842" />
|
||||
</nodes>
|
||||
<location x="-86058" y="-208999" z="6958" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110007" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="7735">
|
||||
<node x="-83287" y="-207062" />
|
||||
<node x="-82946" y="-207292" />
|
||||
<node x="-82930" y="-207264" />
|
||||
<node x="-83272" y="-207041" />
|
||||
</nodes>
|
||||
<location x="-83109" y="-207166" z="7743" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110008" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8141">
|
||||
<node x="-79060" y="-207695" />
|
||||
<node x="-79220" y="-208070" />
|
||||
<node x="-79191" y="-208082" />
|
||||
<node x="-79038" y="-207705" />
|
||||
</nodes>
|
||||
<location x="-79127" y="-207888" z="8149" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110009" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8845">
|
||||
<node x="-76165" y="-209627" />
|
||||
<node x="-76203" y="-210024" />
|
||||
<node x="-76180" y="-210025" />
|
||||
<node x="-76140" y="-209628" />
|
||||
</nodes>
|
||||
<location x="-76173" y="-209832" z="8853" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110010" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="9326">
|
||||
<node x="-77028" y="-214451" />
|
||||
<node x="-77443" y="-214447" />
|
||||
<node x="-77444" y="-214478" />
|
||||
<node x="-77029" y="-214481" />
|
||||
</nodes>
|
||||
<location x="-77236" y="-214465" z="9334" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17230101" name="Combine_dun_S.Comb_inst_door_01">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="-10501">
|
||||
|
@ -666,6 +666,171 @@
|
||||
<loc id="1" x="-186018" y="243468" z="2657" />
|
||||
<loc id="2" x="-186470" y="243500" z="2618" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 1 -> 2 -->
|
||||
<map id="46">
|
||||
<loc id="1" x="-209809" y="239024" z="1560" />
|
||||
<loc id="2" x="-210349" y="240190" z="1136" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 2 -> 3 -->
|
||||
<map id="47">
|
||||
<loc id="1" x="-213737" y="238586" z="1596" />
|
||||
<loc id="2" x="-214526" y="238900" z="1584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 3 -> 4 -->
|
||||
<map id="48">
|
||||
<loc id="1" x="-218797" y="240326" z="2670" />
|
||||
<loc id="2" x="-218050" y="241346" z="2248" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 4 -> 5 -->
|
||||
<map id="49">
|
||||
<loc id="1" x="-222958" y="241121" z="2386" />
|
||||
<loc id="2" x="-219093" y="243874" z="2728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 5 -> 6 -->
|
||||
<map id="50">
|
||||
<loc id="1" x="-219640" y="247868" z="3496" />
|
||||
<loc id="2" x="-219544" y="248776" z="3360" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 6 -> 7 -->
|
||||
<map id="51">
|
||||
<loc id="1" x="-216513" y="251722" z="4527" />
|
||||
<loc id="2" x="-215980" y="250563" z="4104" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 7 -> 8 -->
|
||||
<map id="52">
|
||||
<loc id="1" x="-212680" y="251576" z="4680" />
|
||||
<loc id="2" x="-211773" y="251821" z="4552" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 8 -> 9 -->
|
||||
<map id="53">
|
||||
<loc id="1" x="-207533" y="250419" z="5639" />
|
||||
<loc id="2" x="-208286" y="249412" z="5216" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 9 -> 10 -->
|
||||
<map id="54">
|
||||
<loc id="1" x="-204970" y="248587" z="6592" />
|
||||
<loc id="2" x="-206980" y="246782" z="5696" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 10 -> 11 -->
|
||||
<map id="55">
|
||||
<loc id="1" x="-206220" y="242808" z="6656" />
|
||||
<loc id="2" x="-206756" y="242009" z="6584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 11 -> 12 -->
|
||||
<map id="56">
|
||||
<loc id="1" x="-209814" y="239040" z="7752" />
|
||||
<loc id="2" x="-210343" y="240201" z="7328" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 12 -> 13 -->
|
||||
<map id="57">
|
||||
<loc id="1" x="-213566" y="238711" z="7848" />
|
||||
<loc id="2" x="-214510" y="238914" z="7776" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 13 -> 14 -->
|
||||
<map id="58">
|
||||
<loc id="1" x="-218793" y="240333" z="8860" />
|
||||
<loc id="2" x="-218034" y="241333" z="8440" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 14 -> 15 -->
|
||||
<map id="59">
|
||||
<loc id="1" x="-218699" y="242596" z="8859" />
|
||||
<loc id="2" x="-219093" y="243899" z="8912" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 15 -> 16 -->
|
||||
<map id="60">
|
||||
<loc id="1" x="-220117" y="247939" z="9954" />
|
||||
<loc id="2" x="-219563" y="248742" z="9880" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 16 -> 17 -->
|
||||
<map id="61">
|
||||
<loc id="1" x="-216516" y="251710" z="11052" />
|
||||
<loc id="2" x="-215980" y="250563" z="10624" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 17 -> 18 -->
|
||||
<map id="62">
|
||||
<loc id="1" x="-212765" y="252033" z="11144" />
|
||||
<loc id="2" x="-211808" y="251842" z="11072" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 18 -> 19 -->
|
||||
<map id="63">
|
||||
<loc id="1" x="-207530" y="250423" z="12159" />
|
||||
<loc id="2" x="-208304" y="249410" z="11736" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 19 -> 20 -->
|
||||
<map id="64">
|
||||
<loc id="1" x="-207627" y="248155" z="12155" />
|
||||
<loc id="2" x="-206945" y="246788" z="12213" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 21 -> 22 -->
|
||||
<map id="65">
|
||||
<loc id="1" x="-79225" y="-218779" z="5176" />
|
||||
<loc id="2" x="-79748" y="-217616" z="4760" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 22 -> 23 -->
|
||||
<map id="66">
|
||||
<loc id="1" x="-82213" y="-219036" z="5280" />
|
||||
<loc id="2" x="-83169" y="-218823" z="5208" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 23 -> 24 -->
|
||||
<map id="67">
|
||||
<loc id="1" x="-86907" y="-218255" z="6290" />
|
||||
<loc id="2" x="-86150" y="-217250" z="5872" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 24 -> 25 -->
|
||||
<map id="68">
|
||||
<loc id="1" x="-86810" y="-215997" z="6296" />
|
||||
<loc id="2" x="-86570" y="-214902" z="6344" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 25 -> 26 -->
|
||||
<map id="69">
|
||||
<loc id="1" x="-87748" y="-210937" z="7055" />
|
||||
<loc id="2" x="-87191" y="-210129" z="6984" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 26 -> 27 -->
|
||||
<map id="70">
|
||||
<loc id="1" x="-84473" y="-207277" z="8145" />
|
||||
<loc id="2" x="-83950" y="-208428" z="7728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 27 -> 28 -->
|
||||
<map id="71">
|
||||
<loc id="1" x="-81572" y="-207061" z="8248" />
|
||||
<loc id="2" x="-80608" y="-207264" z="8176" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 28 -> 29 -->
|
||||
<map id="72">
|
||||
<loc id="1" x="-76906" y="-208670" z="9255" />
|
||||
<loc id="2" x="-77674" y="-209675" z="8840" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 29 -> 30 -->
|
||||
<map id="73">
|
||||
<loc id="1" x="-77002" y="-210933" z="9256" />
|
||||
<loc id="2" x="-77231" y="-212044" z="9312" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 30 -> 31 -->
|
||||
<map id="74">
|
||||
<loc id="1" x="-76000" y="-215820" z="10280" />
|
||||
<loc id="2" x="-76542" y="-216618" z="10200" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 31 -> 32 -->
|
||||
<map id="75">
|
||||
<loc id="1" x="-79225" y="-218778" z="11366" />
|
||||
<loc id="2" x="-79754" y="-217624" z="10952" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 32 -> 33 -->
|
||||
<map id="76">
|
||||
<loc id="1" x="-82216" y="-219042" z="11468" />
|
||||
<loc id="2" x="-83160" y="-218833" z="11392" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 33 -> 34 -->
|
||||
<map id="77">
|
||||
<loc id="1" x="-86920" y="-218259" z="12474" />
|
||||
<loc id="2" x="-86158" y="-217262" z="12058" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 34 -> 35 -->
|
||||
<map id="78">
|
||||
<loc id="1" x="-86692" y="-216159" z="12480" />
|
||||
<loc id="2" x="-86572" y="-214918" z="12536" />
|
||||
</map>
|
||||
<!-- Ecnahnted Valley to East/West Enchanted Valley Side -->
|
||||
<map id="79">
|
||||
<selector id="0" x="113562" y="46888" z="-4640">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<html><body>Resed:<br>
|
||||
The Dimensional Warp was created when the energy, which brought Faeron to the Material Realm from the Wind Spirit Realm, accumulated in one place. Only a party of <font color="LEVEL">4 or less</font> and at <font color="LEVEL">Lv. 99</font> may enter. Each team requires at least <font color="LEVEL">3 Warp Crystals</font>.<br>
|
||||
Rare bracelets and fragments of an ancient tome can be found there. Do you want to go there?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap enterInstance">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need a Warp Crystal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 909">"I want to level up my Dimensional Bracelet."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 908">"I want to add abilities to my Dimensional Bracelet."</Button>
|
||||
|
2622
L2J_Mobius_2.5_Underground/dist/game/data/instances/DimensionalWrap.xml
vendored
Normal file
2622
L2J_Mobius_2.5_Underground/dist/game/data/instances/DimensionalWrap.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
10
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975-01.html
vendored
Normal file
10
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975-01.html
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
<html><body>Einster:<br>
|
||||
Proof must be shown to go upstairs quiuckly. The level of Dimensional Warp you completed determines which floor you can go to.<br>
|
||||
Many accidents have happened on floors 31 and higher. To protect researchers, we are investigation those floors. For now, <font color="LEVEL">I can send you up to the 26th floor.</font><br>
|
||||
Ah, you must <font color="LEVEL">determine how many Warp Crystals you will pay</font> before asking me to send you upstairs. Which floor do you want to go?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_6_f">"Send me to 6F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_11_f">"Send me to 11F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_16_f">"Send me to 16F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_21_f">"Send me to 21F"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_26_f">"Send me to 26F"</Button>
|
||||
</body></html>
|
3
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975-02.html
vendored
Normal file
3
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975-02.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Einster:<br>
|
||||
You haven't paid Warp Crystals. I can't send you upstairs.
|
||||
</body></html>
|
4
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975-03.html
vendored
Normal file
4
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Einster:<br>
|
||||
You didn't give me the number of Warp Crystals you promised.<br1>
|
||||
Each member of the party must have <font color="LEVEL">%count% Warp Crystals</font>
|
||||
</body></html>
|
6
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975-04.html
vendored
Normal file
6
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975-04.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Einster:<br>
|
||||
You made it all the way here. Did you find ani Imps?<br>
|
||||
You didn't uncover all the secrets yet. Secrets also exist in Abyssal Space. No explorers dared to go there yet.<br>
|
||||
Please find out those secrets!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap jump_location">"Sure, sure. Let me move on"</Button>
|
||||
</body></html>
|
9
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975-05.html
vendored
Normal file
9
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975-05.html
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<html><body>Einster:<br>
|
||||
There's someone who has not met the quest completion requirements, so I cannot send you.<br>
|
||||
Check the list below to see which floor you can go to.<br><br>
|
||||
Floor 6: Complete The Dimensional Warp, Part 1<br><br>
|
||||
Floor 11: Complete The Dimensional Warp, Part 2<br><br>
|
||||
Floor 16: Complete The Dimensional Warp, Part 3<br><br>
|
||||
Floor 21: Complete The Dimensional Warp, Part 4<br><br>
|
||||
Floor 26: Complete The Dimensional Warp, Part 5<br><br>
|
||||
</body></html>
|
12
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975.html
vendored
Normal file
12
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/33975.html
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
<html><body>Einster:<br>
|
||||
I was first one to explore Dimensional Wrap. I heard that the imps here carry materials we could use -- rare books, things to enchant bracelets with, and the like.<br>
|
||||
The Expeditioners have discovered that the probability of imps appearing increases with our use of Warp Crystals, but we have to use a lot to even think about getting up there.<br>
|
||||
All members of the team should carry Warp Crystals. I'll divide them up according to the number in your group.<br>
|
||||
I recently discovered the key to going upstairs directly. If you want, I can send you there.<br>
|
||||
Okay, let's get started.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 12_warp_crystals">"I'll use 12 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 240_warp_crystals">"I'll use 240 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 1200_warp_crystals">"I'll use 1200 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 33975-01.html">"I want to go upstairs directly."</Button>
|
||||
</body></html>
|
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Dimensional Archon AI
|
||||
* @author Gigi
|
||||
* @date 2018-09-08 - [18:09:02]
|
||||
*/
|
||||
public class DimensionalArchon extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int DEMINSIONAL_ARCHON = 23469;
|
||||
private static final int UNWORDLY_ARCHON = 23475;
|
||||
private static final int ABYSSAL_ARCHON = 23482;
|
||||
|
||||
private static final NpcStringId[] ARCHON_MSG =
|
||||
{
|
||||
NpcStringId.DO_YOU_KNOW_WHO_IT_IS_THAT_YOU_FACE_IT_IS_BEST_THAT_YOU_RUN_NOW,
|
||||
NpcStringId.LOOK_INTO_MY_EYES_AND_SEE_WHAT_COUNTLESS_OTHERS_HAVE_SEEN_BEFORE_THEIR_DEATH,
|
||||
NpcStringId.I_COMMEND_YOUR_TENACITY_IN_COMING_THIS_FAR_BUT_NOW_IT_ENDS,
|
||||
NpcStringId.DO_YOU_SEE_THIS_SWORD_THE_LIGHT_THAT_SCREAMS_WITH_THE_LIFE_OF_THOSE_IT_HAS_KILLED,
|
||||
NpcStringId.I_WILL_SHOW_YOU_WHAT_TRUE_POWER_IS,
|
||||
NpcStringId.YOU_WILL_NEED_TO_SURPASS_ME_EVENTUALLY_BUT_DON_T_FORGET_KNOWING_HOW_TO_FLEE_IS_AN_IMPORTANT_PART_OF_BATTLE
|
||||
};
|
||||
|
||||
public DimensionalArchon()
|
||||
{
|
||||
super();
|
||||
addSpawnId(DEMINSIONAL_ARCHON, UNWORDLY_ARCHON, ABYSSAL_ARCHON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("NPC_SHOUT"))
|
||||
{
|
||||
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), ARCHON_MSG[getRandom(ARCHON_MSG.length)]));
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setShowSummonAnimation(true);
|
||||
startQuestTimer("NPC_SHOUT", 2000, npc, null);
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalArchon();
|
||||
}
|
||||
}
|
169
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/DimensionalTrap.java
vendored
Normal file
169
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/DimensionalTrap.java
vendored
Normal file
@ -0,0 +1,169 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Dimensional Trap's AI
|
||||
* @author Gigi
|
||||
* @date 2018-09-07 - [17:39:04]
|
||||
*/
|
||||
public class DimensionalTrap extends AbstractNpcAI
|
||||
{
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_1 = 19556; // Debuff trap, power 1
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_2 = 19557; // Debuff trap, power 2
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_3 = 19558; // Debuff trap, power 3
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_1 = 19559; // Damage trap, power 1
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_2 = 19560; // Damage trap, power 2
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_3 = 19561; // Damage trap, power 3
|
||||
private static final int DIMENSIONAL_HEAL_LIGHT = 19562; // Heal Trap
|
||||
// skill
|
||||
private static final SkillHolder TRAP_HOLD = new SkillHolder(16409, 1);
|
||||
private static final SkillHolder TRAP_ARIALL_YOKE = new SkillHolder(16410, 1);
|
||||
private static final SkillHolder TRAP_STUN = new SkillHolder(16411, 1);
|
||||
private static final SkillHolder TRAP_POYSON = new SkillHolder(16413, 1);
|
||||
private static final SkillHolder PEACE_ZONE_CURE = new SkillHolder(16414, 1);
|
||||
|
||||
private int _type;
|
||||
|
||||
public DimensionalTrap()
|
||||
{
|
||||
super();
|
||||
addSpawnId(DIMENSIONAL_DEBUFF_TRAP_1, DIMENSIONAL_DEBUFF_TRAP_2, DIMENSIONAL_DEBUFF_TRAP_3, DIMENSIONAL_DEMAGE_TRAP_1, DIMENSIONAL_DEMAGE_TRAP_2, DIMENSIONAL_DEMAGE_TRAP_3, DIMENSIONAL_HEAL_LIGHT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (npc != null)
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "debuff_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast((getRandom(10) < 5) ? TRAP_HOLD.getSkill() : TRAP_ARIALL_YOKE.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("debuff_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "demage_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast((getRandom(10) < 5) ? TRAP_STUN.getSkill() : TRAP_POYSON.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("demage_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "heal_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast(PEACE_ZONE_CURE.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("heal_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setIsInvul(true);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case DIMENSIONAL_DEBUFF_TRAP_1:
|
||||
{
|
||||
npc.setDisplayEffect(1);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 50;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEBUFF_TRAP_2:
|
||||
{
|
||||
npc.setDisplayEffect(2);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 100;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEBUFF_TRAP_3:
|
||||
{
|
||||
npc.setDisplayEffect(3);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_1:
|
||||
{
|
||||
npc.setDisplayEffect(4);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 50;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_2:
|
||||
{
|
||||
npc.setDisplayEffect(5);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 100;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_3:
|
||||
{
|
||||
npc.setDisplayEffect(6);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_HEAL_LIGHT:
|
||||
{
|
||||
npc.setDisplayEffect(7);
|
||||
startQuestTimer("heal_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalTrap();
|
||||
}
|
||||
}
|
676
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/DimensionalWrap.java
vendored
Normal file
676
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/DimensionalWrap.java
vendored
Normal file
@ -0,0 +1,676 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import com.l2jmobius.commons.util.CommonUtil;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.SkillData;
|
||||
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||
import com.l2jmobius.gameserver.model.L2Party;
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
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.instancezone.Instance;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.Earthquake;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
/**
|
||||
* Dimensional Wrap instance
|
||||
* @URL https://l2wiki.com/Dimensional_Warp
|
||||
* @Video https://www.youtube.com/watch?v=hOnzk0ELwIg
|
||||
* @author Gigi
|
||||
* @date 2018-09-04 - [14:33:31]
|
||||
*/
|
||||
public class DimensionalWrap extends AbstractInstance
|
||||
{
|
||||
// NPCs
|
||||
private static final int RESED = 33974;
|
||||
private static final int EINSTER = 33975;
|
||||
// Monsters
|
||||
private static final int DEMINSIONAL_INVISIBLE_FRAGMENT = 19564;
|
||||
private static final int SALAMANDRA_GENERATOR = 19563;
|
||||
private static final int SALAMANDRA_GENERATOR_DUMMY = 900112;
|
||||
private static final int DIMENSIONAL_SALAMANDRA = 23466;
|
||||
private static final int UNWORDLY_SALAMANDER = 23473;
|
||||
private static final int DIMENSIONAL_IMP = 19553;
|
||||
private static final int UNWORDLY_IMP = 19554;
|
||||
private static final int ABYSSAL_IMP = 19555;
|
||||
private static final int ABYSSAL_MAKKUM = 26090;
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
23462, // Dimensional Orc Butcher
|
||||
23463, // Dimensional Orc Hunter
|
||||
23464, // Dimensional Shaman
|
||||
23465, // Dimensional Bugbear
|
||||
23467, // Dimensional Binder
|
||||
23468, // Dimensional Demon
|
||||
23469, // Dimensional Archon
|
||||
23470, // Unworldly Demon
|
||||
23471, // Unworldly Etin
|
||||
23472, // Unworldly Shaman
|
||||
23474, // Unworldly Golem
|
||||
23475, // Unworldly Archon
|
||||
23476, // Unworldly Harpy
|
||||
23477, // Abyssal Shaman
|
||||
23478, // Abyssal Berserker
|
||||
23480, // Abyssal Harpy
|
||||
23481, // Abyssal Binder
|
||||
23482, // Abyssal Archon
|
||||
23483 // Abyssal Golem
|
||||
};
|
||||
private static final int[] TRAPS =
|
||||
{
|
||||
19556, // Debuff trap, power 1
|
||||
19557, // Debuff trap, power 2
|
||||
19558, // Debuff trap, power 3
|
||||
19559, // Damage trap, power 1
|
||||
19560, // Damage trap, power 2
|
||||
19561, // Damage trap, power 3
|
||||
19562 // Heal Trap
|
||||
};
|
||||
// Location
|
||||
private static final Location TELEPORTS = new Location(-76136, -216216, 4040);
|
||||
private static final Location FIRST_TELEPORT = new Location(-219544, 248776, 3360);
|
||||
private static final Location SECOND_TELEPORT = new Location(-206756, 242009, 6584);
|
||||
private static final Location THRID_TELEPORT = new Location(-219813, 248484, 9928);
|
||||
private static final Location FOURTH_TELEPORT = new Location(-87191, -210129, 6984);
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 250;
|
||||
private static final int DIMENSIONAL_DARK_FORCES = 16415;
|
||||
private static final int WARP_CRYSTAL = 39597;
|
||||
protected double _chance = 0;
|
||||
protected int _count = 0;
|
||||
public int _skilllevel = 1;
|
||||
public int _worldState = 0;
|
||||
protected ScheduledFuture<?> _debufTask;
|
||||
|
||||
public DimensionalWrap()
|
||||
{
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(RESED);
|
||||
addTalkId(EINSTER);
|
||||
addKillId(MONSTERS);
|
||||
addKillId(ABYSSAL_MAKKUM);
|
||||
addSpawnId(SALAMANDRA_GENERATOR, DEMINSIONAL_INVISIBLE_FRAGMENT, SALAMANDRA_GENERATOR_DUMMY);
|
||||
addFirstTalkId(EINSTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (event.equals("enterInstance"))
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "no_awakened.html";
|
||||
}
|
||||
else if (!player.isInParty())
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
}
|
||||
else if (player.isInParty())
|
||||
{
|
||||
if (!player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
}
|
||||
else
|
||||
{
|
||||
final L2Party party = player.getParty();
|
||||
final List<L2PcInstance> members = party.getMembers();
|
||||
for (L2PcInstance member : members)
|
||||
{
|
||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
enterInstance(member, npc, TEMPLATE_ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "33975-01.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "12_warp_crystals":
|
||||
{
|
||||
_chance = 0.3;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 12;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 6;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 4;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 3;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "240_warp_crystals":
|
||||
{
|
||||
_chance = 0.6;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 240;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 120;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 80;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 60;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "1200_warp_crystals":
|
||||
{
|
||||
_chance = 0.9;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 1200;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 600;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 400;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 300;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_6_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0)
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 5)
|
||||
{
|
||||
world.setStatus(5);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(FIRST_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_11_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 2))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 10)
|
||||
{
|
||||
world.setStatus(10);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(SECOND_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_16_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 3))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 15)
|
||||
{
|
||||
world.setStatus(15);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(THRID_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_21_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 4))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 20)
|
||||
{
|
||||
world.setStatus(20);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(TELEPORTS, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_26_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 5))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 25)
|
||||
{
|
||||
world.setStatus(25);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(FOURTH_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "jump_location":
|
||||
{
|
||||
player.teleToLocation(TELEPORTS, world.getTemplateId());
|
||||
break;
|
||||
}
|
||||
case "SALAMANDRA_SPAWN":
|
||||
case "SALAMANDRA_SPAWN_DUMMY":
|
||||
{
|
||||
if (getRandom(100) < (_worldState / 2))
|
||||
{
|
||||
final L2Npc salamandra = addSpawn(_worldState < 17 ? DIMENSIONAL_SALAMANDRA : UNWORDLY_SALAMANDER, npc, false, 0, false, world.getId());
|
||||
salamandra.setRunning();
|
||||
L2World.getInstance().forEachVisibleObjectInRange(salamandra, L2PcInstance.class, 2500, p ->
|
||||
{
|
||||
if ((p != null) && !p.isDead())
|
||||
{
|
||||
addAttackPlayerDesire(salamandra, p);
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "START_STAGE":
|
||||
{
|
||||
world.setStatus(world.getStatus() + 1);
|
||||
_worldState = world.getStatus();
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.DIMENSIONAL_WARP_LV_S1, ExShowScreenMessage.TOP_CENTER, 10000, true, String.valueOf(world.getStatus())));
|
||||
startQuestTimer("FIRST_SPAWN", 1500, npc, null);
|
||||
break;
|
||||
}
|
||||
case "FIRST_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_first_spawn");
|
||||
world.spawnGroup(_worldState + "_trap_spawn");
|
||||
startQuestTimer("SECOND_SPAWN", 40000, npc, null);
|
||||
_debufTask = ThreadPool.scheduleAtFixedRate(() ->
|
||||
{
|
||||
if ((_worldState > 0) && (_worldState <= 11))
|
||||
{
|
||||
_skilllevel = 1;
|
||||
}
|
||||
else if ((_worldState > 11) && (_worldState <= 20))
|
||||
{
|
||||
_skilllevel = 2;
|
||||
}
|
||||
else if ((_worldState > 20) && (_worldState <= 30))
|
||||
{
|
||||
_skilllevel = 3;
|
||||
}
|
||||
else if (_worldState > 30)
|
||||
{
|
||||
_skilllevel = 4;
|
||||
}
|
||||
final Skill skill = SkillData.getInstance().getSkill(DIMENSIONAL_DARK_FORCES, _skilllevel);
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
if ((p != null) && !p.isDead())
|
||||
{
|
||||
skill.applyEffects(p, p);
|
||||
}
|
||||
}
|
||||
}, 5000, 10000);
|
||||
break;
|
||||
}
|
||||
case "SECOND_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_second_spawn");
|
||||
startQuestTimer("THRID_SPAWN", 40000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "THRID_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_thred_spawn");
|
||||
break;
|
||||
}
|
||||
case "CHANGE_LOCATION":
|
||||
{
|
||||
world.getAliveNpcs(TRAPS).forEach(t -> t.deleteMe());
|
||||
world.spawnGroup(_worldState + "_trap_spawn");
|
||||
startQuestTimer("CHANGE_LOCATION", 60000 - (_worldState * 1430), npc, null);
|
||||
break;
|
||||
}
|
||||
case "SWITCH_STAGE":
|
||||
{
|
||||
if (world.getAliveNpcs(MONSTERS).isEmpty())
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_SURROUNDING_ENERGY_HAS_DISSIPATED, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
world.broadcastPacket(new Earthquake(npc, 50, 5));
|
||||
world.openCloseDoor(world.getTemplateParameters().getInt(_worldState + "_st_door"), true);
|
||||
Clean();
|
||||
if (_worldState < 35)
|
||||
{
|
||||
startQuestTimer("NEXT_STAGE", 5000, npc, null);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "NEXT_STAGE":
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.S1_SECONDS_HAVE_BEEN_ADDED_TO_THE_INSTANCED_ZONE_DURATION, ExShowScreenMessage.TOP_CENTER, 5000, true, String.valueOf(180)));
|
||||
world.setDuration((int) ((world.getRemainingTime() / 60000) + 3));
|
||||
startQuestTimer("START_STAGE", 8000, npc, null);
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
if (CommonUtil.contains(MONSTERS, npc.getId()) && (getRandom(100) < _chance))
|
||||
{
|
||||
if (_worldState < 9)
|
||||
{
|
||||
addSpawn(DIMENSIONAL_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.DIMENSIONAL_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
else if ((_worldState >= 9) && (_worldState < 20))
|
||||
{
|
||||
addSpawn(UNWORDLY_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.UNWORLDLY_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
else if (_worldState >= 20)
|
||||
{
|
||||
addSpawn(ABYSSAL_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ABYSSAL_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
}
|
||||
else if (npc.getId() == ABYSSAL_MAKKUM)
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_INSTANCED_ZONE_WILL_CLOSE_SOON, ExShowScreenMessage.TOP_CENTER, 10000, true));
|
||||
world.finishInstance(3);
|
||||
Clean();
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (_worldState == 20)
|
||||
{
|
||||
return "33975-04.html";
|
||||
}
|
||||
return "33975.html";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case SALAMANDRA_GENERATOR:
|
||||
{
|
||||
startQuestTimer("SALAMANDRA_SPAWN", 25000, npc, null, true);
|
||||
startQuestTimer("CHANGE_LOCATION", 60000 - (_worldState * 1300), npc, null);
|
||||
break;
|
||||
}
|
||||
case SALAMANDRA_GENERATOR_DUMMY:
|
||||
{
|
||||
startQuestTimer("SALAMANDRA_SPAWN_DUMMY", 20000, npc, null, true);
|
||||
break;
|
||||
}
|
||||
case DEMINSIONAL_INVISIBLE_FRAGMENT:
|
||||
{
|
||||
startQuestTimer("SWITCH_STAGE", 5000, npc, null, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public void CheckCrystallCount(Instance world, L2PcInstance player, L2Npc npc)
|
||||
{
|
||||
boolean canStart = true;
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
if (p.getInventory().getInventoryItemCount(WARP_CRYSTAL, -1) < _count)
|
||||
{
|
||||
for (L2PcInstance ps : world.getPlayers())
|
||||
{
|
||||
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
|
||||
packet.setHtml(getHtm(ps, "33975-03.html"));
|
||||
packet.replace("%count%", Integer.toString(_count));
|
||||
ps.sendPacket(packet);
|
||||
ps.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_S_ITEM_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addString(ps.getName()));
|
||||
canStart = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!canStart || (_worldState != 0))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
startQuestTimer("START_STAGE", 1000, npc, null);
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
takeItems(p, WARP_CRYSTAL, _count);
|
||||
}
|
||||
}
|
||||
|
||||
protected void Clean()
|
||||
{
|
||||
cancelQuestTimers("SWITCH_STAGE");
|
||||
cancelQuestTimers("SALAMANDRA_SPAWN");
|
||||
cancelQuestTimers("SALAMANDRA_SPAWN_DUMMY");
|
||||
cancelQuestTimers("CHANGE_LOCATION");
|
||||
if (_debufTask != null)
|
||||
{
|
||||
_debufTask.cancel(false);
|
||||
_debufTask = null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalWrap();
|
||||
}
|
||||
}
|
3
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/no_awakened.html
vendored
Normal file
3
L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/DimensionalWrap/no_awakened.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Resed:<br>
|
||||
Only those who have completed the 3rd Liberation or have Awakened can enter.
|
||||
</body></html>
|
@ -1023,7 +1023,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="19556" level="99" type="L2Npc" name="Dimensional Trap">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="trap_skill_type" value="1" />
|
||||
<skill name="trap_skill" id="10806" level="2" />
|
||||
</parameters>
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@ -1035,7 +1038,12 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<skillList>
|
||||
<skill id="10806" level="2" /> <!-- Frost Trap -->
|
||||
</skillList>
|
||||
<exCrtEffect>true</exCrtEffect>
|
||||
<ai aggroRange="100" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1054,7 +1062,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1073,7 +1081,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1092,7 +1100,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1111,7 +1119,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1130,7 +1138,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1149,7 +1157,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1168,7 +1176,7 @@
|
||||
<attack physical="1950.2231755595" magical="1331.5869440987" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="405.85106382979" magical="297.0297029703" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="1" />
|
||||
<height normal="1" />
|
||||
@ -1187,7 +1195,7 @@
|
||||
<attack physical="1950.2231755595" magical="1331.5869440987" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="405.85106382979" magical="297.0297029703" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="0.1" />
|
||||
<height normal="0.1" />
|
||||
|
@ -676,6 +676,7 @@
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="7276" sp="1" />
|
||||
<equipment rhand="78" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="1183" hpRegen="4.5" mp="610" mpRegen="1.8" />
|
||||
<speed>
|
||||
@ -703,6 +704,7 @@
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="7276" sp="1" />
|
||||
<equipment rhand="78" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="1183" hpRegen="4.5" mp="610" mpRegen="1.8" />
|
||||
<speed>
|
||||
@ -820,6 +822,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="331748" sp="79" />
|
||||
<equipment rhand="13978" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="8923" hpRegen="8.5" mp="1607" mpRegen="3" />
|
||||
@ -913,6 +916,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="440867" sp="105" />
|
||||
<equipment rhand="35708" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="9870" hpRegen="8.5" mp="1674" mpRegen="3" />
|
||||
@ -960,6 +964,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="440867" sp="105" />
|
||||
<equipment rhand="13979" lhand="13980" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="9870" hpRegen="8.5" mp="1674" mpRegen="3" />
|
||||
@ -1189,6 +1194,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="440867" sp="105" />
|
||||
<equipment rhand="35708" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="11506" hpRegen="8.5" mp="1777" mpRegen="3" />
|
||||
@ -1329,6 +1335,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="269969" sp="64" />
|
||||
<equipment rhand="15302" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="8570" hpRegen="8.5" mp="1574" mpRegen="3" />
|
||||
@ -1420,6 +1427,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="331748" sp="79" />
|
||||
<equipment rhand="221" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="8923" hpRegen="8.5" mp="1607" mpRegen="3" />
|
||||
@ -1606,6 +1614,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="449407" sp="107" />
|
||||
<equipment rhand="78" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="10930" hpRegen="8.5" mp="1743" mpRegen="3" />
|
||||
@ -2461,10 +2470,13 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23462" level="99" type="L2Monster" name="Dimensional Orc Butcher">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="83739744" sp="301463" />
|
||||
<equipment rhand="38425" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="376398" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
@ -2489,6 +2501,11 @@
|
||||
<skill id="16365" level="1" /> <!-- Dimensional Defense Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="34.1799999999999" /> <!-- Warp Crystal -->
|
||||
@ -2504,10 +2521,13 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23463" level="99" type="L2Monster" name="Dimensional Orc Hunter" title="Scout">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
<equipment rhand="38426" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="752796" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
@ -2531,6 +2551,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16380" level="1" /> <!-- Dimensional Recoil Shot -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.00558631842" /> <!-- Warp Crystal -->
|
||||
@ -2546,7 +2571,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23464" level="99" type="L2Monster" name="Dimensional Shaman" title="Watcher">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
@ -2577,6 +2604,11 @@
|
||||
<skill id="16372" level="1" /> <!-- Dimensional Spike -->
|
||||
<skill id="16381" level="1" /> <!-- Dimensional Shield -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.075753712167" /> <!-- Warp Crystal -->
|
||||
@ -2592,10 +2624,13 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23465" level="99" type="L2Monster" name="Dimensional Bugbear">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>GIANT</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
<equipment rhand="160" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="752796" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
@ -2621,6 +2656,11 @@
|
||||
<skill id="16375" level="1" /> <!-- Dimensional Hammer -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.049789683201" /> <!-- Warp Crystal -->
|
||||
@ -2636,7 +2676,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23466" level="99" type="L2Monster" name="Dimensional Salamander" title="Hunter">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>ELEMENTAL</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@ -2673,7 +2715,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23467" level="99" type="L2Monster" name="Dimensional Binder">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
@ -2703,6 +2747,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.072868141029" /> <!-- Warp Crystal -->
|
||||
@ -2718,7 +2767,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23468" level="99" type="L2Monster" name="Dimensional Demon">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="83739744" sp="301463" />
|
||||
@ -2749,6 +2800,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="33.3200000000001" /> <!-- Warp Crystal -->
|
||||
@ -2764,7 +2820,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23469" level="99" type="L2Monster" name="Dimensional Archon" title="Slaughterer">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="251219232" sp="904389" />
|
||||
@ -2797,6 +2855,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="2" max="2" chance="96.195469193401" /> <!-- Warp Crystal -->
|
||||
@ -3346,6 +3409,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="251219232" sp="904389" />
|
||||
<equipment rhand="39719" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="1355033" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
|
@ -91,55 +91,237 @@
|
||||
<skill id="16409" toLevel="3" name="Trap Hold">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill4047</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>ROOT_MAGICALLY</abnormalType>
|
||||
<abnormalVisualEffect>ROOT</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>10</abnormalTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>80</activateRate>
|
||||
<trait>HOLD</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="Root" />
|
||||
<effect name="DefenceTrait">
|
||||
<HOLD>100</HOLD>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16410" toLevel="3" name="Trap Aerial Yoke">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill11050</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>AIRBIND</abnormalType>
|
||||
<abnormalVisualEffect>AIRBIND</abnormalVisualEffect>
|
||||
<abnormalResists>STUN;TURN_FLEE</abnormalResists>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>80</activateRate>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="AirBind" />
|
||||
<effect name="BlockActions">
|
||||
<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912</allowedSkills>
|
||||
</effect>
|
||||
<effect name="DefenceTrait">
|
||||
<HOLD>100</HOLD>
|
||||
<DERANGEMENT>100</DERANGEMENT>
|
||||
<SHOCK>100</SHOCK>
|
||||
<KNOCKBACK>100</KNOCKBACK>
|
||||
<CHANGEBODY>100</CHANGEBODY>
|
||||
<KNOCKDOWN>100</KNOCKDOWN>
|
||||
<SLEEP>100</SLEEP>
|
||||
<AIRBIND>100</AIRBIND>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16411" toLevel="3" name="Trap Stun">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill0100</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>STUN</abnormalType>
|
||||
<abnormalVisualEffect>STUN</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<trait>SHOCK</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="BlockActions" />
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16412" toLevel="3" name="Trap Petrify">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill4111</icon>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>10</abnormalTime>
|
||||
<affectRange>150</affectRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="16413" toLevel="3" name="Trap Poison">
|
||||
<!-- Poisoned and losing $s1,$s2 HP/second. -->
|
||||
<icon>icon.skill4035</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<subordinationAbnormalType>POISON</subordinationAbnormalType>
|
||||
<abnormalType>POISON</abnormalType>
|
||||
<abnormalVisualEffect>DOT_POISON</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<trait>POISON</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="DamOverTime">
|
||||
<power>1000</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16414" toLevel="1" name="Peace Zone Cure">
|
||||
<!-- Recover 10% of Max HP and 30% of Max MP of self and everyone within 200 grids. Cooldown is 10 sec. -->
|
||||
<icon>icon.skill0000</icon>
|
||||
<operateType>A1</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<affectRange>200</affectRange>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="HealPercent">
|
||||
<power>10</power>
|
||||
</effect>
|
||||
</effects>
|
||||
<effect name="ManaHealPercent">
|
||||
<power>30</power>
|
||||
</effect>
|
||||
</skill>
|
||||
<skill id="16415" toLevel="4" name="Dimensional Dark Forces">
|
||||
<!-- P. Atk - $s1, M. Atk. - $s2, and P. Critical Rate - $s3, M. Critical Rate - $s4. -->
|
||||
<icon>icon.skill1298</icon>
|
||||
<abnormalLvl>
|
||||
<value level="1">1</value>
|
||||
<value level="2">2</value>
|
||||
<value level="3">3</value>
|
||||
<value level="4">4</value>
|
||||
</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">5</value>
|
||||
<value level="2">5</value>
|
||||
<value level="3">10</value>
|
||||
<value level="4">10</value>
|
||||
</abnormalTime>
|
||||
<operateType>A2</operateType>
|
||||
<rideState>NONE</rideState>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<isDebuff>1</isDebuff>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<targetType>SELF</targetType>
|
||||
<effects>
|
||||
<effect name="PAtk">
|
||||
<amount>
|
||||
<value level="1">-4</value>
|
||||
<value level="2">-6</value>
|
||||
<value level="3">-8</value>
|
||||
<value level="3">-10</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MAtk">
|
||||
<amount>
|
||||
<value level="1">-4</value>
|
||||
<value level="2">-6</value>
|
||||
<value level="3">-8</value>
|
||||
<value level="3">-10</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="CriticalRate">
|
||||
<amount>
|
||||
<value level="1">-5</value>
|
||||
<value level="2">-10</value>
|
||||
<value level="3">-20</value>
|
||||
<value level="3">-30</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MagicCriticalRate">
|
||||
<amount>
|
||||
<value level="1">-5</value>
|
||||
<value level="2">-10</value>
|
||||
<value level="3">-20</value>
|
||||
<value level="3">-30</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16416" toLevel="10" name="Bluff Resistance">
|
||||
<!-- Resistance to Bluff. -->
|
||||
|
@ -142,6 +142,172 @@
|
||||
<stat name="mapId" val="45" />
|
||||
<node X="-186154" Y="242838" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 1 -->
|
||||
<zone name="Sayune_46" type="SayuneZone" shape="Cylinder" minZ="400" maxZ="500" rad="80">
|
||||
<stat name="mapId" val="46" />
|
||||
<node X="-208193" Y="240585" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 2 -->
|
||||
<zone name="Sayune_47" type="SayuneZone" shape="Cylinder" minZ="1100" maxZ="1200" rad="80">
|
||||
<stat name="mapId" val="47" />
|
||||
<node X="-211300" Y="238768" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 3 -->
|
||||
<zone name="Sayune_48" type="SayuneZone" shape="Cylinder" minZ="1600" maxZ="1700" rad="80">
|
||||
<stat name="mapId" val="48" />
|
||||
<node X="-216356" Y="239680" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 4 -->
|
||||
<zone name="Sayune_49" type="SayuneZone" shape="Cylinder" minZ="2250" maxZ="2350" rad="80">
|
||||
<stat name="mapId" val="49" />
|
||||
<node X="-219722" Y="241510" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 5 -->
|
||||
<zone name="Sayune_50" type="SayuneZone" shape="Cylinder" minZ="2700" maxZ="2800" rad="80">
|
||||
<stat name="mapId" val="50" />
|
||||
<node X="-219116" Y="246748" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 6 -->
|
||||
<zone name="Sayune_51" type="SayuneZone" shape="Cylinder" minZ="3350" maxZ="3450" rad="80">
|
||||
<stat name="mapId" val="51" />
|
||||
<node X="-218132" Y="250177" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 7 -->
|
||||
<zone name="Sayune_52" type="SayuneZone" shape="Cylinder" minZ="4100" maxZ="4200" rad="80">
|
||||
<stat name="mapId" val="52" />
|
||||
<node X="-215046" Y="251965" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 8 -->
|
||||
<zone name="Sayune_53" type="SayuneZone" shape="Cylinder" minZ="4550" maxZ="4650" rad="80">
|
||||
<stat name="mapId" val="53" />
|
||||
<node X="-209957" Y="251067" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 9 -->
|
||||
<zone name="Sayune_54" type="SayuneZone" shape="Cylinder" minZ="5200" maxZ="5300" rad="80">
|
||||
<stat name="mapId" val="54" />
|
||||
<node X="-206602" Y="249250" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 10 -->
|
||||
<zone name="Sayune_55" type="SayuneZone" shape="Cylinder" minZ="5550" maxZ="5800" rad="80">
|
||||
<stat name="mapId" val="55" />
|
||||
<node X="-206952" Y="243976" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 11 -->
|
||||
<zone name="Sayune_56" type="SayuneZone" shape="Cylinder" minZ="6500" maxZ="6750" rad="80">
|
||||
<stat name="mapId" val="56" />
|
||||
<node X="-208200" Y="240584" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 12 -->
|
||||
<zone name="Sayune_57" type="SayuneZone" shape="Cylinder" minZ="7220" maxZ="7460" rad="80">
|
||||
<stat name="mapId" val="57" />
|
||||
<node X="-211304" Y="238760" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 13 -->
|
||||
<zone name="Sayune_58" type="SayuneZone" shape="Cylinder" minZ="7700" maxZ="7900" rad="80">
|
||||
<stat name="mapId" val="58" />
|
||||
<node X="-216344" Y="239672" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 14 -->
|
||||
<zone name="Sayune_59" type="SayuneZone" shape="Cylinder" minZ="8350" maxZ="8555" rad="80">
|
||||
<stat name="mapId" val="59" />
|
||||
<node X="-219720" Y="241512" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 15 -->
|
||||
<zone name="Sayune_60" type="SayuneZone" shape="Cylinder" minZ="8780" maxZ="9000" rad="80">
|
||||
<stat name="mapId" val="60" />
|
||||
<node X="-219112" Y="246744" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 16 -->
|
||||
<zone name="Sayune_61" type="SayuneZone" shape="Cylinder" minZ="9800" maxZ="10000" rad="80">
|
||||
<stat name="mapId" val="61" />
|
||||
<node X="-218136" Y="250184" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 17 -->
|
||||
<zone name="Sayune_62" type="SayuneZone" shape="Cylinder" minZ="10520" maxZ="10790" rad="80">
|
||||
<stat name="mapId" val="62" />
|
||||
<node X="-215048" Y="251960" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 18 -->
|
||||
<zone name="Sayune_63" type="SayuneZone" shape="Cylinder" minZ="11000" maxZ="11200" rad="80">
|
||||
<stat name="mapId" val="63" />
|
||||
<node X="-209960" Y="251080" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 19 -->
|
||||
<zone name="Sayune_64" type="SayuneZone" shape="Cylinder" minZ="11650" maxZ="11850" rad="80">
|
||||
<stat name="mapId" val="64" />
|
||||
<node X="-206600" Y="249240" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 21 -->
|
||||
<zone name="Sayune_65" type="SayuneZone" shape="Cylinder" minZ="4000" maxZ="4100" rad="80">
|
||||
<stat name="mapId" val="65" />
|
||||
<node X="-77982" Y="-218040" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 22 -->
|
||||
<zone name="Sayune_66" type="SayuneZone" shape="Cylinder" minZ="4700" maxZ="4800" rad="80">
|
||||
<stat name="mapId" val="66" />
|
||||
<node X="-80696" Y="-219020" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 23 -->
|
||||
<zone name="Sayune_67" type="SayuneZone" shape="Cylinder" minZ="5200" maxZ="5300" rad="80">
|
||||
<stat name="mapId" val="67" />
|
||||
<node X="-85023" Y="-218047" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 24 -->
|
||||
<zone name="Sayune_68" type="SayuneZone" shape="Cylinder" minZ="5900" maxZ="6000" rad="80">
|
||||
<stat name="mapId" val="68" />
|
||||
<node X="-87828" Y="-217077" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 25 -->
|
||||
<zone name="Sayune_69" type="SayuneZone" shape="Cylinder" minZ="6300" maxZ="6400" rad="80">
|
||||
<stat name="mapId" val="69" />
|
||||
<node X="-86591" Y="-212083" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 26 -->
|
||||
<zone name="Sayune_70" type="SayuneZone" shape="Cylinder" minZ="7000" maxZ="7100" rad="80">
|
||||
<stat name="mapId" val="70" />
|
||||
<node X="-85764" Y="-208712" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 27 -->
|
||||
<zone name="Sayune_71" type="SayuneZone" shape="Cylinder" minZ="7700" maxZ="7800" rad="80">
|
||||
<stat name="mapId" val="71" />
|
||||
<node X="-83015" Y="-207015" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 28 -->
|
||||
<zone name="Sayune_72" type="SayuneZone" shape="Cylinder" minZ="8200" maxZ="8300" rad="80">
|
||||
<stat name="mapId" val="72" />
|
||||
<node X="-78759" Y="-208040" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 29 -->
|
||||
<zone name="Sayune_73" type="SayuneZone" shape="Cylinder" minZ="8800" maxZ="8900" rad="80">
|
||||
<stat name="mapId" val="73" />
|
||||
<node X="-76010" Y="-209839" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 30 -->
|
||||
<zone name="Sayune_74" type="SayuneZone" shape="Cylinder" minZ="9300" maxZ="9400" rad="80">
|
||||
<stat name="mapId" val="74" />
|
||||
<node X="-77242" Y="-214850" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 31 -->
|
||||
<zone name="Sayune_75" type="SayuneZone" shape="Cylinder" minZ="10200" maxZ="10256" rad="80">
|
||||
<stat name="mapId" val="75" />
|
||||
<node X="-77982" Y="-218036" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 32 -->
|
||||
<zone name="Sayune_76" type="SayuneZone" shape="Cylinder" minZ="10900" maxZ="11000" rad="80">
|
||||
<stat name="mapId" val="76" />
|
||||
<node X="-80697" Y="-219020" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 33 -->
|
||||
<zone name="Sayune_77" type="SayuneZone" shape="Cylinder" minZ="11400" maxZ="11500" rad="80">
|
||||
<stat name="mapId" val="77" />
|
||||
<node X="-85026" Y="-218044" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 34 -->
|
||||
<zone name="Sayune_78" type="SayuneZone" shape="Cylinder" minZ="12050" maxZ="12100" rad="80">
|
||||
<stat name="mapId" val="78" />
|
||||
<node X="-87828" Y="-217079" />
|
||||
</zone>
|
||||
<!-- Enchanted Valley -->
|
||||
<zone name="Sayune_79" type="SayuneZone" shape="Cylinder" minZ="-4700" maxZ="-4600" rad="100">
|
||||
<stat name="mapId" val="79" />
|
||||
<node X="113562" Y="46888" />
|
||||
|
@ -843,7 +843,7 @@ public final class Instance implements IIdentifiable, INamable
|
||||
}
|
||||
_allowed.forEach(player ->
|
||||
{
|
||||
if ((player != null))
|
||||
if (player != null)
|
||||
{
|
||||
InstanceManager.getInstance().setReenterPenalty(player.getObjectId(), getTemplateId(), time);
|
||||
if (player.isOnline())
|
||||
@ -1147,6 +1147,11 @@ public final class Instance implements IIdentifiable, INamable
|
||||
*/
|
||||
private void sendWorldDestroyMessage(int delay)
|
||||
{
|
||||
// Dimensional wrap does not show timer after 5 minutes.
|
||||
if (delay > 5)
|
||||
{
|
||||
return;
|
||||
}
|
||||
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THIS_INSTANT_ZONE_WILL_BE_TERMINATED_IN_S1_MINUTE_S_YOU_WILL_BE_FORCED_OUT_OF_THE_DUNGEON_WHEN_THE_TIME_EXPIRES);
|
||||
sm.addInt(delay);
|
||||
broadcastPacket(sm);
|
||||
|
@ -56,6 +56,7 @@ Ertheia:
|
||||
-Brooch system
|
||||
-Luck system
|
||||
-Auto fishing
|
||||
-Dimensional Warp
|
||||
|
||||
Infinite Odyssey:
|
||||
-Garden of Spirits
|
||||
|
455
L2J_Mobius_3.0_Helios/dist/game/data/DoorData.xml
vendored
455
L2J_Mobius_3.0_Helios/dist/game/data/DoorData.xml
vendored
@ -17096,6 +17096,266 @@
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250002" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="1146">
|
||||
<node x="-211367" y="239031" />
|
||||
<node x="-211026" y="238801" />
|
||||
<node x="-211011" y="238829" />
|
||||
<node x="-211353" y="239052" />
|
||||
</nodes>
|
||||
<location x="-211190" y="238927" z="1154" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250003" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="1552">
|
||||
<node x="-215940" y="239724" />
|
||||
<node x="-216100" y="239349" />
|
||||
<node x="-216071" y="239337" />
|
||||
<node x="-215918" y="239714" />
|
||||
</nodes>
|
||||
<location x="-216007" y="239531" z="1560" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250004" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="2256">
|
||||
<node x="-219531" y="241694" />
|
||||
<node x="-219569" y="241297" />
|
||||
<node x="-219545" y="241296" />
|
||||
<node x="-219505" y="241693" />
|
||||
</nodes>
|
||||
<location x="-219539" y="241489" z="2264" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250005" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="2736">
|
||||
<node x="-218904" y="246367" />
|
||||
<node x="-219319" y="246371" />
|
||||
<node x="-219319" y="246340" />
|
||||
<node x="-218905" y="246337" />
|
||||
</nodes>
|
||||
<location x="-219112" y="246353" z="2744" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250011" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="6551">
|
||||
<node x="-208062" y="241011" />
|
||||
<node x="-207772" y="240723" />
|
||||
<node x="-207749" y="240743" />
|
||||
<node x="-208041" y="241032" />
|
||||
</nodes>
|
||||
<location x="-207904" y="240875" z="6559" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250012" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="7336">
|
||||
<node x="-211367" y="239031" />
|
||||
<node x="-211026" y="238801" />
|
||||
<node x="-211011" y="238829" />
|
||||
<node x="-211353" y="239052" />
|
||||
</nodes>
|
||||
<location x="-211190" y="238927" z="7344" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250013" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="7742">
|
||||
<node x="-215940" y="239724" />
|
||||
<node x="-216100" y="239349" />
|
||||
<node x="-216071" y="239337" />
|
||||
<node x="-215918" y="239714" />
|
||||
</nodes>
|
||||
<location x="-216007" y="239531" z="7750" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250014" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8446">
|
||||
<node x="-219531" y="241694" />
|
||||
<node x="-219569" y="241297" />
|
||||
<node x="-219545" y="241296" />
|
||||
<node x="-219505" y="241693" />
|
||||
</nodes>
|
||||
<location x="-219539" y="241489" z="8454" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250015" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8926">
|
||||
<node x="-218904" y="246367" />
|
||||
<node x="-219319" y="246371" />
|
||||
<node x="-219319" y="246340" />
|
||||
<node x="-218905" y="246337" />
|
||||
</nodes>
|
||||
<location x="-219112" y="246353" z="8934" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250016" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="9847">
|
||||
<node x="-218583" y="250013" />
|
||||
<node x="-218293" y="249725" />
|
||||
<node x="-218270" y="249745" />
|
||||
<node x="-218562" y="250034" />
|
||||
</nodes>
|
||||
<location x="-218425" y="249877" z="9855" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250017" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="10634">
|
||||
<node x="-215318" y="251921" />
|
||||
<node x="-214977" y="251691" />
|
||||
<node x="-214962" y="251719" />
|
||||
<node x="-215304" y="251942" />
|
||||
</nodes>
|
||||
<location x="-215141" y="251817" z="10642" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250018" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="11040">
|
||||
<node x="-210256" y="251408" />
|
||||
<node x="-210416" y="251033" />
|
||||
<node x="-210387" y="251021" />
|
||||
<node x="-210234" y="251398" />
|
||||
</nodes>
|
||||
<location x="-210323" y="251215" z="11048" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250019" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="11744">
|
||||
<node x="-206785" y="249466" />
|
||||
<node x="-206823" y="249069" />
|
||||
<node x="-206799" y="249068" />
|
||||
<node x="-206759" y="249465" />
|
||||
</nodes>
|
||||
<location x="-206793" y="249261" z="11752" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250020" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="12225">
|
||||
<node x="-206752" y="244379" />
|
||||
<node x="-207167" y="244383" />
|
||||
<node x="-207167" y="244352" />
|
||||
<node x="-206753" y="244349" />
|
||||
</nodes>
|
||||
<location x="-206960" y="244365" z="12233" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250009" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5225">
|
||||
<node x="-206785" y="249466" />
|
||||
<node x="-206823" y="249069" />
|
||||
<node x="-206799" y="249068" />
|
||||
<node x="-206759" y="249465" />
|
||||
</nodes>
|
||||
<location x="-206793" y="249261" z="5233" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250008" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="4521">
|
||||
<node x="-210255" y="251409" />
|
||||
<node x="-210415" y="251034" />
|
||||
<node x="-210386" y="251022" />
|
||||
<node x="-210232" y="251399" />
|
||||
</nodes>
|
||||
<location x="-210322" y="251216" z="4529" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250010" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5706">
|
||||
<node x="-206752" y="244379" />
|
||||
<node x="-207167" y="244383" />
|
||||
<node x="-207167" y="244352" />
|
||||
<node x="-206753" y="244349" />
|
||||
</nodes>
|
||||
<location x="-206960" y="244365" z="5714" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250007" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="4115">
|
||||
<node x="-215318" y="251921" />
|
||||
<node x="-214977" y="251691" />
|
||||
<node x="-214962" y="251719" />
|
||||
<node x="-215304" y="251942" />
|
||||
</nodes>
|
||||
<location x="-215141" y="251817" z="4123" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250001" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="360">
|
||||
<node x="-208062" y="241011" />
|
||||
<node x="-207772" y="240723" />
|
||||
<node x="-207749" y="240743" />
|
||||
<node x="-208041" y="241032" />
|
||||
</nodes>
|
||||
<location x="-207904" y="240875" z="368" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="13250006" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="3328">
|
||||
<node x="-218583" y="250015" />
|
||||
<node x="-218293" y="249727" />
|
||||
<node x="-218270" y="249747" />
|
||||
<node x="-218562" y="250036" />
|
||||
</nodes>
|
||||
<location x="-218425" y="249879" z="3336" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="15240001" name="Hellfire_Du_Boss_S.Hellfire_Boss_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="-10250">
|
||||
@ -17330,6 +17590,201 @@
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110001" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="3978">
|
||||
<node x="-77846" y="-217621" />
|
||||
<node x="-77557" y="-217909" />
|
||||
<node x="-77533" y="-217889" />
|
||||
<node x="-77826" y="-217600" />
|
||||
</nodes>
|
||||
<location x="-77688" y="-217757" z="3986" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110002" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="4766">
|
||||
<node x="-80773" y="-218772" />
|
||||
<node x="-80432" y="-219002" />
|
||||
<node x="-80416" y="-218974" />
|
||||
<node x="-80758" y="-218751" />
|
||||
</nodes>
|
||||
<location x="-80595" y="-218876" z="4774" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110003" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5173">
|
||||
<node x="-84579" y="-218016" />
|
||||
<node x="-84739" y="-218391" />
|
||||
<node x="-84710" y="-218403" />
|
||||
<node x="-84557" y="-218026" />
|
||||
</nodes>
|
||||
<location x="-84646" y="-218209" z="5181" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110004" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="5876">
|
||||
<node x="-87643" y="-216899" />
|
||||
<node x="-87681" y="-217296" />
|
||||
<node x="-87658" y="-217297" />
|
||||
<node x="-87618" y="-216900" />
|
||||
</nodes>
|
||||
<location x="-87651" y="-217104" z="5884" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110005" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="6356">
|
||||
<node x="-86382" y="-212479" />
|
||||
<node x="-86797" y="-212475" />
|
||||
<node x="-86798" y="-212506" />
|
||||
<node x="-86383" y="-212509" />
|
||||
</nodes>
|
||||
<location x="-86590" y="-212493" z="6364" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110011" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="10169">
|
||||
<node x="-77846" y="-217621" />
|
||||
<node x="-77557" y="-217909" />
|
||||
<node x="-77533" y="-217889" />
|
||||
<node x="-77826" y="-217600" />
|
||||
</nodes>
|
||||
<location x="-77688" y="-217757" z="10177" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110012" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="10956">
|
||||
<node x="-80773" y="-218772" />
|
||||
<node x="-80432" y="-219002" />
|
||||
<node x="-80416" y="-218974" />
|
||||
<node x="-80758" y="-218751" />
|
||||
</nodes>
|
||||
<location x="-80595" y="-218876" z="10964" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110013" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="11363">
|
||||
<node x="-84579" y="-218016" />
|
||||
<node x="-84739" y="-218391" />
|
||||
<node x="-84710" y="-218403" />
|
||||
<node x="-84557" y="-218026" />
|
||||
</nodes>
|
||||
<location x="-84646" y="-218209" z="11371" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110014" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="12066">
|
||||
<node x="-87643" y="-216899" />
|
||||
<node x="-87681" y="-217296" />
|
||||
<node x="-87658" y="-217297" />
|
||||
<node x="-87618" y="-216900" />
|
||||
</nodes>
|
||||
<location x="-87651" y="-217104" z="12074" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110015" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="12546">
|
||||
<node x="-86382" y="-212479" />
|
||||
<node x="-86797" y="-212475" />
|
||||
<node x="-86798" y="-212506" />
|
||||
<node x="-86383" y="-212509" />
|
||||
</nodes>
|
||||
<location x="-86590" y="-212493" z="12554" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110006" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="6950">
|
||||
<node x="-86216" y="-208863" />
|
||||
<node x="-85927" y="-209151" />
|
||||
<node x="-85903" y="-209131" />
|
||||
<node x="-86196" y="-208842" />
|
||||
</nodes>
|
||||
<location x="-86058" y="-208999" z="6958" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110007" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="7735">
|
||||
<node x="-83287" y="-207062" />
|
||||
<node x="-82946" y="-207292" />
|
||||
<node x="-82930" y="-207264" />
|
||||
<node x="-83272" y="-207041" />
|
||||
</nodes>
|
||||
<location x="-83109" y="-207166" z="7743" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110008" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8141">
|
||||
<node x="-79060" y="-207695" />
|
||||
<node x="-79220" y="-208070" />
|
||||
<node x="-79191" y="-208082" />
|
||||
<node x="-79038" y="-207705" />
|
||||
</nodes>
|
||||
<location x="-79127" y="-207888" z="8149" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110009" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="8845">
|
||||
<node x="-76165" y="-209627" />
|
||||
<node x="-76203" y="-210024" />
|
||||
<node x="-76180" y="-210025" />
|
||||
<node x="-76140" y="-209628" />
|
||||
</nodes>
|
||||
<location x="-76173" y="-209832" z="8853" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17110010" name="Glacia_kserth_S.G_kserth_az_gate_door">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="9326">
|
||||
<node x="-77028" y="-214451" />
|
||||
<node x="-77443" y="-214447" />
|
||||
<node x="-77444" y="-214478" />
|
||||
<node x="-77029" y="-214481" />
|
||||
</nodes>
|
||||
<location x="-77236" y="-214465" z="9334" />
|
||||
<stats basePDef="644" baseMDef="518" baseHpMax="169710" />
|
||||
<status showHp="false" />
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="17230101" name="Combine_dun_S.Comb_inst_door_01">
|
||||
<!-- AUTO GENERATED DOOR -->
|
||||
<nodes nodeZ="-10501">
|
||||
|
165
L2J_Mobius_3.0_Helios/dist/game/data/SayuneData.xml
vendored
165
L2J_Mobius_3.0_Helios/dist/game/data/SayuneData.xml
vendored
@ -666,6 +666,171 @@
|
||||
<loc id="1" x="-186018" y="243468" z="2657" />
|
||||
<loc id="2" x="-186470" y="243500" z="2618" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 1 -> 2 -->
|
||||
<map id="46">
|
||||
<loc id="1" x="-209809" y="239024" z="1560" />
|
||||
<loc id="2" x="-210349" y="240190" z="1136" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 2 -> 3 -->
|
||||
<map id="47">
|
||||
<loc id="1" x="-213737" y="238586" z="1596" />
|
||||
<loc id="2" x="-214526" y="238900" z="1584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 3 -> 4 -->
|
||||
<map id="48">
|
||||
<loc id="1" x="-218797" y="240326" z="2670" />
|
||||
<loc id="2" x="-218050" y="241346" z="2248" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 4 -> 5 -->
|
||||
<map id="49">
|
||||
<loc id="1" x="-222958" y="241121" z="2386" />
|
||||
<loc id="2" x="-219093" y="243874" z="2728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 5 -> 6 -->
|
||||
<map id="50">
|
||||
<loc id="1" x="-219640" y="247868" z="3496" />
|
||||
<loc id="2" x="-219544" y="248776" z="3360" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 6 -> 7 -->
|
||||
<map id="51">
|
||||
<loc id="1" x="-216513" y="251722" z="4527" />
|
||||
<loc id="2" x="-215980" y="250563" z="4104" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 7 -> 8 -->
|
||||
<map id="52">
|
||||
<loc id="1" x="-212680" y="251576" z="4680" />
|
||||
<loc id="2" x="-211773" y="251821" z="4552" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 8 -> 9 -->
|
||||
<map id="53">
|
||||
<loc id="1" x="-207533" y="250419" z="5639" />
|
||||
<loc id="2" x="-208286" y="249412" z="5216" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 9 -> 10 -->
|
||||
<map id="54">
|
||||
<loc id="1" x="-204970" y="248587" z="6592" />
|
||||
<loc id="2" x="-206980" y="246782" z="5696" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 10 -> 11 -->
|
||||
<map id="55">
|
||||
<loc id="1" x="-206220" y="242808" z="6656" />
|
||||
<loc id="2" x="-206756" y="242009" z="6584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 11 -> 12 -->
|
||||
<map id="56">
|
||||
<loc id="1" x="-209814" y="239040" z="7752" />
|
||||
<loc id="2" x="-210343" y="240201" z="7328" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 12 -> 13 -->
|
||||
<map id="57">
|
||||
<loc id="1" x="-213566" y="238711" z="7848" />
|
||||
<loc id="2" x="-214510" y="238914" z="7776" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 13 -> 14 -->
|
||||
<map id="58">
|
||||
<loc id="1" x="-218793" y="240333" z="8860" />
|
||||
<loc id="2" x="-218034" y="241333" z="8440" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 14 -> 15 -->
|
||||
<map id="59">
|
||||
<loc id="1" x="-218699" y="242596" z="8859" />
|
||||
<loc id="2" x="-219093" y="243899" z="8912" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 15 -> 16 -->
|
||||
<map id="60">
|
||||
<loc id="1" x="-220117" y="247939" z="9954" />
|
||||
<loc id="2" x="-219563" y="248742" z="9880" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 16 -> 17 -->
|
||||
<map id="61">
|
||||
<loc id="1" x="-216516" y="251710" z="11052" />
|
||||
<loc id="2" x="-215980" y="250563" z="10624" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 17 -> 18 -->
|
||||
<map id="62">
|
||||
<loc id="1" x="-212765" y="252033" z="11144" />
|
||||
<loc id="2" x="-211808" y="251842" z="11072" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 18 -> 19 -->
|
||||
<map id="63">
|
||||
<loc id="1" x="-207530" y="250423" z="12159" />
|
||||
<loc id="2" x="-208304" y="249410" z="11736" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 19 -> 20 -->
|
||||
<map id="64">
|
||||
<loc id="1" x="-207627" y="248155" z="12155" />
|
||||
<loc id="2" x="-206945" y="246788" z="12213" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 21 -> 22 -->
|
||||
<map id="65">
|
||||
<loc id="1" x="-79225" y="-218779" z="5176" />
|
||||
<loc id="2" x="-79748" y="-217616" z="4760" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 22 -> 23 -->
|
||||
<map id="66">
|
||||
<loc id="1" x="-82213" y="-219036" z="5280" />
|
||||
<loc id="2" x="-83169" y="-218823" z="5208" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 23 -> 24 -->
|
||||
<map id="67">
|
||||
<loc id="1" x="-86907" y="-218255" z="6290" />
|
||||
<loc id="2" x="-86150" y="-217250" z="5872" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 24 -> 25 -->
|
||||
<map id="68">
|
||||
<loc id="1" x="-86810" y="-215997" z="6296" />
|
||||
<loc id="2" x="-86570" y="-214902" z="6344" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 25 -> 26 -->
|
||||
<map id="69">
|
||||
<loc id="1" x="-87748" y="-210937" z="7055" />
|
||||
<loc id="2" x="-87191" y="-210129" z="6984" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 26 -> 27 -->
|
||||
<map id="70">
|
||||
<loc id="1" x="-84473" y="-207277" z="8145" />
|
||||
<loc id="2" x="-83950" y="-208428" z="7728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 27 -> 28 -->
|
||||
<map id="71">
|
||||
<loc id="1" x="-81572" y="-207061" z="8248" />
|
||||
<loc id="2" x="-80608" y="-207264" z="8176" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 28 -> 29 -->
|
||||
<map id="72">
|
||||
<loc id="1" x="-76906" y="-208670" z="9255" />
|
||||
<loc id="2" x="-77674" y="-209675" z="8840" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 29 -> 30 -->
|
||||
<map id="73">
|
||||
<loc id="1" x="-77002" y="-210933" z="9256" />
|
||||
<loc id="2" x="-77231" y="-212044" z="9312" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 30 -> 31 -->
|
||||
<map id="74">
|
||||
<loc id="1" x="-76000" y="-215820" z="10280" />
|
||||
<loc id="2" x="-76542" y="-216618" z="10200" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 31 -> 32 -->
|
||||
<map id="75">
|
||||
<loc id="1" x="-79225" y="-218778" z="11366" />
|
||||
<loc id="2" x="-79754" y="-217624" z="10952" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 32 -> 33 -->
|
||||
<map id="76">
|
||||
<loc id="1" x="-82216" y="-219042" z="11468" />
|
||||
<loc id="2" x="-83160" y="-218833" z="11392" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 33 -> 34 -->
|
||||
<map id="77">
|
||||
<loc id="1" x="-86920" y="-218259" z="12474" />
|
||||
<loc id="2" x="-86158" y="-217262" z="12058" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 34 -> 35 -->
|
||||
<map id="78">
|
||||
<loc id="1" x="-86692" y="-216159" z="12480" />
|
||||
<loc id="2" x="-86572" y="-214918" z="12536" />
|
||||
</map>
|
||||
<!-- Ecnahnted Valley to East/West Enchanted Valley Side -->
|
||||
<map id="79">
|
||||
<selector id="0" x="113562" y="46888" z="-4640">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<html><body>Resed:<br>
|
||||
The Dimensional Warp was created when the energy, which brought Faeron to the Material Realm from the Wind Spirit Realm, accumulated in one place. Only a party of <font color="LEVEL">4 or less</font> and at <font color="LEVEL">Lv. 99</font> may enter. Each team requires at least <font color="LEVEL">3 Warp Crystals</font>.<br>
|
||||
Rare bracelets and fragments of an ancient tome can be found there. Do you want to go there?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap enterInstance">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need a Warp Crystal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 909">"I want to level up my Dimensional Bracelet."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 908">"I want to add abilities to my Dimensional Bracelet."</Button>
|
||||
|
2622
L2J_Mobius_3.0_Helios/dist/game/data/instances/DimensionalWrap.xml
vendored
Normal file
2622
L2J_Mobius_3.0_Helios/dist/game/data/instances/DimensionalWrap.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975-01.html
vendored
Normal file
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975-01.html
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
<html><body>Einster:<br>
|
||||
Proof must be shown to go upstairs quiuckly. The level of Dimensional Warp you completed determines which floor you can go to.<br>
|
||||
Many accidents have happened on floors 31 and higher. To protect researchers, we are investigation those floors. For now, <font color="LEVEL">I can send you up to the 26th floor.</font><br>
|
||||
Ah, you must <font color="LEVEL">determine how many Warp Crystals you will pay</font> before asking me to send you upstairs. Which floor do you want to go?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_6_f">"Send me to 6F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_11_f">"Send me to 11F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_16_f">"Send me to 16F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_21_f">"Send me to 21F"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_26_f">"Send me to 26F"</Button>
|
||||
</body></html>
|
3
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975-02.html
vendored
Normal file
3
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975-02.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Einster:<br>
|
||||
You haven't paid Warp Crystals. I can't send you upstairs.
|
||||
</body></html>
|
4
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975-03.html
vendored
Normal file
4
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Einster:<br>
|
||||
You didn't give me the number of Warp Crystals you promised.<br1>
|
||||
Each member of the party must have <font color="LEVEL">%count% Warp Crystals</font>
|
||||
</body></html>
|
6
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975-04.html
vendored
Normal file
6
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975-04.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Einster:<br>
|
||||
You made it all the way here. Did you find ani Imps?<br>
|
||||
You didn't uncover all the secrets yet. Secrets also exist in Abyssal Space. No explorers dared to go there yet.<br>
|
||||
Please find out those secrets!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap jump_location">"Sure, sure. Let me move on"</Button>
|
||||
</body></html>
|
9
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975-05.html
vendored
Normal file
9
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975-05.html
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<html><body>Einster:<br>
|
||||
There's someone who has not met the quest completion requirements, so I cannot send you.<br>
|
||||
Check the list below to see which floor you can go to.<br><br>
|
||||
Floor 6: Complete The Dimensional Warp, Part 1<br><br>
|
||||
Floor 11: Complete The Dimensional Warp, Part 2<br><br>
|
||||
Floor 16: Complete The Dimensional Warp, Part 3<br><br>
|
||||
Floor 21: Complete The Dimensional Warp, Part 4<br><br>
|
||||
Floor 26: Complete The Dimensional Warp, Part 5<br><br>
|
||||
</body></html>
|
12
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975.html
vendored
Normal file
12
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/33975.html
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
<html><body>Einster:<br>
|
||||
I was first one to explore Dimensional Wrap. I heard that the imps here carry materials we could use -- rare books, things to enchant bracelets with, and the like.<br>
|
||||
The Expeditioners have discovered that the probability of imps appearing increases with our use of Warp Crystals, but we have to use a lot to even think about getting up there.<br>
|
||||
All members of the team should carry Warp Crystals. I'll divide them up according to the number in your group.<br>
|
||||
I recently discovered the key to going upstairs directly. If you want, I can send you there.<br>
|
||||
Okay, let's get started.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 12_warp_crystals">"I'll use 12 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 240_warp_crystals">"I'll use 240 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 1200_warp_crystals">"I'll use 1200 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 33975-01.html">"I want to go upstairs directly."</Button>
|
||||
</body></html>
|
77
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/DimensionalArchon.java
vendored
Normal file
77
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/DimensionalArchon.java
vendored
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Dimensional Archon AI
|
||||
* @author Gigi
|
||||
* @date 2018-09-08 - [18:09:02]
|
||||
*/
|
||||
public class DimensionalArchon extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int DEMINSIONAL_ARCHON = 23469;
|
||||
private static final int UNWORDLY_ARCHON = 23475;
|
||||
private static final int ABYSSAL_ARCHON = 23482;
|
||||
|
||||
private static final NpcStringId[] ARCHON_MSG =
|
||||
{
|
||||
NpcStringId.DO_YOU_KNOW_WHO_IT_IS_THAT_YOU_FACE_IT_IS_BEST_THAT_YOU_RUN_NOW,
|
||||
NpcStringId.LOOK_INTO_MY_EYES_AND_SEE_WHAT_COUNTLESS_OTHERS_HAVE_SEEN_BEFORE_THEIR_DEATH,
|
||||
NpcStringId.I_COMMEND_YOUR_TENACITY_IN_COMING_THIS_FAR_BUT_NOW_IT_ENDS,
|
||||
NpcStringId.DO_YOU_SEE_THIS_SWORD_THE_LIGHT_THAT_SCREAMS_WITH_THE_LIFE_OF_THOSE_IT_HAS_KILLED,
|
||||
NpcStringId.I_WILL_SHOW_YOU_WHAT_TRUE_POWER_IS,
|
||||
NpcStringId.YOU_WILL_NEED_TO_SURPASS_ME_EVENTUALLY_BUT_DON_T_FORGET_KNOWING_HOW_TO_FLEE_IS_AN_IMPORTANT_PART_OF_BATTLE
|
||||
};
|
||||
|
||||
public DimensionalArchon()
|
||||
{
|
||||
super();
|
||||
addSpawnId(DEMINSIONAL_ARCHON, UNWORDLY_ARCHON, ABYSSAL_ARCHON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("NPC_SHOUT"))
|
||||
{
|
||||
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), ARCHON_MSG[getRandom(ARCHON_MSG.length)]));
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setShowSummonAnimation(true);
|
||||
startQuestTimer("NPC_SHOUT", 2000, npc, null);
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalArchon();
|
||||
}
|
||||
}
|
169
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/DimensionalTrap.java
vendored
Normal file
169
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/DimensionalTrap.java
vendored
Normal file
@ -0,0 +1,169 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Dimensional Trap's AI
|
||||
* @author Gigi
|
||||
* @date 2018-09-07 - [17:39:04]
|
||||
*/
|
||||
public class DimensionalTrap extends AbstractNpcAI
|
||||
{
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_1 = 19556; // Debuff trap, power 1
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_2 = 19557; // Debuff trap, power 2
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_3 = 19558; // Debuff trap, power 3
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_1 = 19559; // Damage trap, power 1
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_2 = 19560; // Damage trap, power 2
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_3 = 19561; // Damage trap, power 3
|
||||
private static final int DIMENSIONAL_HEAL_LIGHT = 19562; // Heal Trap
|
||||
// skill
|
||||
private static final SkillHolder TRAP_HOLD = new SkillHolder(16409, 1);
|
||||
private static final SkillHolder TRAP_ARIALL_YOKE = new SkillHolder(16410, 1);
|
||||
private static final SkillHolder TRAP_STUN = new SkillHolder(16411, 1);
|
||||
private static final SkillHolder TRAP_POYSON = new SkillHolder(16413, 1);
|
||||
private static final SkillHolder PEACE_ZONE_CURE = new SkillHolder(16414, 1);
|
||||
|
||||
private int _type;
|
||||
|
||||
public DimensionalTrap()
|
||||
{
|
||||
super();
|
||||
addSpawnId(DIMENSIONAL_DEBUFF_TRAP_1, DIMENSIONAL_DEBUFF_TRAP_2, DIMENSIONAL_DEBUFF_TRAP_3, DIMENSIONAL_DEMAGE_TRAP_1, DIMENSIONAL_DEMAGE_TRAP_2, DIMENSIONAL_DEMAGE_TRAP_3, DIMENSIONAL_HEAL_LIGHT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (npc != null)
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "debuff_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast((getRandom(10) < 5) ? TRAP_HOLD.getSkill() : TRAP_ARIALL_YOKE.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("debuff_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "demage_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast((getRandom(10) < 5) ? TRAP_STUN.getSkill() : TRAP_POYSON.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("demage_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "heal_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast(PEACE_ZONE_CURE.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("heal_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setIsInvul(true);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case DIMENSIONAL_DEBUFF_TRAP_1:
|
||||
{
|
||||
npc.setDisplayEffect(1);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 50;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEBUFF_TRAP_2:
|
||||
{
|
||||
npc.setDisplayEffect(2);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 100;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEBUFF_TRAP_3:
|
||||
{
|
||||
npc.setDisplayEffect(3);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_1:
|
||||
{
|
||||
npc.setDisplayEffect(4);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 50;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_2:
|
||||
{
|
||||
npc.setDisplayEffect(5);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 100;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_3:
|
||||
{
|
||||
npc.setDisplayEffect(6);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_HEAL_LIGHT:
|
||||
{
|
||||
npc.setDisplayEffect(7);
|
||||
startQuestTimer("heal_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalTrap();
|
||||
}
|
||||
}
|
676
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/DimensionalWrap.java
vendored
Normal file
676
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/DimensionalWrap.java
vendored
Normal file
@ -0,0 +1,676 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import com.l2jmobius.commons.util.CommonUtil;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.SkillData;
|
||||
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||
import com.l2jmobius.gameserver.model.L2Party;
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
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.instancezone.Instance;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.Earthquake;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
/**
|
||||
* Dimensional Wrap instance
|
||||
* @URL https://l2wiki.com/Dimensional_Warp
|
||||
* @Video https://www.youtube.com/watch?v=hOnzk0ELwIg
|
||||
* @author Gigi
|
||||
* @date 2018-09-04 - [14:33:31]
|
||||
*/
|
||||
public class DimensionalWrap extends AbstractInstance
|
||||
{
|
||||
// NPCs
|
||||
private static final int RESED = 33974;
|
||||
private static final int EINSTER = 33975;
|
||||
// Monsters
|
||||
private static final int DEMINSIONAL_INVISIBLE_FRAGMENT = 19564;
|
||||
private static final int SALAMANDRA_GENERATOR = 19563;
|
||||
private static final int SALAMANDRA_GENERATOR_DUMMY = 900112;
|
||||
private static final int DIMENSIONAL_SALAMANDRA = 23466;
|
||||
private static final int UNWORDLY_SALAMANDER = 23473;
|
||||
private static final int DIMENSIONAL_IMP = 19553;
|
||||
private static final int UNWORDLY_IMP = 19554;
|
||||
private static final int ABYSSAL_IMP = 19555;
|
||||
private static final int ABYSSAL_MAKKUM = 26090;
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
23462, // Dimensional Orc Butcher
|
||||
23463, // Dimensional Orc Hunter
|
||||
23464, // Dimensional Shaman
|
||||
23465, // Dimensional Bugbear
|
||||
23467, // Dimensional Binder
|
||||
23468, // Dimensional Demon
|
||||
23469, // Dimensional Archon
|
||||
23470, // Unworldly Demon
|
||||
23471, // Unworldly Etin
|
||||
23472, // Unworldly Shaman
|
||||
23474, // Unworldly Golem
|
||||
23475, // Unworldly Archon
|
||||
23476, // Unworldly Harpy
|
||||
23477, // Abyssal Shaman
|
||||
23478, // Abyssal Berserker
|
||||
23480, // Abyssal Harpy
|
||||
23481, // Abyssal Binder
|
||||
23482, // Abyssal Archon
|
||||
23483 // Abyssal Golem
|
||||
};
|
||||
private static final int[] TRAPS =
|
||||
{
|
||||
19556, // Debuff trap, power 1
|
||||
19557, // Debuff trap, power 2
|
||||
19558, // Debuff trap, power 3
|
||||
19559, // Damage trap, power 1
|
||||
19560, // Damage trap, power 2
|
||||
19561, // Damage trap, power 3
|
||||
19562 // Heal Trap
|
||||
};
|
||||
// Location
|
||||
private static final Location TELEPORTS = new Location(-76136, -216216, 4040);
|
||||
private static final Location FIRST_TELEPORT = new Location(-219544, 248776, 3360);
|
||||
private static final Location SECOND_TELEPORT = new Location(-206756, 242009, 6584);
|
||||
private static final Location THRID_TELEPORT = new Location(-219813, 248484, 9928);
|
||||
private static final Location FOURTH_TELEPORT = new Location(-87191, -210129, 6984);
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 250;
|
||||
private static final int DIMENSIONAL_DARK_FORCES = 16415;
|
||||
private static final int WARP_CRYSTAL = 39597;
|
||||
protected double _chance = 0;
|
||||
protected int _count = 0;
|
||||
public int _skilllevel = 1;
|
||||
public int _worldState = 0;
|
||||
protected ScheduledFuture<?> _debufTask;
|
||||
|
||||
public DimensionalWrap()
|
||||
{
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(RESED);
|
||||
addTalkId(EINSTER);
|
||||
addKillId(MONSTERS);
|
||||
addKillId(ABYSSAL_MAKKUM);
|
||||
addSpawnId(SALAMANDRA_GENERATOR, DEMINSIONAL_INVISIBLE_FRAGMENT, SALAMANDRA_GENERATOR_DUMMY);
|
||||
addFirstTalkId(EINSTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (event.equals("enterInstance"))
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "no_awakened.html";
|
||||
}
|
||||
else if (!player.isInParty())
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
}
|
||||
else if (player.isInParty())
|
||||
{
|
||||
if (!player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
}
|
||||
else
|
||||
{
|
||||
final L2Party party = player.getParty();
|
||||
final List<L2PcInstance> members = party.getMembers();
|
||||
for (L2PcInstance member : members)
|
||||
{
|
||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
enterInstance(member, npc, TEMPLATE_ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "33975-01.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "12_warp_crystals":
|
||||
{
|
||||
_chance = 0.3;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 12;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 6;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 4;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 3;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "240_warp_crystals":
|
||||
{
|
||||
_chance = 0.6;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 240;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 120;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 80;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 60;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "1200_warp_crystals":
|
||||
{
|
||||
_chance = 0.9;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 1200;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 600;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 400;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 300;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_6_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0)
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 5)
|
||||
{
|
||||
world.setStatus(5);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(FIRST_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_11_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 2))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 10)
|
||||
{
|
||||
world.setStatus(10);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(SECOND_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_16_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 3))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 15)
|
||||
{
|
||||
world.setStatus(15);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(THRID_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_21_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 4))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 20)
|
||||
{
|
||||
world.setStatus(20);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(TELEPORTS, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_26_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 5))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 25)
|
||||
{
|
||||
world.setStatus(25);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(FOURTH_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "jump_location":
|
||||
{
|
||||
player.teleToLocation(TELEPORTS, world.getTemplateId());
|
||||
break;
|
||||
}
|
||||
case "SALAMANDRA_SPAWN":
|
||||
case "SALAMANDRA_SPAWN_DUMMY":
|
||||
{
|
||||
if (getRandom(100) < (_worldState / 2))
|
||||
{
|
||||
final L2Npc salamandra = addSpawn(_worldState < 17 ? DIMENSIONAL_SALAMANDRA : UNWORDLY_SALAMANDER, npc, false, 0, false, world.getId());
|
||||
salamandra.setRunning();
|
||||
L2World.getInstance().forEachVisibleObjectInRange(salamandra, L2PcInstance.class, 2500, p ->
|
||||
{
|
||||
if ((p != null) && !p.isDead())
|
||||
{
|
||||
addAttackPlayerDesire(salamandra, p);
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "START_STAGE":
|
||||
{
|
||||
world.setStatus(world.getStatus() + 1);
|
||||
_worldState = world.getStatus();
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.DIMENSIONAL_WARP_LV_S1, ExShowScreenMessage.TOP_CENTER, 10000, true, String.valueOf(world.getStatus())));
|
||||
startQuestTimer("FIRST_SPAWN", 1500, npc, null);
|
||||
break;
|
||||
}
|
||||
case "FIRST_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_first_spawn");
|
||||
world.spawnGroup(_worldState + "_trap_spawn");
|
||||
startQuestTimer("SECOND_SPAWN", 40000, npc, null);
|
||||
_debufTask = ThreadPool.scheduleAtFixedRate(() ->
|
||||
{
|
||||
if ((_worldState > 0) && (_worldState <= 11))
|
||||
{
|
||||
_skilllevel = 1;
|
||||
}
|
||||
else if ((_worldState > 11) && (_worldState <= 20))
|
||||
{
|
||||
_skilllevel = 2;
|
||||
}
|
||||
else if ((_worldState > 20) && (_worldState <= 30))
|
||||
{
|
||||
_skilllevel = 3;
|
||||
}
|
||||
else if (_worldState > 30)
|
||||
{
|
||||
_skilllevel = 4;
|
||||
}
|
||||
final Skill skill = SkillData.getInstance().getSkill(DIMENSIONAL_DARK_FORCES, _skilllevel);
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
if ((p != null) && !p.isDead())
|
||||
{
|
||||
skill.applyEffects(p, p);
|
||||
}
|
||||
}
|
||||
}, 5000, 10000);
|
||||
break;
|
||||
}
|
||||
case "SECOND_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_second_spawn");
|
||||
startQuestTimer("THRID_SPAWN", 40000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "THRID_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_thred_spawn");
|
||||
break;
|
||||
}
|
||||
case "CHANGE_LOCATION":
|
||||
{
|
||||
world.getAliveNpcs(TRAPS).forEach(t -> t.deleteMe());
|
||||
world.spawnGroup(_worldState + "_trap_spawn");
|
||||
startQuestTimer("CHANGE_LOCATION", 60000 - (_worldState * 1430), npc, null);
|
||||
break;
|
||||
}
|
||||
case "SWITCH_STAGE":
|
||||
{
|
||||
if (world.getAliveNpcs(MONSTERS).isEmpty())
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_SURROUNDING_ENERGY_HAS_DISSIPATED, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
world.broadcastPacket(new Earthquake(npc, 50, 5));
|
||||
world.openCloseDoor(world.getTemplateParameters().getInt(_worldState + "_st_door"), true);
|
||||
Clean();
|
||||
if (_worldState < 35)
|
||||
{
|
||||
startQuestTimer("NEXT_STAGE", 5000, npc, null);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "NEXT_STAGE":
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.S1_SECONDS_HAVE_BEEN_ADDED_TO_THE_INSTANCED_ZONE_DURATION, ExShowScreenMessage.TOP_CENTER, 5000, true, String.valueOf(180)));
|
||||
world.setDuration((int) ((world.getRemainingTime() / 60000) + 3));
|
||||
startQuestTimer("START_STAGE", 8000, npc, null);
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
if (CommonUtil.contains(MONSTERS, npc.getId()) && (getRandom(100) < _chance))
|
||||
{
|
||||
if (_worldState < 9)
|
||||
{
|
||||
addSpawn(DIMENSIONAL_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.DIMENSIONAL_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
else if ((_worldState >= 9) && (_worldState < 20))
|
||||
{
|
||||
addSpawn(UNWORDLY_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.UNWORLDLY_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
else if (_worldState >= 20)
|
||||
{
|
||||
addSpawn(ABYSSAL_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ABYSSAL_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
}
|
||||
else if (npc.getId() == ABYSSAL_MAKKUM)
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_INSTANCED_ZONE_WILL_CLOSE_SOON, ExShowScreenMessage.TOP_CENTER, 10000, true));
|
||||
world.finishInstance(3);
|
||||
Clean();
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (_worldState == 20)
|
||||
{
|
||||
return "33975-04.html";
|
||||
}
|
||||
return "33975.html";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case SALAMANDRA_GENERATOR:
|
||||
{
|
||||
startQuestTimer("SALAMANDRA_SPAWN", 25000, npc, null, true);
|
||||
startQuestTimer("CHANGE_LOCATION", 60000 - (_worldState * 1300), npc, null);
|
||||
break;
|
||||
}
|
||||
case SALAMANDRA_GENERATOR_DUMMY:
|
||||
{
|
||||
startQuestTimer("SALAMANDRA_SPAWN_DUMMY", 20000, npc, null, true);
|
||||
break;
|
||||
}
|
||||
case DEMINSIONAL_INVISIBLE_FRAGMENT:
|
||||
{
|
||||
startQuestTimer("SWITCH_STAGE", 5000, npc, null, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public void CheckCrystallCount(Instance world, L2PcInstance player, L2Npc npc)
|
||||
{
|
||||
boolean canStart = true;
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
if (p.getInventory().getInventoryItemCount(WARP_CRYSTAL, -1) < _count)
|
||||
{
|
||||
for (L2PcInstance ps : world.getPlayers())
|
||||
{
|
||||
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
|
||||
packet.setHtml(getHtm(ps, "33975-03.html"));
|
||||
packet.replace("%count%", Integer.toString(_count));
|
||||
ps.sendPacket(packet);
|
||||
ps.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_S_ITEM_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addString(ps.getName()));
|
||||
canStart = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!canStart || (_worldState != 0))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
startQuestTimer("START_STAGE", 1000, npc, null);
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
takeItems(p, WARP_CRYSTAL, _count);
|
||||
}
|
||||
}
|
||||
|
||||
protected void Clean()
|
||||
{
|
||||
cancelQuestTimers("SWITCH_STAGE");
|
||||
cancelQuestTimers("SALAMANDRA_SPAWN");
|
||||
cancelQuestTimers("SALAMANDRA_SPAWN_DUMMY");
|
||||
cancelQuestTimers("CHANGE_LOCATION");
|
||||
if (_debufTask != null)
|
||||
{
|
||||
_debufTask.cancel(false);
|
||||
_debufTask = null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalWrap();
|
||||
}
|
||||
}
|
3
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/no_awakened.html
vendored
Normal file
3
L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/DimensionalWrap/no_awakened.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Resed:<br>
|
||||
Only those who have completed the 3rd Liberation or have Awakened can enter.
|
||||
</body></html>
|
@ -1023,7 +1023,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="19556" level="99" type="L2Npc" name="Dimensional Trap">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="trap_skill_type" value="1" />
|
||||
<skill name="trap_skill" id="10806" level="2" />
|
||||
</parameters>
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@ -1035,7 +1038,12 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<skillList>
|
||||
<skill id="10806" level="2" /> <!-- Frost Trap -->
|
||||
</skillList>
|
||||
<exCrtEffect>true</exCrtEffect>
|
||||
<ai aggroRange="100" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1054,7 +1062,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1073,7 +1081,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1092,7 +1100,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1111,7 +1119,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1130,7 +1138,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1149,7 +1157,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -1168,7 +1176,7 @@
|
||||
<attack physical="1950.2231755595" magical="1331.5869440987" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="405.85106382979" magical="297.0297029703" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="1" />
|
||||
<height normal="1" />
|
||||
@ -1187,7 +1195,7 @@
|
||||
<attack physical="1950.2231755595" magical="1331.5869440987" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="405.85106382979" magical="297.0297029703" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="0.1" />
|
||||
<height normal="0.1" />
|
||||
|
@ -676,6 +676,7 @@
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="7276" sp="1" />
|
||||
<equipment rhand="78" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="1183" hpRegen="4.5" mp="610" mpRegen="1.8" />
|
||||
<speed>
|
||||
@ -703,6 +704,7 @@
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="7276" sp="1" />
|
||||
<equipment rhand="78" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="1183" hpRegen="4.5" mp="610" mpRegen="1.8" />
|
||||
<speed>
|
||||
@ -820,6 +822,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="331748" sp="79" />
|
||||
<equipment rhand="13978" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="10385" hpRegen="8.5" mp="1708" mpRegen="3" />
|
||||
@ -913,6 +916,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="440867" sp="105" />
|
||||
<equipment rhand="35708" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="11506" hpRegen="8.5" mp="1777" mpRegen="3" />
|
||||
@ -960,6 +964,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="440867" sp="105" />
|
||||
<equipment rhand="13979" lhand="13980" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="11506" hpRegen="8.5" mp="1777" mpRegen="3" />
|
||||
@ -1189,6 +1194,7 @@
|
||||
<race>DRAGON</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="440867" sp="105" />
|
||||
<equipment rhand="35708" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="11506" hpRegen="8.5" mp="1777" mpRegen="3" />
|
||||
@ -1329,6 +1335,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="269969" sp="64" />
|
||||
<equipment rhand="15302" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="9870" hpRegen="8.5" mp="1674" mpRegen="3" />
|
||||
@ -1420,6 +1427,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="331748" sp="79" />
|
||||
<equipment rhand="221" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="10385" hpRegen="8.5" mp="1708" mpRegen="3" />
|
||||
@ -1606,6 +1614,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="449407" sp="107" />
|
||||
<equipment rhand="78" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<!-- L2 Wiki Update date: 2017-09-12 -->
|
||||
<vitals hp="10930" hpRegen="8.5" mp="1743" mpRegen="3" />
|
||||
@ -2415,10 +2424,13 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23462" level="99" type="L2Monster" name="Dimensional Orc Butcher">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="83739744" sp="301463" />
|
||||
<equipment rhand="38425" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="376398" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
@ -2443,6 +2455,11 @@
|
||||
<skill id="16365" level="1" /> <!-- Dimensional Defense Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="34.1799999999999" /> <!-- Warp Crystal -->
|
||||
@ -2458,10 +2475,13 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23463" level="99" type="L2Monster" name="Dimensional Orc Hunter" title="Scout">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
<equipment rhand="38426" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="752796" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
@ -2485,6 +2505,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16380" level="1" /> <!-- Dimensional Recoil Shot -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.00558631842" /> <!-- Warp Crystal -->
|
||||
@ -2500,7 +2525,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23464" level="99" type="L2Monster" name="Dimensional Shaman" title="Watcher">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
@ -2531,6 +2558,11 @@
|
||||
<skill id="16372" level="1" /> <!-- Dimensional Spike -->
|
||||
<skill id="16381" level="1" /> <!-- Dimensional Shield -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.075753712167" /> <!-- Warp Crystal -->
|
||||
@ -2546,10 +2578,13 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23465" level="99" type="L2Monster" name="Dimensional Bugbear">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>GIANT</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
<equipment rhand="160" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="752796" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
@ -2575,6 +2610,11 @@
|
||||
<skill id="16375" level="1" /> <!-- Dimensional Hammer -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.049789683201" /> <!-- Warp Crystal -->
|
||||
@ -2590,7 +2630,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23466" level="99" type="L2Monster" name="Dimensional Salamander" title="Hunter">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>ELEMENTAL</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@ -2627,7 +2669,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23467" level="99" type="L2Monster" name="Dimensional Binder">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="125609616" sp="452194" />
|
||||
@ -2657,6 +2701,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="98.072868141029" /> <!-- Warp Crystal -->
|
||||
@ -2672,7 +2721,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23468" level="99" type="L2Monster" name="Dimensional Demon">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="83739744" sp="301463" />
|
||||
@ -2703,6 +2754,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="33.3200000000001" /> <!-- Warp Crystal -->
|
||||
@ -2718,7 +2774,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23469" level="99" type="L2Monster" name="Dimensional Archon" title="Slaughterer">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="251219232" sp="904389" />
|
||||
@ -2751,6 +2809,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="2" max="2" chance="96.195469193401" /> <!-- Warp Crystal -->
|
||||
@ -3300,6 +3363,7 @@
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="251219232" sp="904389" />
|
||||
<equipment rhand="39719" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="1355033" hpRegen="10.5" mp="23550" mpRegen="3.6" />
|
||||
<speed>
|
||||
|
@ -91,55 +91,237 @@
|
||||
<skill id="16409" toLevel="3" name="Trap Hold">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill4047</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>ROOT_MAGICALLY</abnormalType>
|
||||
<abnormalVisualEffect>ROOT</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>10</abnormalTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>80</activateRate>
|
||||
<trait>HOLD</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="Root" />
|
||||
<effect name="DefenceTrait">
|
||||
<HOLD>100</HOLD>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16410" toLevel="3" name="Trap Aerial Yoke">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill11050</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>AIRBIND</abnormalType>
|
||||
<abnormalVisualEffect>AIRBIND</abnormalVisualEffect>
|
||||
<abnormalResists>STUN;TURN_FLEE</abnormalResists>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>80</activateRate>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="AirBind" />
|
||||
<effect name="BlockActions">
|
||||
<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912</allowedSkills>
|
||||
</effect>
|
||||
<effect name="DefenceTrait">
|
||||
<HOLD>100</HOLD>
|
||||
<DERANGEMENT>100</DERANGEMENT>
|
||||
<SHOCK>100</SHOCK>
|
||||
<KNOCKBACK>100</KNOCKBACK>
|
||||
<CHANGEBODY>100</CHANGEBODY>
|
||||
<KNOCKDOWN>100</KNOCKDOWN>
|
||||
<SLEEP>100</SLEEP>
|
||||
<AIRBIND>100</AIRBIND>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16411" toLevel="3" name="Trap Stun">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill0100</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>STUN</abnormalType>
|
||||
<abnormalVisualEffect>STUN</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<trait>SHOCK</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="BlockActions" />
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16412" toLevel="3" name="Trap Petrify">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill4111</icon>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>10</abnormalTime>
|
||||
<affectRange>150</affectRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="16413" toLevel="3" name="Trap Poison">
|
||||
<!-- Poisoned and losing $s1,$s2 HP/second. -->
|
||||
<icon>icon.skill4035</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<subordinationAbnormalType>POISON</subordinationAbnormalType>
|
||||
<abnormalType>POISON</abnormalType>
|
||||
<abnormalVisualEffect>DOT_POISON</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<trait>POISON</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="DamOverTime">
|
||||
<power>1000</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16414" toLevel="1" name="Peace Zone Cure">
|
||||
<!-- Recover 10% of Max HP and 30% of Max MP of self and everyone within 200 grids. Cooldown is 10 sec. -->
|
||||
<icon>icon.skill0000</icon>
|
||||
<operateType>A1</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<affectRange>200</affectRange>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="HealPercent">
|
||||
<power>10</power>
|
||||
</effect>
|
||||
</effects>
|
||||
<effect name="ManaHealPercent">
|
||||
<power>30</power>
|
||||
</effect>
|
||||
</skill>
|
||||
<skill id="16415" toLevel="4" name="Dimensional Dark Forces">
|
||||
<!-- P. Atk - $s1, M. Atk. - $s2, and P. Critical Rate - $s3, M. Critical Rate - $s4. -->
|
||||
<icon>icon.skill1298</icon>
|
||||
<abnormalLvl>
|
||||
<value level="1">1</value>
|
||||
<value level="2">2</value>
|
||||
<value level="3">3</value>
|
||||
<value level="4">4</value>
|
||||
</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">5</value>
|
||||
<value level="2">5</value>
|
||||
<value level="3">10</value>
|
||||
<value level="4">10</value>
|
||||
</abnormalTime>
|
||||
<operateType>A2</operateType>
|
||||
<rideState>NONE</rideState>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<isDebuff>1</isDebuff>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<targetType>SELF</targetType>
|
||||
<effects>
|
||||
<effect name="PAtk">
|
||||
<amount>
|
||||
<value level="1">-4</value>
|
||||
<value level="2">-6</value>
|
||||
<value level="3">-8</value>
|
||||
<value level="3">-10</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MAtk">
|
||||
<amount>
|
||||
<value level="1">-4</value>
|
||||
<value level="2">-6</value>
|
||||
<value level="3">-8</value>
|
||||
<value level="3">-10</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="CriticalRate">
|
||||
<amount>
|
||||
<value level="1">-5</value>
|
||||
<value level="2">-10</value>
|
||||
<value level="3">-20</value>
|
||||
<value level="3">-30</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MagicCriticalRate">
|
||||
<amount>
|
||||
<value level="1">-5</value>
|
||||
<value level="2">-10</value>
|
||||
<value level="3">-20</value>
|
||||
<value level="3">-30</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16416" toLevel="10" name="Bluff Resistance">
|
||||
<!-- Resistance to Bluff. -->
|
||||
|
@ -142,6 +142,172 @@
|
||||
<stat name="mapId" val="45" />
|
||||
<node X="-186154" Y="242838" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 1 -->
|
||||
<zone name="Sayune_46" type="SayuneZone" shape="Cylinder" minZ="400" maxZ="500" rad="80">
|
||||
<stat name="mapId" val="46" />
|
||||
<node X="-208193" Y="240585" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 2 -->
|
||||
<zone name="Sayune_47" type="SayuneZone" shape="Cylinder" minZ="1100" maxZ="1200" rad="80">
|
||||
<stat name="mapId" val="47" />
|
||||
<node X="-211300" Y="238768" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 3 -->
|
||||
<zone name="Sayune_48" type="SayuneZone" shape="Cylinder" minZ="1600" maxZ="1700" rad="80">
|
||||
<stat name="mapId" val="48" />
|
||||
<node X="-216356" Y="239680" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 4 -->
|
||||
<zone name="Sayune_49" type="SayuneZone" shape="Cylinder" minZ="2250" maxZ="2350" rad="80">
|
||||
<stat name="mapId" val="49" />
|
||||
<node X="-219722" Y="241510" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 5 -->
|
||||
<zone name="Sayune_50" type="SayuneZone" shape="Cylinder" minZ="2700" maxZ="2800" rad="80">
|
||||
<stat name="mapId" val="50" />
|
||||
<node X="-219116" Y="246748" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 6 -->
|
||||
<zone name="Sayune_51" type="SayuneZone" shape="Cylinder" minZ="3350" maxZ="3450" rad="80">
|
||||
<stat name="mapId" val="51" />
|
||||
<node X="-218132" Y="250177" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 7 -->
|
||||
<zone name="Sayune_52" type="SayuneZone" shape="Cylinder" minZ="4100" maxZ="4200" rad="80">
|
||||
<stat name="mapId" val="52" />
|
||||
<node X="-215046" Y="251965" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 8 -->
|
||||
<zone name="Sayune_53" type="SayuneZone" shape="Cylinder" minZ="4550" maxZ="4650" rad="80">
|
||||
<stat name="mapId" val="53" />
|
||||
<node X="-209957" Y="251067" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 9 -->
|
||||
<zone name="Sayune_54" type="SayuneZone" shape="Cylinder" minZ="5200" maxZ="5300" rad="80">
|
||||
<stat name="mapId" val="54" />
|
||||
<node X="-206602" Y="249250" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 10 -->
|
||||
<zone name="Sayune_55" type="SayuneZone" shape="Cylinder" minZ="5550" maxZ="5800" rad="80">
|
||||
<stat name="mapId" val="55" />
|
||||
<node X="-206952" Y="243976" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 11 -->
|
||||
<zone name="Sayune_56" type="SayuneZone" shape="Cylinder" minZ="6500" maxZ="6750" rad="80">
|
||||
<stat name="mapId" val="56" />
|
||||
<node X="-208200" Y="240584" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 12 -->
|
||||
<zone name="Sayune_57" type="SayuneZone" shape="Cylinder" minZ="7220" maxZ="7460" rad="80">
|
||||
<stat name="mapId" val="57" />
|
||||
<node X="-211304" Y="238760" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 13 -->
|
||||
<zone name="Sayune_58" type="SayuneZone" shape="Cylinder" minZ="7700" maxZ="7900" rad="80">
|
||||
<stat name="mapId" val="58" />
|
||||
<node X="-216344" Y="239672" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 14 -->
|
||||
<zone name="Sayune_59" type="SayuneZone" shape="Cylinder" minZ="8350" maxZ="8555" rad="80">
|
||||
<stat name="mapId" val="59" />
|
||||
<node X="-219720" Y="241512" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 15 -->
|
||||
<zone name="Sayune_60" type="SayuneZone" shape="Cylinder" minZ="8780" maxZ="9000" rad="80">
|
||||
<stat name="mapId" val="60" />
|
||||
<node X="-219112" Y="246744" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 16 -->
|
||||
<zone name="Sayune_61" type="SayuneZone" shape="Cylinder" minZ="9800" maxZ="10000" rad="80">
|
||||
<stat name="mapId" val="61" />
|
||||
<node X="-218136" Y="250184" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 17 -->
|
||||
<zone name="Sayune_62" type="SayuneZone" shape="Cylinder" minZ="10520" maxZ="10790" rad="80">
|
||||
<stat name="mapId" val="62" />
|
||||
<node X="-215048" Y="251960" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 18 -->
|
||||
<zone name="Sayune_63" type="SayuneZone" shape="Cylinder" minZ="11000" maxZ="11200" rad="80">
|
||||
<stat name="mapId" val="63" />
|
||||
<node X="-209960" Y="251080" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 19 -->
|
||||
<zone name="Sayune_64" type="SayuneZone" shape="Cylinder" minZ="11650" maxZ="11850" rad="80">
|
||||
<stat name="mapId" val="64" />
|
||||
<node X="-206600" Y="249240" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 21 -->
|
||||
<zone name="Sayune_65" type="SayuneZone" shape="Cylinder" minZ="4000" maxZ="4100" rad="80">
|
||||
<stat name="mapId" val="65" />
|
||||
<node X="-77982" Y="-218040" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 22 -->
|
||||
<zone name="Sayune_66" type="SayuneZone" shape="Cylinder" minZ="4700" maxZ="4800" rad="80">
|
||||
<stat name="mapId" val="66" />
|
||||
<node X="-80696" Y="-219020" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 23 -->
|
||||
<zone name="Sayune_67" type="SayuneZone" shape="Cylinder" minZ="5200" maxZ="5300" rad="80">
|
||||
<stat name="mapId" val="67" />
|
||||
<node X="-85023" Y="-218047" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 24 -->
|
||||
<zone name="Sayune_68" type="SayuneZone" shape="Cylinder" minZ="5900" maxZ="6000" rad="80">
|
||||
<stat name="mapId" val="68" />
|
||||
<node X="-87828" Y="-217077" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 25 -->
|
||||
<zone name="Sayune_69" type="SayuneZone" shape="Cylinder" minZ="6300" maxZ="6400" rad="80">
|
||||
<stat name="mapId" val="69" />
|
||||
<node X="-86591" Y="-212083" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 26 -->
|
||||
<zone name="Sayune_70" type="SayuneZone" shape="Cylinder" minZ="7000" maxZ="7100" rad="80">
|
||||
<stat name="mapId" val="70" />
|
||||
<node X="-85764" Y="-208712" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 27 -->
|
||||
<zone name="Sayune_71" type="SayuneZone" shape="Cylinder" minZ="7700" maxZ="7800" rad="80">
|
||||
<stat name="mapId" val="71" />
|
||||
<node X="-83015" Y="-207015" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 28 -->
|
||||
<zone name="Sayune_72" type="SayuneZone" shape="Cylinder" minZ="8200" maxZ="8300" rad="80">
|
||||
<stat name="mapId" val="72" />
|
||||
<node X="-78759" Y="-208040" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 29 -->
|
||||
<zone name="Sayune_73" type="SayuneZone" shape="Cylinder" minZ="8800" maxZ="8900" rad="80">
|
||||
<stat name="mapId" val="73" />
|
||||
<node X="-76010" Y="-209839" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 30 -->
|
||||
<zone name="Sayune_74" type="SayuneZone" shape="Cylinder" minZ="9300" maxZ="9400" rad="80">
|
||||
<stat name="mapId" val="74" />
|
||||
<node X="-77242" Y="-214850" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 31 -->
|
||||
<zone name="Sayune_75" type="SayuneZone" shape="Cylinder" minZ="10200" maxZ="10256" rad="80">
|
||||
<stat name="mapId" val="75" />
|
||||
<node X="-77982" Y="-218036" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 32 -->
|
||||
<zone name="Sayune_76" type="SayuneZone" shape="Cylinder" minZ="10900" maxZ="11000" rad="80">
|
||||
<stat name="mapId" val="76" />
|
||||
<node X="-80697" Y="-219020" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 33 -->
|
||||
<zone name="Sayune_77" type="SayuneZone" shape="Cylinder" minZ="11400" maxZ="11500" rad="80">
|
||||
<stat name="mapId" val="77" />
|
||||
<node X="-85026" Y="-218044" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 34 -->
|
||||
<zone name="Sayune_78" type="SayuneZone" shape="Cylinder" minZ="12050" maxZ="12100" rad="80">
|
||||
<stat name="mapId" val="78" />
|
||||
<node X="-87828" Y="-217079" />
|
||||
</zone>
|
||||
<!-- Enchanted Valley -->
|
||||
<zone name="Sayune_79" type="SayuneZone" shape="Cylinder" minZ="-4700" maxZ="-4600" rad="100">
|
||||
<stat name="mapId" val="79" />
|
||||
<node X="113562" Y="46888" />
|
||||
|
@ -843,7 +843,7 @@ public final class Instance implements IIdentifiable, INamable
|
||||
}
|
||||
_allowed.forEach(player ->
|
||||
{
|
||||
if ((player != null))
|
||||
if (player != null)
|
||||
{
|
||||
InstanceManager.getInstance().setReenterPenalty(player.getObjectId(), getTemplateId(), time);
|
||||
if (player.isOnline())
|
||||
@ -1147,6 +1147,11 @@ public final class Instance implements IIdentifiable, INamable
|
||||
*/
|
||||
private void sendWorldDestroyMessage(int delay)
|
||||
{
|
||||
// Dimensional wrap does not show timer after 5 minutes.
|
||||
if (delay > 5)
|
||||
{
|
||||
return;
|
||||
}
|
||||
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THIS_INSTANT_ZONE_WILL_BE_TERMINATED_IN_S1_MINUTE_S_YOU_WILL_BE_FORCED_OUT_OF_THE_DUNGEON_WHEN_THE_TIME_EXPIRES);
|
||||
sm.addInt(delay);
|
||||
broadcastPacket(sm);
|
||||
|
@ -56,6 +56,7 @@ Ertheia:
|
||||
-Brooch system
|
||||
-Luck system
|
||||
-Auto fishing
|
||||
-Dimensional Warp
|
||||
|
||||
Infinite Odyssey:
|
||||
-Garden of Spirits
|
||||
|
@ -621,6 +621,171 @@
|
||||
<loc id="1" x="-186018" y="243468" z="2657" />
|
||||
<loc id="2" x="-186470" y="243500" z="2618" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 1 -> 2 -->
|
||||
<map id="46">
|
||||
<loc id="1" x="-209809" y="239024" z="1560" />
|
||||
<loc id="2" x="-210349" y="240190" z="1136" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 2 -> 3 -->
|
||||
<map id="47">
|
||||
<loc id="1" x="-213737" y="238586" z="1596" />
|
||||
<loc id="2" x="-214526" y="238900" z="1584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 3 -> 4 -->
|
||||
<map id="48">
|
||||
<loc id="1" x="-218797" y="240326" z="2670" />
|
||||
<loc id="2" x="-218050" y="241346" z="2248" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 4 -> 5 -->
|
||||
<map id="49">
|
||||
<loc id="1" x="-222958" y="241121" z="2386" />
|
||||
<loc id="2" x="-219093" y="243874" z="2728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 5 -> 6 -->
|
||||
<map id="50">
|
||||
<loc id="1" x="-219640" y="247868" z="3496" />
|
||||
<loc id="2" x="-219544" y="248776" z="3360" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 6 -> 7 -->
|
||||
<map id="51">
|
||||
<loc id="1" x="-216513" y="251722" z="4527" />
|
||||
<loc id="2" x="-215980" y="250563" z="4104" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 7 -> 8 -->
|
||||
<map id="52">
|
||||
<loc id="1" x="-212680" y="251576" z="4680" />
|
||||
<loc id="2" x="-211773" y="251821" z="4552" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 8 -> 9 -->
|
||||
<map id="53">
|
||||
<loc id="1" x="-207533" y="250419" z="5639" />
|
||||
<loc id="2" x="-208286" y="249412" z="5216" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 9 -> 10 -->
|
||||
<map id="54">
|
||||
<loc id="1" x="-204970" y="248587" z="6592" />
|
||||
<loc id="2" x="-206980" y="246782" z="5696" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 10 -> 11 -->
|
||||
<map id="55">
|
||||
<loc id="1" x="-206220" y="242808" z="6656" />
|
||||
<loc id="2" x="-206756" y="242009" z="6584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 11 -> 12 -->
|
||||
<map id="56">
|
||||
<loc id="1" x="-209814" y="239040" z="7752" />
|
||||
<loc id="2" x="-210343" y="240201" z="7328" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 12 -> 13 -->
|
||||
<map id="57">
|
||||
<loc id="1" x="-213566" y="238711" z="7848" />
|
||||
<loc id="2" x="-214510" y="238914" z="7776" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 13 -> 14 -->
|
||||
<map id="58">
|
||||
<loc id="1" x="-218793" y="240333" z="8860" />
|
||||
<loc id="2" x="-218034" y="241333" z="8440" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 14 -> 15 -->
|
||||
<map id="59">
|
||||
<loc id="1" x="-218699" y="242596" z="8859" />
|
||||
<loc id="2" x="-219093" y="243899" z="8912" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 15 -> 16 -->
|
||||
<map id="60">
|
||||
<loc id="1" x="-220117" y="247939" z="9954" />
|
||||
<loc id="2" x="-219563" y="248742" z="9880" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 16 -> 17 -->
|
||||
<map id="61">
|
||||
<loc id="1" x="-216516" y="251710" z="11052" />
|
||||
<loc id="2" x="-215980" y="250563" z="10624" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 17 -> 18 -->
|
||||
<map id="62">
|
||||
<loc id="1" x="-212765" y="252033" z="11144" />
|
||||
<loc id="2" x="-211808" y="251842" z="11072" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 18 -> 19 -->
|
||||
<map id="63">
|
||||
<loc id="1" x="-207530" y="250423" z="12159" />
|
||||
<loc id="2" x="-208304" y="249410" z="11736" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 19 -> 20 -->
|
||||
<map id="64">
|
||||
<loc id="1" x="-207627" y="248155" z="12155" />
|
||||
<loc id="2" x="-206945" y="246788" z="12213" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 21 -> 22 -->
|
||||
<map id="65">
|
||||
<loc id="1" x="-79225" y="-218779" z="5176" />
|
||||
<loc id="2" x="-79748" y="-217616" z="4760" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 22 -> 23 -->
|
||||
<map id="66">
|
||||
<loc id="1" x="-82213" y="-219036" z="5280" />
|
||||
<loc id="2" x="-83169" y="-218823" z="5208" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 23 -> 24 -->
|
||||
<map id="67">
|
||||
<loc id="1" x="-86907" y="-218255" z="6290" />
|
||||
<loc id="2" x="-86150" y="-217250" z="5872" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 24 -> 25 -->
|
||||
<map id="68">
|
||||
<loc id="1" x="-86810" y="-215997" z="6296" />
|
||||
<loc id="2" x="-86570" y="-214902" z="6344" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 25 -> 26 -->
|
||||
<map id="69">
|
||||
<loc id="1" x="-87748" y="-210937" z="7055" />
|
||||
<loc id="2" x="-87191" y="-210129" z="6984" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 26 -> 27 -->
|
||||
<map id="70">
|
||||
<loc id="1" x="-84473" y="-207277" z="8145" />
|
||||
<loc id="2" x="-83950" y="-208428" z="7728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 27 -> 28 -->
|
||||
<map id="71">
|
||||
<loc id="1" x="-81572" y="-207061" z="8248" />
|
||||
<loc id="2" x="-80608" y="-207264" z="8176" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 28 -> 29 -->
|
||||
<map id="72">
|
||||
<loc id="1" x="-76906" y="-208670" z="9255" />
|
||||
<loc id="2" x="-77674" y="-209675" z="8840" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 29 -> 30 -->
|
||||
<map id="73">
|
||||
<loc id="1" x="-77002" y="-210933" z="9256" />
|
||||
<loc id="2" x="-77231" y="-212044" z="9312" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 30 -> 31 -->
|
||||
<map id="74">
|
||||
<loc id="1" x="-76000" y="-215820" z="10280" />
|
||||
<loc id="2" x="-76542" y="-216618" z="10200" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 31 -> 32 -->
|
||||
<map id="75">
|
||||
<loc id="1" x="-79225" y="-218778" z="11366" />
|
||||
<loc id="2" x="-79754" y="-217624" z="10952" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 32 -> 33 -->
|
||||
<map id="76">
|
||||
<loc id="1" x="-82216" y="-219042" z="11468" />
|
||||
<loc id="2" x="-83160" y="-218833" z="11392" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 33 -> 34 -->
|
||||
<map id="77">
|
||||
<loc id="1" x="-86920" y="-218259" z="12474" />
|
||||
<loc id="2" x="-86158" y="-217262" z="12058" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 34 -> 35 -->
|
||||
<map id="78">
|
||||
<loc id="1" x="-86692" y="-216159" z="12480" />
|
||||
<loc id="2" x="-86572" y="-214918" z="12536" />
|
||||
</map>
|
||||
<!-- Ecnahnted Valley to East/West Enchanted Valley Side -->
|
||||
<map id="79">
|
||||
<selector id="0" x="113562" y="46888" z="-4640">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<html><body>Resed:<br>
|
||||
The Dimensional Warp was created when the energy, which brought Faeron to the Material Realm from the Wind Spirit Realm, accumulated in one place. Only a party of <font color="LEVEL">4 or less</font> and at <font color="LEVEL">Lv. 99</font> may enter. Each team requires at least <font color="LEVEL">3 Warp Crystals</font>.<br>
|
||||
Rare bracelets and fragments of an ancient tome can be found there. Do you want to go there?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap enterInstance">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need a Warp Crystal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 909">"I want to level up my Dimensional Bracelet."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 908">"I want to add abilities to my Dimensional Bracelet."</Button>
|
||||
|
2622
L2J_Mobius_4.0_GrandCrusade/dist/game/data/instances/DimensionalWrap.xml
vendored
Normal file
2622
L2J_Mobius_4.0_GrandCrusade/dist/game/data/instances/DimensionalWrap.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
10
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975-01.html
vendored
Normal file
10
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975-01.html
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
<html><body>Einster:<br>
|
||||
Proof must be shown to go upstairs quiuckly. The level of Dimensional Warp you completed determines which floor you can go to.<br>
|
||||
Many accidents have happened on floors 31 and higher. To protect researchers, we are investigation those floors. For now, <font color="LEVEL">I can send you up to the 26th floor.</font><br>
|
||||
Ah, you must <font color="LEVEL">determine how many Warp Crystals you will pay</font> before asking me to send you upstairs. Which floor do you want to go?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_6_f">"Send me to 6F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_11_f">"Send me to 11F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_16_f">"Send me to 16F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_21_f">"Send me to 21F"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_26_f">"Send me to 26F"</Button>
|
||||
</body></html>
|
3
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975-02.html
vendored
Normal file
3
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975-02.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Einster:<br>
|
||||
You haven't paid Warp Crystals. I can't send you upstairs.
|
||||
</body></html>
|
4
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975-03.html
vendored
Normal file
4
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Einster:<br>
|
||||
You didn't give me the number of Warp Crystals you promised.<br1>
|
||||
Each member of the party must have <font color="LEVEL">%count% Warp Crystals</font>
|
||||
</body></html>
|
6
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975-04.html
vendored
Normal file
6
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975-04.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Einster:<br>
|
||||
You made it all the way here. Did you find ani Imps?<br>
|
||||
You didn't uncover all the secrets yet. Secrets also exist in Abyssal Space. No explorers dared to go there yet.<br>
|
||||
Please find out those secrets!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap jump_location">"Sure, sure. Let me move on"</Button>
|
||||
</body></html>
|
9
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975-05.html
vendored
Normal file
9
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975-05.html
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<html><body>Einster:<br>
|
||||
There's someone who has not met the quest completion requirements, so I cannot send you.<br>
|
||||
Check the list below to see which floor you can go to.<br><br>
|
||||
Floor 6: Complete The Dimensional Warp, Part 1<br><br>
|
||||
Floor 11: Complete The Dimensional Warp, Part 2<br><br>
|
||||
Floor 16: Complete The Dimensional Warp, Part 3<br><br>
|
||||
Floor 21: Complete The Dimensional Warp, Part 4<br><br>
|
||||
Floor 26: Complete The Dimensional Warp, Part 5<br><br>
|
||||
</body></html>
|
12
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975.html
vendored
Normal file
12
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/33975.html
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
<html><body>Einster:<br>
|
||||
I was first one to explore Dimensional Wrap. I heard that the imps here carry materials we could use -- rare books, things to enchant bracelets with, and the like.<br>
|
||||
The Expeditioners have discovered that the probability of imps appearing increases with our use of Warp Crystals, but we have to use a lot to even think about getting up there.<br>
|
||||
All members of the team should carry Warp Crystals. I'll divide them up according to the number in your group.<br>
|
||||
I recently discovered the key to going upstairs directly. If you want, I can send you there.<br>
|
||||
Okay, let's get started.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 12_warp_crystals">"I'll use 12 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 240_warp_crystals">"I'll use 240 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 1200_warp_crystals">"I'll use 1200 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 33975-01.html">"I want to go upstairs directly."</Button>
|
||||
</body></html>
|
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Dimensional Archon AI
|
||||
* @author Gigi
|
||||
* @date 2018-09-08 - [18:09:02]
|
||||
*/
|
||||
public class DimensionalArchon extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int DEMINSIONAL_ARCHON = 23469;
|
||||
private static final int UNWORDLY_ARCHON = 23475;
|
||||
private static final int ABYSSAL_ARCHON = 23482;
|
||||
|
||||
private static final NpcStringId[] ARCHON_MSG =
|
||||
{
|
||||
NpcStringId.DO_YOU_KNOW_WHO_IT_IS_THAT_YOU_FACE_IT_IS_BEST_THAT_YOU_RUN_NOW,
|
||||
NpcStringId.LOOK_INTO_MY_EYES_AND_SEE_WHAT_COUNTLESS_OTHERS_HAVE_SEEN_BEFORE_THEIR_DEATH,
|
||||
NpcStringId.I_COMMEND_YOUR_TENACITY_IN_COMING_THIS_FAR_BUT_NOW_IT_ENDS,
|
||||
NpcStringId.DO_YOU_SEE_THIS_SWORD_THE_LIGHT_THAT_SCREAMS_WITH_THE_LIFE_OF_THOSE_IT_HAS_KILLED,
|
||||
NpcStringId.I_WILL_SHOW_YOU_WHAT_TRUE_POWER_IS,
|
||||
NpcStringId.YOU_WILL_NEED_TO_SURPASS_ME_EVENTUALLY_BUT_DON_T_FORGET_KNOWING_HOW_TO_FLEE_IS_AN_IMPORTANT_PART_OF_BATTLE
|
||||
};
|
||||
|
||||
public DimensionalArchon()
|
||||
{
|
||||
super();
|
||||
addSpawnId(DEMINSIONAL_ARCHON, UNWORDLY_ARCHON, ABYSSAL_ARCHON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("NPC_SHOUT"))
|
||||
{
|
||||
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), ARCHON_MSG[getRandom(ARCHON_MSG.length)]));
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setShowSummonAnimation(true);
|
||||
startQuestTimer("NPC_SHOUT", 2000, npc, null);
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalArchon();
|
||||
}
|
||||
}
|
169
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/DimensionalTrap.java
vendored
Normal file
169
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/DimensionalTrap.java
vendored
Normal file
@ -0,0 +1,169 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Dimensional Trap's AI
|
||||
* @author Gigi
|
||||
* @date 2018-09-07 - [17:39:04]
|
||||
*/
|
||||
public class DimensionalTrap extends AbstractNpcAI
|
||||
{
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_1 = 19556; // Debuff trap, power 1
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_2 = 19557; // Debuff trap, power 2
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_3 = 19558; // Debuff trap, power 3
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_1 = 19559; // Damage trap, power 1
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_2 = 19560; // Damage trap, power 2
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_3 = 19561; // Damage trap, power 3
|
||||
private static final int DIMENSIONAL_HEAL_LIGHT = 19562; // Heal Trap
|
||||
// skill
|
||||
private static final SkillHolder TRAP_HOLD = new SkillHolder(16409, 1);
|
||||
private static final SkillHolder TRAP_ARIALL_YOKE = new SkillHolder(16410, 1);
|
||||
private static final SkillHolder TRAP_STUN = new SkillHolder(16411, 1);
|
||||
private static final SkillHolder TRAP_POYSON = new SkillHolder(16413, 1);
|
||||
private static final SkillHolder PEACE_ZONE_CURE = new SkillHolder(16414, 1);
|
||||
|
||||
private int _type;
|
||||
|
||||
public DimensionalTrap()
|
||||
{
|
||||
super();
|
||||
addSpawnId(DIMENSIONAL_DEBUFF_TRAP_1, DIMENSIONAL_DEBUFF_TRAP_2, DIMENSIONAL_DEBUFF_TRAP_3, DIMENSIONAL_DEMAGE_TRAP_1, DIMENSIONAL_DEMAGE_TRAP_2, DIMENSIONAL_DEMAGE_TRAP_3, DIMENSIONAL_HEAL_LIGHT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (npc != null)
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "debuff_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast((getRandom(10) < 5) ? TRAP_HOLD.getSkill() : TRAP_ARIALL_YOKE.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("debuff_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "demage_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast((getRandom(10) < 5) ? TRAP_STUN.getSkill() : TRAP_POYSON.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("demage_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "heal_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast(PEACE_ZONE_CURE.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("heal_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setIsInvul(true);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case DIMENSIONAL_DEBUFF_TRAP_1:
|
||||
{
|
||||
npc.setDisplayEffect(1);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 50;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEBUFF_TRAP_2:
|
||||
{
|
||||
npc.setDisplayEffect(2);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 100;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEBUFF_TRAP_3:
|
||||
{
|
||||
npc.setDisplayEffect(3);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_1:
|
||||
{
|
||||
npc.setDisplayEffect(4);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 50;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_2:
|
||||
{
|
||||
npc.setDisplayEffect(5);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 100;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_3:
|
||||
{
|
||||
npc.setDisplayEffect(6);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_HEAL_LIGHT:
|
||||
{
|
||||
npc.setDisplayEffect(7);
|
||||
startQuestTimer("heal_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalTrap();
|
||||
}
|
||||
}
|
676
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/DimensionalWrap.java
vendored
Normal file
676
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/DimensionalWrap/DimensionalWrap.java
vendored
Normal file
@ -0,0 +1,676 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import com.l2jmobius.commons.util.CommonUtil;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.SkillData;
|
||||
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||
import com.l2jmobius.gameserver.model.L2Party;
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
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.instancezone.Instance;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.Earthquake;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
/**
|
||||
* Dimensional Wrap instance
|
||||
* @URL https://l2wiki.com/Dimensional_Warp
|
||||
* @Video https://www.youtube.com/watch?v=hOnzk0ELwIg
|
||||
* @author Gigi
|
||||
* @date 2018-09-04 - [14:33:31]
|
||||
*/
|
||||
public class DimensionalWrap extends AbstractInstance
|
||||
{
|
||||
// NPCs
|
||||
private static final int RESED = 33974;
|
||||
private static final int EINSTER = 33975;
|
||||
// Monsters
|
||||
private static final int DEMINSIONAL_INVISIBLE_FRAGMENT = 19564;
|
||||
private static final int SALAMANDRA_GENERATOR = 19563;
|
||||
private static final int SALAMANDRA_GENERATOR_DUMMY = 900112;
|
||||
private static final int DIMENSIONAL_SALAMANDRA = 23466;
|
||||
private static final int UNWORDLY_SALAMANDER = 23473;
|
||||
private static final int DIMENSIONAL_IMP = 19553;
|
||||
private static final int UNWORDLY_IMP = 19554;
|
||||
private static final int ABYSSAL_IMP = 19555;
|
||||
private static final int ABYSSAL_MAKKUM = 26090;
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
23462, // Dimensional Orc Butcher
|
||||
23463, // Dimensional Orc Hunter
|
||||
23464, // Dimensional Shaman
|
||||
23465, // Dimensional Bugbear
|
||||
23467, // Dimensional Binder
|
||||
23468, // Dimensional Demon
|
||||
23469, // Dimensional Archon
|
||||
23470, // Unworldly Demon
|
||||
23471, // Unworldly Etin
|
||||
23472, // Unworldly Shaman
|
||||
23474, // Unworldly Golem
|
||||
23475, // Unworldly Archon
|
||||
23476, // Unworldly Harpy
|
||||
23477, // Abyssal Shaman
|
||||
23478, // Abyssal Berserker
|
||||
23480, // Abyssal Harpy
|
||||
23481, // Abyssal Binder
|
||||
23482, // Abyssal Archon
|
||||
23483 // Abyssal Golem
|
||||
};
|
||||
private static final int[] TRAPS =
|
||||
{
|
||||
19556, // Debuff trap, power 1
|
||||
19557, // Debuff trap, power 2
|
||||
19558, // Debuff trap, power 3
|
||||
19559, // Damage trap, power 1
|
||||
19560, // Damage trap, power 2
|
||||
19561, // Damage trap, power 3
|
||||
19562 // Heal Trap
|
||||
};
|
||||
// Location
|
||||
private static final Location TELEPORTS = new Location(-76136, -216216, 4040);
|
||||
private static final Location FIRST_TELEPORT = new Location(-219544, 248776, 3360);
|
||||
private static final Location SECOND_TELEPORT = new Location(-206756, 242009, 6584);
|
||||
private static final Location THRID_TELEPORT = new Location(-219813, 248484, 9928);
|
||||
private static final Location FOURTH_TELEPORT = new Location(-87191, -210129, 6984);
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 250;
|
||||
private static final int DIMENSIONAL_DARK_FORCES = 16415;
|
||||
private static final int WARP_CRYSTAL = 39597;
|
||||
protected double _chance = 0;
|
||||
protected int _count = 0;
|
||||
public int _skilllevel = 1;
|
||||
public int _worldState = 0;
|
||||
protected ScheduledFuture<?> _debufTask;
|
||||
|
||||
public DimensionalWrap()
|
||||
{
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(RESED);
|
||||
addTalkId(EINSTER);
|
||||
addKillId(MONSTERS);
|
||||
addKillId(ABYSSAL_MAKKUM);
|
||||
addSpawnId(SALAMANDRA_GENERATOR, DEMINSIONAL_INVISIBLE_FRAGMENT, SALAMANDRA_GENERATOR_DUMMY);
|
||||
addFirstTalkId(EINSTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (event.equals("enterInstance"))
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "no_awakened.html";
|
||||
}
|
||||
else if (!player.isInParty())
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
}
|
||||
else if (player.isInParty())
|
||||
{
|
||||
if (!player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
}
|
||||
else
|
||||
{
|
||||
final L2Party party = player.getParty();
|
||||
final List<L2PcInstance> members = party.getMembers();
|
||||
for (L2PcInstance member : members)
|
||||
{
|
||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
enterInstance(member, npc, TEMPLATE_ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "33975-01.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "12_warp_crystals":
|
||||
{
|
||||
_chance = 0.3;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 12;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 6;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 4;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 3;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "240_warp_crystals":
|
||||
{
|
||||
_chance = 0.6;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 240;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 120;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 80;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 60;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "1200_warp_crystals":
|
||||
{
|
||||
_chance = 0.9;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 1200;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 600;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 400;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 300;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_6_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0)
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 5)
|
||||
{
|
||||
world.setStatus(5);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(FIRST_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_11_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 2))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 10)
|
||||
{
|
||||
world.setStatus(10);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(SECOND_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_16_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 3))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 15)
|
||||
{
|
||||
world.setStatus(15);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(THRID_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_21_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 4))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 20)
|
||||
{
|
||||
world.setStatus(20);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(TELEPORTS, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_26_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 5))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 25)
|
||||
{
|
||||
world.setStatus(25);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(FOURTH_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "jump_location":
|
||||
{
|
||||
player.teleToLocation(TELEPORTS, world.getTemplateId());
|
||||
break;
|
||||
}
|
||||
case "SALAMANDRA_SPAWN":
|
||||
case "SALAMANDRA_SPAWN_DUMMY":
|
||||
{
|
||||
if (getRandom(100) < (_worldState / 2))
|
||||
{
|
||||
final L2Npc salamandra = addSpawn(_worldState < 17 ? DIMENSIONAL_SALAMANDRA : UNWORDLY_SALAMANDER, npc, false, 0, false, world.getId());
|
||||
salamandra.setRunning();
|
||||
L2World.getInstance().forEachVisibleObjectInRange(salamandra, L2PcInstance.class, 2500, p ->
|
||||
{
|
||||
if ((p != null) && !p.isDead())
|
||||
{
|
||||
addAttackPlayerDesire(salamandra, p);
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "START_STAGE":
|
||||
{
|
||||
world.setStatus(world.getStatus() + 1);
|
||||
_worldState = world.getStatus();
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.DIMENSIONAL_WARP_LV_S1, ExShowScreenMessage.TOP_CENTER, 10000, true, String.valueOf(world.getStatus())));
|
||||
startQuestTimer("FIRST_SPAWN", 1500, npc, null);
|
||||
break;
|
||||
}
|
||||
case "FIRST_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_first_spawn");
|
||||
world.spawnGroup(_worldState + "_trap_spawn");
|
||||
startQuestTimer("SECOND_SPAWN", 40000, npc, null);
|
||||
_debufTask = ThreadPool.scheduleAtFixedRate(() ->
|
||||
{
|
||||
if ((_worldState > 0) && (_worldState <= 11))
|
||||
{
|
||||
_skilllevel = 1;
|
||||
}
|
||||
else if ((_worldState > 11) && (_worldState <= 20))
|
||||
{
|
||||
_skilllevel = 2;
|
||||
}
|
||||
else if ((_worldState > 20) && (_worldState <= 30))
|
||||
{
|
||||
_skilllevel = 3;
|
||||
}
|
||||
else if (_worldState > 30)
|
||||
{
|
||||
_skilllevel = 4;
|
||||
}
|
||||
final Skill skill = SkillData.getInstance().getSkill(DIMENSIONAL_DARK_FORCES, _skilllevel);
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
if ((p != null) && !p.isDead())
|
||||
{
|
||||
skill.applyEffects(p, p);
|
||||
}
|
||||
}
|
||||
}, 5000, 10000);
|
||||
break;
|
||||
}
|
||||
case "SECOND_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_second_spawn");
|
||||
startQuestTimer("THRID_SPAWN", 40000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "THRID_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_thred_spawn");
|
||||
break;
|
||||
}
|
||||
case "CHANGE_LOCATION":
|
||||
{
|
||||
world.getAliveNpcs(TRAPS).forEach(t -> t.deleteMe());
|
||||
world.spawnGroup(_worldState + "_trap_spawn");
|
||||
startQuestTimer("CHANGE_LOCATION", 60000 - (_worldState * 1430), npc, null);
|
||||
break;
|
||||
}
|
||||
case "SWITCH_STAGE":
|
||||
{
|
||||
if (world.getAliveNpcs(MONSTERS).isEmpty())
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_SURROUNDING_ENERGY_HAS_DISSIPATED, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
world.broadcastPacket(new Earthquake(npc, 50, 5));
|
||||
world.openCloseDoor(world.getTemplateParameters().getInt(_worldState + "_st_door"), true);
|
||||
Clean();
|
||||
if (_worldState < 35)
|
||||
{
|
||||
startQuestTimer("NEXT_STAGE", 5000, npc, null);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "NEXT_STAGE":
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.S1_SECONDS_HAVE_BEEN_ADDED_TO_THE_INSTANCED_ZONE_DURATION, ExShowScreenMessage.TOP_CENTER, 5000, true, String.valueOf(180)));
|
||||
world.setDuration((int) ((world.getRemainingTime() / 60000) + 3));
|
||||
startQuestTimer("START_STAGE", 8000, npc, null);
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
if (CommonUtil.contains(MONSTERS, npc.getId()) && (getRandom(100) < _chance))
|
||||
{
|
||||
if (_worldState < 9)
|
||||
{
|
||||
addSpawn(DIMENSIONAL_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.DIMENSIONAL_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
else if ((_worldState >= 9) && (_worldState < 20))
|
||||
{
|
||||
addSpawn(UNWORDLY_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.UNWORLDLY_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
else if (_worldState >= 20)
|
||||
{
|
||||
addSpawn(ABYSSAL_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ABYSSAL_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
}
|
||||
else if (npc.getId() == ABYSSAL_MAKKUM)
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_INSTANCED_ZONE_WILL_CLOSE_SOON, ExShowScreenMessage.TOP_CENTER, 10000, true));
|
||||
world.finishInstance(3);
|
||||
Clean();
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (_worldState == 20)
|
||||
{
|
||||
return "33975-04.html";
|
||||
}
|
||||
return "33975.html";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case SALAMANDRA_GENERATOR:
|
||||
{
|
||||
startQuestTimer("SALAMANDRA_SPAWN", 25000, npc, null, true);
|
||||
startQuestTimer("CHANGE_LOCATION", 60000 - (_worldState * 1300), npc, null);
|
||||
break;
|
||||
}
|
||||
case SALAMANDRA_GENERATOR_DUMMY:
|
||||
{
|
||||
startQuestTimer("SALAMANDRA_SPAWN_DUMMY", 20000, npc, null, true);
|
||||
break;
|
||||
}
|
||||
case DEMINSIONAL_INVISIBLE_FRAGMENT:
|
||||
{
|
||||
startQuestTimer("SWITCH_STAGE", 5000, npc, null, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public void CheckCrystallCount(Instance world, L2PcInstance player, L2Npc npc)
|
||||
{
|
||||
boolean canStart = true;
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
if (p.getInventory().getInventoryItemCount(WARP_CRYSTAL, -1) < _count)
|
||||
{
|
||||
for (L2PcInstance ps : world.getPlayers())
|
||||
{
|
||||
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
|
||||
packet.setHtml(getHtm(ps, "33975-03.html"));
|
||||
packet.replace("%count%", Integer.toString(_count));
|
||||
ps.sendPacket(packet);
|
||||
ps.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_S_ITEM_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addString(ps.getName()));
|
||||
canStart = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!canStart || (_worldState != 0))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
startQuestTimer("START_STAGE", 1000, npc, null);
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
takeItems(p, WARP_CRYSTAL, _count);
|
||||
}
|
||||
}
|
||||
|
||||
protected void Clean()
|
||||
{
|
||||
cancelQuestTimers("SWITCH_STAGE");
|
||||
cancelQuestTimers("SALAMANDRA_SPAWN");
|
||||
cancelQuestTimers("SALAMANDRA_SPAWN_DUMMY");
|
||||
cancelQuestTimers("CHANGE_LOCATION");
|
||||
if (_debufTask != null)
|
||||
{
|
||||
_debufTask.cancel(false);
|
||||
_debufTask = null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalWrap();
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
<html><body>Resed:<br>
|
||||
Only those who have completed the 3rd Liberation or have Awakened can enter.
|
||||
</body></html>
|
@ -461,7 +461,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="19556" level="99" type="L2Npc" name="Dimensional Trap">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="trap_skill_type" value="1" />
|
||||
<skill name="trap_skill" id="10806" level="2" />
|
||||
</parameters>
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@ -473,7 +476,12 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<skillList>
|
||||
<skill id="10806" level="2" /> <!-- Frost Trap -->
|
||||
</skillList>
|
||||
<exCrtEffect>true</exCrtEffect>
|
||||
<ai aggroRange="100" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -492,7 +500,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -511,7 +519,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -530,7 +538,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -549,7 +557,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -568,7 +576,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -587,7 +595,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -606,7 +614,7 @@
|
||||
<attack physical="1950.2231755595" magical="1331.5869440987" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="405.85106382979" magical="297.0297029703" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="1" />
|
||||
<height normal="1" />
|
||||
@ -625,7 +633,7 @@
|
||||
<attack physical="1950.2231755595" magical="1331.5869440987" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="405.85106382979" magical="297.0297029703" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="0.1" />
|
||||
<height normal="0.1" />
|
||||
|
@ -2265,7 +2265,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23462" level="102" type="L2Monster" name="Dimensional Orc Butcher">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="336298896" sp="336361" />
|
||||
@ -2294,6 +2296,11 @@
|
||||
<skill id="16365" level="1" /> <!-- Dimensional Defense Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="19.74" /> <!-- Warp Crystal -->
|
||||
@ -2308,7 +2315,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23463" level="102" type="L2Monster" name="Dimensional Orc Hunter" title="Scout">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="504448344" sp="504489" />
|
||||
@ -2336,6 +2345,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16380" level="1" /> <!-- Dimensional Recoil Shot -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="48.99" /> <!-- Warp Crystal -->
|
||||
@ -2350,7 +2364,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23464" level="102" type="L2Monster" name="Dimensional Shaman" title="Watcher">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="504448344" sp="504489" />
|
||||
@ -2381,6 +2397,11 @@
|
||||
<skill id="16372" level="1" /> <!-- Dimensional Spike -->
|
||||
<skill id="16381" level="1" /> <!-- Dimensional Shield -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="50.04" /> <!-- Warp Crystal -->
|
||||
@ -2395,7 +2416,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23465" level="102" type="L2Monster" name="Dimensional Bugbear">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>GIANT</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="504448344" sp="504489" />
|
||||
@ -2425,6 +2448,11 @@
|
||||
<skill id="16375" level="1" /> <!-- Dimensional Hammer -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="49.28" /> <!-- Warp Crystal -->
|
||||
@ -2439,7 +2467,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23466" level="102" type="L2Monster" name="Dimensional Salamander" title="Hunter">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>ELEMENTAL</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@ -2476,7 +2506,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23467" level="102" type="L2Monster" name="Dimensional Binder">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="504448344" sp="504489" />
|
||||
@ -2506,6 +2538,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="50.98" /> <!-- Warp Crystal -->
|
||||
@ -2520,7 +2557,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23468" level="102" type="L2Monster" name="Dimensional Demon">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="336298896" sp="336361" />
|
||||
@ -2551,6 +2590,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="19.69" /> <!-- Warp Crystal -->
|
||||
@ -2565,7 +2609,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23469" level="102" type="L2Monster" name="Dimensional Archon" title="Slaughterer">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="1008896688" sp="1008979" />
|
||||
@ -2598,6 +2644,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="2" max="2" chance="49.87" /> <!-- Warp Crystal -->
|
||||
@ -2743,7 +2794,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23473" level="103" type="L2Monster" name="Unworldly Salamander" title="Hunter">
|
||||
<npc id="23473" level="99" type="L2Monster" name="Unworldly Salamander" title="Hunter">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ELEMENTAL</race>
|
||||
<sex>FEMALE</sex>
|
||||
|
@ -91,55 +91,237 @@
|
||||
<skill id="16409" toLevel="3" name="Trap Hold">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill4047</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>ROOT_MAGICALLY</abnormalType>
|
||||
<abnormalVisualEffect>ROOT</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>10</abnormalTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>80</activateRate>
|
||||
<trait>HOLD</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="Root" />
|
||||
<effect name="DefenceTrait">
|
||||
<HOLD>100</HOLD>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16410" toLevel="3" name="Trap Aerial Yoke">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill11050</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>AIRBIND</abnormalType>
|
||||
<abnormalVisualEffect>AIRBIND</abnormalVisualEffect>
|
||||
<abnormalResists>STUN;TURN_FLEE</abnormalResists>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>80</activateRate>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="AirBind" />
|
||||
<effect name="BlockActions">
|
||||
<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912</allowedSkills>
|
||||
</effect>
|
||||
<effect name="DefenceTrait">
|
||||
<HOLD>100</HOLD>
|
||||
<DERANGEMENT>100</DERANGEMENT>
|
||||
<SHOCK>100</SHOCK>
|
||||
<KNOCKBACK>100</KNOCKBACK>
|
||||
<CHANGEBODY>100</CHANGEBODY>
|
||||
<KNOCKDOWN>100</KNOCKDOWN>
|
||||
<SLEEP>100</SLEEP>
|
||||
<AIRBIND>100</AIRBIND>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16411" toLevel="3" name="Trap Stun">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill0100</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>STUN</abnormalType>
|
||||
<abnormalVisualEffect>STUN</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<trait>SHOCK</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="BlockActions" />
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16412" toLevel="3" name="Trap Petrify">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill4111</icon>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>10</abnormalTime>
|
||||
<affectRange>150</affectRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="16413" toLevel="3" name="Trap Poison">
|
||||
<!-- Poisons the target, causing them to lose $s1 HP every second. -->
|
||||
<!-- Poisoned and losing 1,000 HP/second. -->
|
||||
<icon>icon.skill4035</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<subordinationAbnormalType>POISON</subordinationAbnormalType>
|
||||
<abnormalType>POISON</abnormalType>
|
||||
<abnormalVisualEffect>DOT_POISON</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<trait>POISON</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="DamOverTime">
|
||||
<power>1000</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16414" toLevel="1" name="Peace Zone Cure">
|
||||
<!-- Recover 10% of Max HP and 30% of Max MP of self and everyone within 200 grids. Cooldown is 10 sec. -->
|
||||
<icon>icon.skill0000</icon>
|
||||
<operateType>A1</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<affectRange>200</affectRange>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="HealPercent">
|
||||
<power>10</power>
|
||||
</effect>
|
||||
</effects>
|
||||
<effect name="ManaHealPercent">
|
||||
<power>30</power>
|
||||
</effect>
|
||||
</skill>
|
||||
<skill id="16415" toLevel="4" name="Dimensional Dark Forces">
|
||||
<!-- P. Atk - $s1, M. Atk. - $s2, and P. Critical Rate - $s3, M. Critical Rate - $s4. -->
|
||||
<icon>icon.skill1298</icon>
|
||||
<abnormalLvl>
|
||||
<value level="1">1</value>
|
||||
<value level="2">2</value>
|
||||
<value level="3">3</value>
|
||||
<value level="4">4</value>
|
||||
</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">5</value>
|
||||
<value level="2">5</value>
|
||||
<value level="3">10</value>
|
||||
<value level="4">10</value>
|
||||
</abnormalTime>
|
||||
<operateType>A2</operateType>
|
||||
<rideState>NONE</rideState>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<isDebuff>1</isDebuff>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<targetType>SELF</targetType>
|
||||
<effects>
|
||||
<effect name="PAtk">
|
||||
<amount>
|
||||
<value level="1">-4</value>
|
||||
<value level="2">-6</value>
|
||||
<value level="3">-8</value>
|
||||
<value level="3">-10</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MAtk">
|
||||
<amount>
|
||||
<value level="1">-4</value>
|
||||
<value level="2">-6</value>
|
||||
<value level="3">-8</value>
|
||||
<value level="3">-10</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="CriticalRate">
|
||||
<amount>
|
||||
<value level="1">-5</value>
|
||||
<value level="2">-10</value>
|
||||
<value level="3">-20</value>
|
||||
<value level="3">-30</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MagicCriticalRate">
|
||||
<amount>
|
||||
<value level="1">-5</value>
|
||||
<value level="2">-10</value>
|
||||
<value level="3">-20</value>
|
||||
<value level="3">-30</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16416" toLevel="10" name="Bluff Resistance">
|
||||
<!-- Slightly resistant to Bluff. -->
|
||||
|
@ -132,6 +132,172 @@
|
||||
<stat name="mapId" val="45" />
|
||||
<node X="-186154" Y="242838" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 1 -->
|
||||
<zone name="Sayune_46" type="SayuneZone" shape="Cylinder" minZ="400" maxZ="500" rad="80">
|
||||
<stat name="mapId" val="46" />
|
||||
<node X="-208193" Y="240585" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 2 -->
|
||||
<zone name="Sayune_47" type="SayuneZone" shape="Cylinder" minZ="1100" maxZ="1200" rad="80">
|
||||
<stat name="mapId" val="47" />
|
||||
<node X="-211300" Y="238768" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 3 -->
|
||||
<zone name="Sayune_48" type="SayuneZone" shape="Cylinder" minZ="1600" maxZ="1700" rad="80">
|
||||
<stat name="mapId" val="48" />
|
||||
<node X="-216356" Y="239680" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 4 -->
|
||||
<zone name="Sayune_49" type="SayuneZone" shape="Cylinder" minZ="2250" maxZ="2350" rad="80">
|
||||
<stat name="mapId" val="49" />
|
||||
<node X="-219722" Y="241510" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 5 -->
|
||||
<zone name="Sayune_50" type="SayuneZone" shape="Cylinder" minZ="2700" maxZ="2800" rad="80">
|
||||
<stat name="mapId" val="50" />
|
||||
<node X="-219116" Y="246748" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 6 -->
|
||||
<zone name="Sayune_51" type="SayuneZone" shape="Cylinder" minZ="3350" maxZ="3450" rad="80">
|
||||
<stat name="mapId" val="51" />
|
||||
<node X="-218132" Y="250177" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 7 -->
|
||||
<zone name="Sayune_52" type="SayuneZone" shape="Cylinder" minZ="4100" maxZ="4200" rad="80">
|
||||
<stat name="mapId" val="52" />
|
||||
<node X="-215046" Y="251965" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 8 -->
|
||||
<zone name="Sayune_53" type="SayuneZone" shape="Cylinder" minZ="4550" maxZ="4650" rad="80">
|
||||
<stat name="mapId" val="53" />
|
||||
<node X="-209957" Y="251067" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 9 -->
|
||||
<zone name="Sayune_54" type="SayuneZone" shape="Cylinder" minZ="5200" maxZ="5300" rad="80">
|
||||
<stat name="mapId" val="54" />
|
||||
<node X="-206602" Y="249250" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 10 -->
|
||||
<zone name="Sayune_55" type="SayuneZone" shape="Cylinder" minZ="5550" maxZ="5800" rad="80">
|
||||
<stat name="mapId" val="55" />
|
||||
<node X="-206952" Y="243976" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 11 -->
|
||||
<zone name="Sayune_56" type="SayuneZone" shape="Cylinder" minZ="6500" maxZ="6750" rad="80">
|
||||
<stat name="mapId" val="56" />
|
||||
<node X="-208200" Y="240584" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 12 -->
|
||||
<zone name="Sayune_57" type="SayuneZone" shape="Cylinder" minZ="7220" maxZ="7460" rad="80">
|
||||
<stat name="mapId" val="57" />
|
||||
<node X="-211304" Y="238760" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 13 -->
|
||||
<zone name="Sayune_58" type="SayuneZone" shape="Cylinder" minZ="7700" maxZ="7900" rad="80">
|
||||
<stat name="mapId" val="58" />
|
||||
<node X="-216344" Y="239672" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 14 -->
|
||||
<zone name="Sayune_59" type="SayuneZone" shape="Cylinder" minZ="8350" maxZ="8555" rad="80">
|
||||
<stat name="mapId" val="59" />
|
||||
<node X="-219720" Y="241512" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 15 -->
|
||||
<zone name="Sayune_60" type="SayuneZone" shape="Cylinder" minZ="8780" maxZ="9000" rad="80">
|
||||
<stat name="mapId" val="60" />
|
||||
<node X="-219112" Y="246744" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 16 -->
|
||||
<zone name="Sayune_61" type="SayuneZone" shape="Cylinder" minZ="9800" maxZ="10000" rad="80">
|
||||
<stat name="mapId" val="61" />
|
||||
<node X="-218136" Y="250184" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 17 -->
|
||||
<zone name="Sayune_62" type="SayuneZone" shape="Cylinder" minZ="10520" maxZ="10790" rad="80">
|
||||
<stat name="mapId" val="62" />
|
||||
<node X="-215048" Y="251960" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 18 -->
|
||||
<zone name="Sayune_63" type="SayuneZone" shape="Cylinder" minZ="11000" maxZ="11200" rad="80">
|
||||
<stat name="mapId" val="63" />
|
||||
<node X="-209960" Y="251080" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 19 -->
|
||||
<zone name="Sayune_64" type="SayuneZone" shape="Cylinder" minZ="11650" maxZ="11850" rad="80">
|
||||
<stat name="mapId" val="64" />
|
||||
<node X="-206600" Y="249240" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 21 -->
|
||||
<zone name="Sayune_65" type="SayuneZone" shape="Cylinder" minZ="4000" maxZ="4100" rad="80">
|
||||
<stat name="mapId" val="65" />
|
||||
<node X="-77982" Y="-218040" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 22 -->
|
||||
<zone name="Sayune_66" type="SayuneZone" shape="Cylinder" minZ="4700" maxZ="4800" rad="80">
|
||||
<stat name="mapId" val="66" />
|
||||
<node X="-80696" Y="-219020" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 23 -->
|
||||
<zone name="Sayune_67" type="SayuneZone" shape="Cylinder" minZ="5200" maxZ="5300" rad="80">
|
||||
<stat name="mapId" val="67" />
|
||||
<node X="-85023" Y="-218047" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 24 -->
|
||||
<zone name="Sayune_68" type="SayuneZone" shape="Cylinder" minZ="5900" maxZ="6000" rad="80">
|
||||
<stat name="mapId" val="68" />
|
||||
<node X="-87828" Y="-217077" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 25 -->
|
||||
<zone name="Sayune_69" type="SayuneZone" shape="Cylinder" minZ="6300" maxZ="6400" rad="80">
|
||||
<stat name="mapId" val="69" />
|
||||
<node X="-86591" Y="-212083" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 26 -->
|
||||
<zone name="Sayune_70" type="SayuneZone" shape="Cylinder" minZ="7000" maxZ="7100" rad="80">
|
||||
<stat name="mapId" val="70" />
|
||||
<node X="-85764" Y="-208712" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 27 -->
|
||||
<zone name="Sayune_71" type="SayuneZone" shape="Cylinder" minZ="7700" maxZ="7800" rad="80">
|
||||
<stat name="mapId" val="71" />
|
||||
<node X="-83015" Y="-207015" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 28 -->
|
||||
<zone name="Sayune_72" type="SayuneZone" shape="Cylinder" minZ="8200" maxZ="8300" rad="80">
|
||||
<stat name="mapId" val="72" />
|
||||
<node X="-78759" Y="-208040" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 29 -->
|
||||
<zone name="Sayune_73" type="SayuneZone" shape="Cylinder" minZ="8800" maxZ="8900" rad="80">
|
||||
<stat name="mapId" val="73" />
|
||||
<node X="-76010" Y="-209839" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 30 -->
|
||||
<zone name="Sayune_74" type="SayuneZone" shape="Cylinder" minZ="9300" maxZ="9400" rad="80">
|
||||
<stat name="mapId" val="74" />
|
||||
<node X="-77242" Y="-214850" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 31 -->
|
||||
<zone name="Sayune_75" type="SayuneZone" shape="Cylinder" minZ="10200" maxZ="10256" rad="80">
|
||||
<stat name="mapId" val="75" />
|
||||
<node X="-77982" Y="-218036" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 32 -->
|
||||
<zone name="Sayune_76" type="SayuneZone" shape="Cylinder" minZ="10900" maxZ="11000" rad="80">
|
||||
<stat name="mapId" val="76" />
|
||||
<node X="-80697" Y="-219020" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 33 -->
|
||||
<zone name="Sayune_77" type="SayuneZone" shape="Cylinder" minZ="11400" maxZ="11500" rad="80">
|
||||
<stat name="mapId" val="77" />
|
||||
<node X="-85026" Y="-218044" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 34 -->
|
||||
<zone name="Sayune_78" type="SayuneZone" shape="Cylinder" minZ="12050" maxZ="12100" rad="80">
|
||||
<stat name="mapId" val="78" />
|
||||
<node X="-87828" Y="-217079" />
|
||||
</zone>
|
||||
<!-- Enchanted Valley -->
|
||||
<zone name="Sayune_79" type="SayuneZone" shape="Cylinder" minZ="-4700" maxZ="-4600" rad="100">
|
||||
<stat name="mapId" val="79" />
|
||||
<node X="113562" Y="46888" />
|
||||
|
@ -843,7 +843,7 @@ public final class Instance implements IIdentifiable, INamable
|
||||
}
|
||||
_allowed.forEach(player ->
|
||||
{
|
||||
if ((player != null))
|
||||
if (player != null)
|
||||
{
|
||||
InstanceManager.getInstance().setReenterPenalty(player.getObjectId(), getTemplateId(), time);
|
||||
if (player.isOnline())
|
||||
@ -1147,6 +1147,11 @@ public final class Instance implements IIdentifiable, INamable
|
||||
*/
|
||||
private void sendWorldDestroyMessage(int delay)
|
||||
{
|
||||
// Dimensional wrap does not show timer after 5 minutes.
|
||||
if (delay > 5)
|
||||
{
|
||||
return;
|
||||
}
|
||||
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THIS_INSTANT_ZONE_WILL_BE_TERMINATED_IN_S1_MINUTE_S_YOU_WILL_BE_FORCED_OUT_OF_THE_DUNGEON_WHEN_THE_TIME_EXPIRES);
|
||||
sm.addInt(delay);
|
||||
broadcastPacket(sm);
|
||||
|
@ -56,6 +56,7 @@ Ertheia:
|
||||
-Brooch system
|
||||
-Luck system
|
||||
-Auto fishing
|
||||
-Dimensional Warp
|
||||
|
||||
Infinite Odyssey:
|
||||
-Garden of Spirits
|
||||
|
@ -621,6 +621,171 @@
|
||||
<loc id="1" x="-186018" y="243468" z="2657" />
|
||||
<loc id="2" x="-186470" y="243500" z="2618" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 1 -> 2 -->
|
||||
<map id="46">
|
||||
<loc id="1" x="-209809" y="239024" z="1560" />
|
||||
<loc id="2" x="-210349" y="240190" z="1136" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 2 -> 3 -->
|
||||
<map id="47">
|
||||
<loc id="1" x="-213737" y="238586" z="1596" />
|
||||
<loc id="2" x="-214526" y="238900" z="1584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 3 -> 4 -->
|
||||
<map id="48">
|
||||
<loc id="1" x="-218797" y="240326" z="2670" />
|
||||
<loc id="2" x="-218050" y="241346" z="2248" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 4 -> 5 -->
|
||||
<map id="49">
|
||||
<loc id="1" x="-222958" y="241121" z="2386" />
|
||||
<loc id="2" x="-219093" y="243874" z="2728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 5 -> 6 -->
|
||||
<map id="50">
|
||||
<loc id="1" x="-219640" y="247868" z="3496" />
|
||||
<loc id="2" x="-219544" y="248776" z="3360" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 6 -> 7 -->
|
||||
<map id="51">
|
||||
<loc id="1" x="-216513" y="251722" z="4527" />
|
||||
<loc id="2" x="-215980" y="250563" z="4104" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 7 -> 8 -->
|
||||
<map id="52">
|
||||
<loc id="1" x="-212680" y="251576" z="4680" />
|
||||
<loc id="2" x="-211773" y="251821" z="4552" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 8 -> 9 -->
|
||||
<map id="53">
|
||||
<loc id="1" x="-207533" y="250419" z="5639" />
|
||||
<loc id="2" x="-208286" y="249412" z="5216" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 9 -> 10 -->
|
||||
<map id="54">
|
||||
<loc id="1" x="-204970" y="248587" z="6592" />
|
||||
<loc id="2" x="-206980" y="246782" z="5696" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 10 -> 11 -->
|
||||
<map id="55">
|
||||
<loc id="1" x="-206220" y="242808" z="6656" />
|
||||
<loc id="2" x="-206756" y="242009" z="6584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 11 -> 12 -->
|
||||
<map id="56">
|
||||
<loc id="1" x="-209814" y="239040" z="7752" />
|
||||
<loc id="2" x="-210343" y="240201" z="7328" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 12 -> 13 -->
|
||||
<map id="57">
|
||||
<loc id="1" x="-213566" y="238711" z="7848" />
|
||||
<loc id="2" x="-214510" y="238914" z="7776" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 13 -> 14 -->
|
||||
<map id="58">
|
||||
<loc id="1" x="-218793" y="240333" z="8860" />
|
||||
<loc id="2" x="-218034" y="241333" z="8440" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 14 -> 15 -->
|
||||
<map id="59">
|
||||
<loc id="1" x="-218699" y="242596" z="8859" />
|
||||
<loc id="2" x="-219093" y="243899" z="8912" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 15 -> 16 -->
|
||||
<map id="60">
|
||||
<loc id="1" x="-220117" y="247939" z="9954" />
|
||||
<loc id="2" x="-219563" y="248742" z="9880" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 16 -> 17 -->
|
||||
<map id="61">
|
||||
<loc id="1" x="-216516" y="251710" z="11052" />
|
||||
<loc id="2" x="-215980" y="250563" z="10624" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 17 -> 18 -->
|
||||
<map id="62">
|
||||
<loc id="1" x="-212765" y="252033" z="11144" />
|
||||
<loc id="2" x="-211808" y="251842" z="11072" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 18 -> 19 -->
|
||||
<map id="63">
|
||||
<loc id="1" x="-207530" y="250423" z="12159" />
|
||||
<loc id="2" x="-208304" y="249410" z="11736" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 19 -> 20 -->
|
||||
<map id="64">
|
||||
<loc id="1" x="-207627" y="248155" z="12155" />
|
||||
<loc id="2" x="-206945" y="246788" z="12213" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 21 -> 22 -->
|
||||
<map id="65">
|
||||
<loc id="1" x="-79225" y="-218779" z="5176" />
|
||||
<loc id="2" x="-79748" y="-217616" z="4760" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 22 -> 23 -->
|
||||
<map id="66">
|
||||
<loc id="1" x="-82213" y="-219036" z="5280" />
|
||||
<loc id="2" x="-83169" y="-218823" z="5208" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 23 -> 24 -->
|
||||
<map id="67">
|
||||
<loc id="1" x="-86907" y="-218255" z="6290" />
|
||||
<loc id="2" x="-86150" y="-217250" z="5872" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 24 -> 25 -->
|
||||
<map id="68">
|
||||
<loc id="1" x="-86810" y="-215997" z="6296" />
|
||||
<loc id="2" x="-86570" y="-214902" z="6344" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 25 -> 26 -->
|
||||
<map id="69">
|
||||
<loc id="1" x="-87748" y="-210937" z="7055" />
|
||||
<loc id="2" x="-87191" y="-210129" z="6984" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 26 -> 27 -->
|
||||
<map id="70">
|
||||
<loc id="1" x="-84473" y="-207277" z="8145" />
|
||||
<loc id="2" x="-83950" y="-208428" z="7728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 27 -> 28 -->
|
||||
<map id="71">
|
||||
<loc id="1" x="-81572" y="-207061" z="8248" />
|
||||
<loc id="2" x="-80608" y="-207264" z="8176" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 28 -> 29 -->
|
||||
<map id="72">
|
||||
<loc id="1" x="-76906" y="-208670" z="9255" />
|
||||
<loc id="2" x="-77674" y="-209675" z="8840" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 29 -> 30 -->
|
||||
<map id="73">
|
||||
<loc id="1" x="-77002" y="-210933" z="9256" />
|
||||
<loc id="2" x="-77231" y="-212044" z="9312" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 30 -> 31 -->
|
||||
<map id="74">
|
||||
<loc id="1" x="-76000" y="-215820" z="10280" />
|
||||
<loc id="2" x="-76542" y="-216618" z="10200" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 31 -> 32 -->
|
||||
<map id="75">
|
||||
<loc id="1" x="-79225" y="-218778" z="11366" />
|
||||
<loc id="2" x="-79754" y="-217624" z="10952" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 32 -> 33 -->
|
||||
<map id="76">
|
||||
<loc id="1" x="-82216" y="-219042" z="11468" />
|
||||
<loc id="2" x="-83160" y="-218833" z="11392" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 33 -> 34 -->
|
||||
<map id="77">
|
||||
<loc id="1" x="-86920" y="-218259" z="12474" />
|
||||
<loc id="2" x="-86158" y="-217262" z="12058" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 34 -> 35 -->
|
||||
<map id="78">
|
||||
<loc id="1" x="-86692" y="-216159" z="12480" />
|
||||
<loc id="2" x="-86572" y="-214918" z="12536" />
|
||||
</map>
|
||||
<!-- Ecnahnted Valley to East/West Enchanted Valley Side -->
|
||||
<map id="79">
|
||||
<selector id="0" x="113562" y="46888" z="-4640">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<html><body>Resed:<br>
|
||||
The Dimensional Warp was created when the energy, which brought Faeron to the Material Realm from the Wind Spirit Realm, accumulated in one place. Only a party of <font color="LEVEL">4 or less</font> and at <font color="LEVEL">Lv. 99</font> may enter. Each team requires at least <font color="LEVEL">3 Warp Crystals</font>.<br>
|
||||
Rare bracelets and fragments of an ancient tome can be found there. Do you want to go there?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap enterInstance">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need a Warp Crystal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 909">"I want to level up my Dimensional Bracelet."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 908">"I want to add abilities to my Dimensional Bracelet."</Button>
|
||||
|
2622
L2J_Mobius_5.0_Salvation/dist/game/data/instances/DimensionalWrap.xml
vendored
Normal file
2622
L2J_Mobius_5.0_Salvation/dist/game/data/instances/DimensionalWrap.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
10
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975-01.html
vendored
Normal file
10
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975-01.html
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
<html><body>Einster:<br>
|
||||
Proof must be shown to go upstairs quiuckly. The level of Dimensional Warp you completed determines which floor you can go to.<br>
|
||||
Many accidents have happened on floors 31 and higher. To protect researchers, we are investigation those floors. For now, <font color="LEVEL">I can send you up to the 26th floor.</font><br>
|
||||
Ah, you must <font color="LEVEL">determine how many Warp Crystals you will pay</font> before asking me to send you upstairs. Which floor do you want to go?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_6_f">"Send me to 6F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_11_f">"Send me to 11F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_16_f">"Send me to 16F."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_21_f">"Send me to 21F"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap send_26_f">"Send me to 26F"</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975-02.html
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975-02.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Einster:<br>
|
||||
You haven't paid Warp Crystals. I can't send you upstairs.
|
||||
</body></html>
|
4
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975-03.html
vendored
Normal file
4
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Einster:<br>
|
||||
You didn't give me the number of Warp Crystals you promised.<br1>
|
||||
Each member of the party must have <font color="LEVEL">%count% Warp Crystals</font>
|
||||
</body></html>
|
6
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975-04.html
vendored
Normal file
6
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975-04.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Einster:<br>
|
||||
You made it all the way here. Did you find ani Imps?<br>
|
||||
You didn't uncover all the secrets yet. Secrets also exist in Abyssal Space. No explorers dared to go there yet.<br>
|
||||
Please find out those secrets!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap jump_location">"Sure, sure. Let me move on"</Button>
|
||||
</body></html>
|
9
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975-05.html
vendored
Normal file
9
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975-05.html
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<html><body>Einster:<br>
|
||||
There's someone who has not met the quest completion requirements, so I cannot send you.<br>
|
||||
Check the list below to see which floor you can go to.<br><br>
|
||||
Floor 6: Complete The Dimensional Warp, Part 1<br><br>
|
||||
Floor 11: Complete The Dimensional Warp, Part 2<br><br>
|
||||
Floor 16: Complete The Dimensional Warp, Part 3<br><br>
|
||||
Floor 21: Complete The Dimensional Warp, Part 4<br><br>
|
||||
Floor 26: Complete The Dimensional Warp, Part 5<br><br>
|
||||
</body></html>
|
12
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975.html
vendored
Normal file
12
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/33975.html
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
<html><body>Einster:<br>
|
||||
I was first one to explore Dimensional Wrap. I heard that the imps here carry materials we could use -- rare books, things to enchant bracelets with, and the like.<br>
|
||||
The Expeditioners have discovered that the probability of imps appearing increases with our use of Warp Crystals, but we have to use a lot to even think about getting up there.<br>
|
||||
All members of the team should carry Warp Crystals. I'll divide them up according to the number in your group.<br>
|
||||
I recently discovered the key to going upstairs directly. If you want, I can send you there.<br>
|
||||
Okay, let's get started.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 12_warp_crystals">"I'll use 12 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 240_warp_crystals">"I'll use 240 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 1200_warp_crystals">"I'll use 1200 Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need Warp Crystals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap 33975-01.html">"I want to go upstairs directly."</Button>
|
||||
</body></html>
|
77
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/DimensionalArchon.java
vendored
Normal file
77
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/DimensionalArchon.java
vendored
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Dimensional Archon AI
|
||||
* @author Gigi
|
||||
* @date 2018-09-08 - [18:09:02]
|
||||
*/
|
||||
public class DimensionalArchon extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int DEMINSIONAL_ARCHON = 23469;
|
||||
private static final int UNWORDLY_ARCHON = 23475;
|
||||
private static final int ABYSSAL_ARCHON = 23482;
|
||||
|
||||
private static final NpcStringId[] ARCHON_MSG =
|
||||
{
|
||||
NpcStringId.DO_YOU_KNOW_WHO_IT_IS_THAT_YOU_FACE_IT_IS_BEST_THAT_YOU_RUN_NOW,
|
||||
NpcStringId.LOOK_INTO_MY_EYES_AND_SEE_WHAT_COUNTLESS_OTHERS_HAVE_SEEN_BEFORE_THEIR_DEATH,
|
||||
NpcStringId.I_COMMEND_YOUR_TENACITY_IN_COMING_THIS_FAR_BUT_NOW_IT_ENDS,
|
||||
NpcStringId.DO_YOU_SEE_THIS_SWORD_THE_LIGHT_THAT_SCREAMS_WITH_THE_LIFE_OF_THOSE_IT_HAS_KILLED,
|
||||
NpcStringId.I_WILL_SHOW_YOU_WHAT_TRUE_POWER_IS,
|
||||
NpcStringId.YOU_WILL_NEED_TO_SURPASS_ME_EVENTUALLY_BUT_DON_T_FORGET_KNOWING_HOW_TO_FLEE_IS_AN_IMPORTANT_PART_OF_BATTLE
|
||||
};
|
||||
|
||||
public DimensionalArchon()
|
||||
{
|
||||
super();
|
||||
addSpawnId(DEMINSIONAL_ARCHON, UNWORDLY_ARCHON, ABYSSAL_ARCHON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("NPC_SHOUT"))
|
||||
{
|
||||
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), ARCHON_MSG[getRandom(ARCHON_MSG.length)]));
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setShowSummonAnimation(true);
|
||||
startQuestTimer("NPC_SHOUT", 2000, npc, null);
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalArchon();
|
||||
}
|
||||
}
|
169
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/DimensionalTrap.java
vendored
Normal file
169
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/DimensionalTrap.java
vendored
Normal file
@ -0,0 +1,169 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Dimensional Trap's AI
|
||||
* @author Gigi
|
||||
* @date 2018-09-07 - [17:39:04]
|
||||
*/
|
||||
public class DimensionalTrap extends AbstractNpcAI
|
||||
{
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_1 = 19556; // Debuff trap, power 1
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_2 = 19557; // Debuff trap, power 2
|
||||
private static final int DIMENSIONAL_DEBUFF_TRAP_3 = 19558; // Debuff trap, power 3
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_1 = 19559; // Damage trap, power 1
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_2 = 19560; // Damage trap, power 2
|
||||
private static final int DIMENSIONAL_DEMAGE_TRAP_3 = 19561; // Damage trap, power 3
|
||||
private static final int DIMENSIONAL_HEAL_LIGHT = 19562; // Heal Trap
|
||||
// skill
|
||||
private static final SkillHolder TRAP_HOLD = new SkillHolder(16409, 1);
|
||||
private static final SkillHolder TRAP_ARIALL_YOKE = new SkillHolder(16410, 1);
|
||||
private static final SkillHolder TRAP_STUN = new SkillHolder(16411, 1);
|
||||
private static final SkillHolder TRAP_POYSON = new SkillHolder(16413, 1);
|
||||
private static final SkillHolder PEACE_ZONE_CURE = new SkillHolder(16414, 1);
|
||||
|
||||
private int _type;
|
||||
|
||||
public DimensionalTrap()
|
||||
{
|
||||
super();
|
||||
addSpawnId(DIMENSIONAL_DEBUFF_TRAP_1, DIMENSIONAL_DEBUFF_TRAP_2, DIMENSIONAL_DEBUFF_TRAP_3, DIMENSIONAL_DEMAGE_TRAP_1, DIMENSIONAL_DEMAGE_TRAP_2, DIMENSIONAL_DEMAGE_TRAP_3, DIMENSIONAL_HEAL_LIGHT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (npc != null)
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "debuff_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast((getRandom(10) < 5) ? TRAP_HOLD.getSkill() : TRAP_ARIALL_YOKE.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("debuff_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "demage_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast((getRandom(10) < 5) ? TRAP_STUN.getSkill() : TRAP_POYSON.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("demage_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "heal_player":
|
||||
{
|
||||
L2World.getInstance().forEachVisibleObjectInRange(npc, L2PcInstance.class, _type, p ->
|
||||
{
|
||||
if ((p != null) && p.isPlayer() && !p.isDead())
|
||||
{
|
||||
npc.setTarget(p);
|
||||
npc.doCast(PEACE_ZONE_CURE.getSkill());
|
||||
}
|
||||
});
|
||||
startQuestTimer("heal_player", 10000, npc, null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setIsInvul(true);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case DIMENSIONAL_DEBUFF_TRAP_1:
|
||||
{
|
||||
npc.setDisplayEffect(1);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 50;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEBUFF_TRAP_2:
|
||||
{
|
||||
npc.setDisplayEffect(2);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 100;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEBUFF_TRAP_3:
|
||||
{
|
||||
npc.setDisplayEffect(3);
|
||||
startQuestTimer("debuff_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_1:
|
||||
{
|
||||
npc.setDisplayEffect(4);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 50;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_2:
|
||||
{
|
||||
npc.setDisplayEffect(5);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 100;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_DEMAGE_TRAP_3:
|
||||
{
|
||||
npc.setDisplayEffect(6);
|
||||
startQuestTimer("demage_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
case DIMENSIONAL_HEAL_LIGHT:
|
||||
{
|
||||
npc.setDisplayEffect(7);
|
||||
startQuestTimer("heal_player", 3000, npc, null);
|
||||
_type = 150;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalTrap();
|
||||
}
|
||||
}
|
676
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/DimensionalWrap.java
vendored
Normal file
676
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/DimensionalWrap.java
vendored
Normal file
@ -0,0 +1,676 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.DimensionalWrap;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import com.l2jmobius.commons.util.CommonUtil;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.SkillData;
|
||||
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||
import com.l2jmobius.gameserver.model.L2Party;
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
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.instancezone.Instance;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.Earthquake;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
/**
|
||||
* Dimensional Wrap instance
|
||||
* @URL https://l2wiki.com/Dimensional_Warp
|
||||
* @Video https://www.youtube.com/watch?v=hOnzk0ELwIg
|
||||
* @author Gigi
|
||||
* @date 2018-09-04 - [14:33:31]
|
||||
*/
|
||||
public class DimensionalWrap extends AbstractInstance
|
||||
{
|
||||
// NPCs
|
||||
private static final int RESED = 33974;
|
||||
private static final int EINSTER = 33975;
|
||||
// Monsters
|
||||
private static final int DEMINSIONAL_INVISIBLE_FRAGMENT = 19564;
|
||||
private static final int SALAMANDRA_GENERATOR = 19563;
|
||||
private static final int SALAMANDRA_GENERATOR_DUMMY = 900112;
|
||||
private static final int DIMENSIONAL_SALAMANDRA = 23466;
|
||||
private static final int UNWORDLY_SALAMANDER = 23473;
|
||||
private static final int DIMENSIONAL_IMP = 19553;
|
||||
private static final int UNWORDLY_IMP = 19554;
|
||||
private static final int ABYSSAL_IMP = 19555;
|
||||
private static final int ABYSSAL_MAKKUM = 26090;
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
23462, // Dimensional Orc Butcher
|
||||
23463, // Dimensional Orc Hunter
|
||||
23464, // Dimensional Shaman
|
||||
23465, // Dimensional Bugbear
|
||||
23467, // Dimensional Binder
|
||||
23468, // Dimensional Demon
|
||||
23469, // Dimensional Archon
|
||||
23470, // Unworldly Demon
|
||||
23471, // Unworldly Etin
|
||||
23472, // Unworldly Shaman
|
||||
23474, // Unworldly Golem
|
||||
23475, // Unworldly Archon
|
||||
23476, // Unworldly Harpy
|
||||
23477, // Abyssal Shaman
|
||||
23478, // Abyssal Berserker
|
||||
23480, // Abyssal Harpy
|
||||
23481, // Abyssal Binder
|
||||
23482, // Abyssal Archon
|
||||
23483 // Abyssal Golem
|
||||
};
|
||||
private static final int[] TRAPS =
|
||||
{
|
||||
19556, // Debuff trap, power 1
|
||||
19557, // Debuff trap, power 2
|
||||
19558, // Debuff trap, power 3
|
||||
19559, // Damage trap, power 1
|
||||
19560, // Damage trap, power 2
|
||||
19561, // Damage trap, power 3
|
||||
19562 // Heal Trap
|
||||
};
|
||||
// Location
|
||||
private static final Location TELEPORTS = new Location(-76136, -216216, 4040);
|
||||
private static final Location FIRST_TELEPORT = new Location(-219544, 248776, 3360);
|
||||
private static final Location SECOND_TELEPORT = new Location(-206756, 242009, 6584);
|
||||
private static final Location THRID_TELEPORT = new Location(-219813, 248484, 9928);
|
||||
private static final Location FOURTH_TELEPORT = new Location(-87191, -210129, 6984);
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 250;
|
||||
private static final int DIMENSIONAL_DARK_FORCES = 16415;
|
||||
private static final int WARP_CRYSTAL = 39597;
|
||||
protected double _chance = 0;
|
||||
protected int _count = 0;
|
||||
public int _skilllevel = 1;
|
||||
public int _worldState = 0;
|
||||
protected ScheduledFuture<?> _debufTask;
|
||||
|
||||
public DimensionalWrap()
|
||||
{
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(RESED);
|
||||
addTalkId(EINSTER);
|
||||
addKillId(MONSTERS);
|
||||
addKillId(ABYSSAL_MAKKUM);
|
||||
addSpawnId(SALAMANDRA_GENERATOR, DEMINSIONAL_INVISIBLE_FRAGMENT, SALAMANDRA_GENERATOR_DUMMY);
|
||||
addFirstTalkId(EINSTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (event.equals("enterInstance"))
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "no_awakened.html";
|
||||
}
|
||||
else if (!player.isInParty())
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
}
|
||||
else if (player.isInParty())
|
||||
{
|
||||
if (!player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
}
|
||||
else
|
||||
{
|
||||
final L2Party party = player.getParty();
|
||||
final List<L2PcInstance> members = party.getMembers();
|
||||
for (L2PcInstance member : members)
|
||||
{
|
||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
enterInstance(member, npc, TEMPLATE_ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
case "33975-01.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "12_warp_crystals":
|
||||
{
|
||||
_chance = 0.3;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 12;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 6;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 4;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 3;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "240_warp_crystals":
|
||||
{
|
||||
_chance = 0.6;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 240;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 120;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 80;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 60;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "1200_warp_crystals":
|
||||
{
|
||||
_chance = 0.9;
|
||||
if (!player.isInParty())
|
||||
{
|
||||
_count = 1200;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
else if (player.isInParty() && !player.getParty().isLeader(player))
|
||||
{
|
||||
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||
break;
|
||||
}
|
||||
switch (player.getParty().getMemberCount())
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
_count = 600;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
_count = 400;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
_count = 300;
|
||||
CheckCrystallCount(world, player, npc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_6_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0)
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 5)
|
||||
{
|
||||
world.setStatus(5);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(FIRST_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_11_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 2))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 10)
|
||||
{
|
||||
world.setStatus(10);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(SECOND_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_16_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 3))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 15)
|
||||
{
|
||||
world.setStatus(15);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(THRID_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_21_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 4))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 20)
|
||||
{
|
||||
world.setStatus(20);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(TELEPORTS, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "send_26_f":
|
||||
{
|
||||
if (_worldState == 0)
|
||||
{
|
||||
htmltext = "33975-02.html";
|
||||
break;
|
||||
}
|
||||
if ((player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL", 0) == 0) || (player.getVariables().getInt("DIMENSIONAL_WRAP_LEVEL") < 5))
|
||||
{
|
||||
htmltext = "33975-05.html";
|
||||
break;
|
||||
}
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
if (world.getStatus() < 25)
|
||||
{
|
||||
world.setStatus(25);
|
||||
cancelQuestTimers("SECOND_SPAWN");
|
||||
cancelQuestTimers("THRID_SPAWN");
|
||||
startQuestTimer("START_STAGE", 5000, npc, null);
|
||||
}
|
||||
for (L2PcInstance pl : world.getPlayers())
|
||||
{
|
||||
pl.teleToLocation(FOURTH_TELEPORT, world.getTemplateId());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "jump_location":
|
||||
{
|
||||
player.teleToLocation(TELEPORTS, world.getTemplateId());
|
||||
break;
|
||||
}
|
||||
case "SALAMANDRA_SPAWN":
|
||||
case "SALAMANDRA_SPAWN_DUMMY":
|
||||
{
|
||||
if (getRandom(100) < (_worldState / 2))
|
||||
{
|
||||
final L2Npc salamandra = addSpawn(_worldState < 17 ? DIMENSIONAL_SALAMANDRA : UNWORDLY_SALAMANDER, npc, false, 0, false, world.getId());
|
||||
salamandra.setRunning();
|
||||
L2World.getInstance().forEachVisibleObjectInRange(salamandra, L2PcInstance.class, 2500, p ->
|
||||
{
|
||||
if ((p != null) && !p.isDead())
|
||||
{
|
||||
addAttackPlayerDesire(salamandra, p);
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "START_STAGE":
|
||||
{
|
||||
world.setStatus(world.getStatus() + 1);
|
||||
_worldState = world.getStatus();
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.DIMENSIONAL_WARP_LV_S1, ExShowScreenMessage.TOP_CENTER, 10000, true, String.valueOf(world.getStatus())));
|
||||
startQuestTimer("FIRST_SPAWN", 1500, npc, null);
|
||||
break;
|
||||
}
|
||||
case "FIRST_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_first_spawn");
|
||||
world.spawnGroup(_worldState + "_trap_spawn");
|
||||
startQuestTimer("SECOND_SPAWN", 40000, npc, null);
|
||||
_debufTask = ThreadPool.scheduleAtFixedRate(() ->
|
||||
{
|
||||
if ((_worldState > 0) && (_worldState <= 11))
|
||||
{
|
||||
_skilllevel = 1;
|
||||
}
|
||||
else if ((_worldState > 11) && (_worldState <= 20))
|
||||
{
|
||||
_skilllevel = 2;
|
||||
}
|
||||
else if ((_worldState > 20) && (_worldState <= 30))
|
||||
{
|
||||
_skilllevel = 3;
|
||||
}
|
||||
else if (_worldState > 30)
|
||||
{
|
||||
_skilllevel = 4;
|
||||
}
|
||||
final Skill skill = SkillData.getInstance().getSkill(DIMENSIONAL_DARK_FORCES, _skilllevel);
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
if ((p != null) && !p.isDead())
|
||||
{
|
||||
skill.applyEffects(p, p);
|
||||
}
|
||||
}
|
||||
}, 5000, 10000);
|
||||
break;
|
||||
}
|
||||
case "SECOND_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_second_spawn");
|
||||
startQuestTimer("THRID_SPAWN", 40000, npc, null);
|
||||
break;
|
||||
}
|
||||
case "THRID_SPAWN":
|
||||
{
|
||||
world.spawnGroup(_worldState + "_thred_spawn");
|
||||
break;
|
||||
}
|
||||
case "CHANGE_LOCATION":
|
||||
{
|
||||
world.getAliveNpcs(TRAPS).forEach(t -> t.deleteMe());
|
||||
world.spawnGroup(_worldState + "_trap_spawn");
|
||||
startQuestTimer("CHANGE_LOCATION", 60000 - (_worldState * 1430), npc, null);
|
||||
break;
|
||||
}
|
||||
case "SWITCH_STAGE":
|
||||
{
|
||||
if (world.getAliveNpcs(MONSTERS).isEmpty())
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_SURROUNDING_ENERGY_HAS_DISSIPATED, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
world.broadcastPacket(new Earthquake(npc, 50, 5));
|
||||
world.openCloseDoor(world.getTemplateParameters().getInt(_worldState + "_st_door"), true);
|
||||
Clean();
|
||||
if (_worldState < 35)
|
||||
{
|
||||
startQuestTimer("NEXT_STAGE", 5000, npc, null);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "NEXT_STAGE":
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.S1_SECONDS_HAVE_BEEN_ADDED_TO_THE_INSTANCE_ZONE_DURATION, ExShowScreenMessage.TOP_CENTER, 5000, true, String.valueOf(180)));
|
||||
world.setDuration((int) ((world.getRemainingTime() / 60000) + 3));
|
||||
startQuestTimer("START_STAGE", 8000, npc, null);
|
||||
for (L2Npc n : world.getAliveNpcs())
|
||||
{
|
||||
if (n.getId() != EINSTER)
|
||||
{
|
||||
n.deleteMe();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
if (CommonUtil.contains(MONSTERS, npc.getId()) && (getRandom(100) < _chance))
|
||||
{
|
||||
if (_worldState < 9)
|
||||
{
|
||||
addSpawn(DIMENSIONAL_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.DIMENSIONAL_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
else if ((_worldState >= 9) && (_worldState < 20))
|
||||
{
|
||||
addSpawn(UNWORDLY_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.UNWORLDLY_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
else if (_worldState >= 20)
|
||||
{
|
||||
addSpawn(ABYSSAL_IMP, npc, true, 0, false, world.getId());
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ABYSSAL_IMP, ExShowScreenMessage.TOP_CENTER, 5000, true));
|
||||
}
|
||||
}
|
||||
else if (npc.getId() == ABYSSAL_MAKKUM)
|
||||
{
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_INSTANCE_ZONE_WILL_CLOSE_SOON, ExShowScreenMessage.TOP_CENTER, 10000, true));
|
||||
world.finishInstance(3);
|
||||
Clean();
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (_worldState == 20)
|
||||
{
|
||||
return "33975-04.html";
|
||||
}
|
||||
return "33975.html";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
final Instance world = npc.getInstanceWorld();
|
||||
if (isInInstance(world))
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case SALAMANDRA_GENERATOR:
|
||||
{
|
||||
startQuestTimer("SALAMANDRA_SPAWN", 25000, npc, null, true);
|
||||
startQuestTimer("CHANGE_LOCATION", 60000 - (_worldState * 1300), npc, null);
|
||||
break;
|
||||
}
|
||||
case SALAMANDRA_GENERATOR_DUMMY:
|
||||
{
|
||||
startQuestTimer("SALAMANDRA_SPAWN_DUMMY", 20000, npc, null, true);
|
||||
break;
|
||||
}
|
||||
case DEMINSIONAL_INVISIBLE_FRAGMENT:
|
||||
{
|
||||
startQuestTimer("SWITCH_STAGE", 5000, npc, null, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public void CheckCrystallCount(Instance world, L2PcInstance player, L2Npc npc)
|
||||
{
|
||||
boolean canStart = true;
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
if (p.getInventory().getInventoryItemCount(WARP_CRYSTAL, -1) < _count)
|
||||
{
|
||||
for (L2PcInstance ps : world.getPlayers())
|
||||
{
|
||||
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
|
||||
packet.setHtml(getHtm(ps, "33975-03.html"));
|
||||
packet.replace("%count%", Integer.toString(_count));
|
||||
ps.sendPacket(packet);
|
||||
ps.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_S_ITEM_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addString(ps.getName()));
|
||||
canStart = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!canStart || (_worldState != 0))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
startQuestTimer("START_STAGE", 1000, npc, null);
|
||||
for (L2PcInstance p : world.getPlayers())
|
||||
{
|
||||
takeItems(p, WARP_CRYSTAL, _count);
|
||||
}
|
||||
}
|
||||
|
||||
protected void Clean()
|
||||
{
|
||||
cancelQuestTimers("SWITCH_STAGE");
|
||||
cancelQuestTimers("SALAMANDRA_SPAWN");
|
||||
cancelQuestTimers("SALAMANDRA_SPAWN_DUMMY");
|
||||
cancelQuestTimers("CHANGE_LOCATION");
|
||||
if (_debufTask != null)
|
||||
{
|
||||
_debufTask.cancel(false);
|
||||
_debufTask = null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new DimensionalWrap();
|
||||
}
|
||||
}
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/no_awakened.html
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/DimensionalWrap/no_awakened.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Resed:<br>
|
||||
Only those who have completed the 3rd Liberation or have Awakened can enter.
|
||||
</body></html>
|
@ -461,7 +461,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="19556" level="99" type="L2Npc" name="Dimensional Trap">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="trap_skill_type" value="1" />
|
||||
<skill name="trap_skill" id="10806" level="2" />
|
||||
</parameters>
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@ -473,7 +476,12 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<skillList>
|
||||
<skill id="10806" level="2" /> <!-- Frost Trap -->
|
||||
</skillList>
|
||||
<exCrtEffect>true</exCrtEffect>
|
||||
<ai aggroRange="100" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -492,7 +500,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -511,7 +519,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -530,7 +538,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -549,7 +557,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -568,7 +576,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -587,7 +595,7 @@
|
||||
<attack physical="47220.557386874" magical="8305.0410766139" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="526.06382978723" magical="305.10497858296" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="20" />
|
||||
@ -606,7 +614,7 @@
|
||||
<attack physical="1950.2231755595" magical="1331.5869440987" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="405.85106382979" magical="297.0297029703" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="1" />
|
||||
<height normal="1" />
|
||||
@ -625,7 +633,7 @@
|
||||
<attack physical="1950.2231755595" magical="1331.5869440987" critical="4" attackSpeed="253" range="40" />
|
||||
<defence physical="405.85106382979" magical="297.0297029703" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" showName="false" canMove="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="0.1" />
|
||||
<height normal="0.1" />
|
||||
|
@ -2265,7 +2265,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23462" level="102" type="L2Monster" name="Dimensional Orc Butcher">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="336298896" sp="336361" />
|
||||
@ -2294,6 +2296,11 @@
|
||||
<skill id="16365" level="1" /> <!-- Dimensional Defense Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="19.74" /> <!-- Warp Crystal -->
|
||||
@ -2308,7 +2315,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23463" level="102" type="L2Monster" name="Dimensional Orc Hunter" title="Scout">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="504448344" sp="504489" />
|
||||
@ -2336,6 +2345,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16380" level="1" /> <!-- Dimensional Recoil Shot -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="48.99" /> <!-- Warp Crystal -->
|
||||
@ -2350,7 +2364,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23464" level="102" type="L2Monster" name="Dimensional Shaman" title="Watcher">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="504448344" sp="504489" />
|
||||
@ -2381,6 +2397,11 @@
|
||||
<skill id="16372" level="1" /> <!-- Dimensional Spike -->
|
||||
<skill id="16381" level="1" /> <!-- Dimensional Shield -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="50.04" /> <!-- Warp Crystal -->
|
||||
@ -2395,7 +2416,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23465" level="102" type="L2Monster" name="Dimensional Bugbear">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>GIANT</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="504448344" sp="504489" />
|
||||
@ -2425,6 +2448,11 @@
|
||||
<skill id="16375" level="1" /> <!-- Dimensional Hammer -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="49.28" /> <!-- Warp Crystal -->
|
||||
@ -2439,7 +2467,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23466" level="102" type="L2Monster" name="Dimensional Salamander" title="Hunter">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>ELEMENTAL</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@ -2476,7 +2506,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23467" level="102" type="L2Monster" name="Dimensional Binder">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="504448344" sp="504489" />
|
||||
@ -2506,6 +2538,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="50.98" /> <!-- Warp Crystal -->
|
||||
@ -2520,7 +2557,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23468" level="102" type="L2Monster" name="Dimensional Demon">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="336298896" sp="336361" />
|
||||
@ -2551,6 +2590,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="1" max="1" chance="19.69" /> <!-- Warp Crystal -->
|
||||
@ -2565,7 +2609,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23469" level="102" type="L2Monster" name="Dimensional Archon" title="Slaughterer">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<parameters>
|
||||
<param name="IsAggressive" value="1" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="1008896688" sp="1008979" />
|
||||
@ -2598,6 +2644,11 @@
|
||||
<skill id="16367" level="1" /> <!-- Dimensional Speed Decrease -->
|
||||
<skill id="16368" level="1" /> <!-- Dimensional Strike -->
|
||||
</skillList>
|
||||
<ai clanHelpRange="400" aggroRange="600">
|
||||
<clanList>
|
||||
<clan>WRAP_MOB</clan>
|
||||
</clanList>
|
||||
</ai>
|
||||
<dropLists>
|
||||
<drop>
|
||||
<item id="39597" min="2" max="2" chance="49.87" /> <!-- Warp Crystal -->
|
||||
@ -2743,7 +2794,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="23473" level="103" type="L2Monster" name="Unworldly Salamander" title="Hunter">
|
||||
<npc id="23473" level="99" type="L2Monster" name="Unworldly Salamander" title="Hunter">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ELEMENTAL</race>
|
||||
<sex>FEMALE</sex>
|
||||
|
@ -91,55 +91,237 @@
|
||||
<skill id="16409" toLevel="3" name="Trap Hold">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill4047</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>ROOT_MAGICALLY</abnormalType>
|
||||
<abnormalVisualEffect>ROOT</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>10</abnormalTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>80</activateRate>
|
||||
<trait>HOLD</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="Root" />
|
||||
<effect name="DefenceTrait">
|
||||
<HOLD>100</HOLD>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16410" toLevel="3" name="Trap Aerial Yoke">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill11050</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>AIRBIND</abnormalType>
|
||||
<abnormalVisualEffect>AIRBIND</abnormalVisualEffect>
|
||||
<abnormalResists>STUN;TURN_FLEE</abnormalResists>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>80</activateRate>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="AirBind" />
|
||||
<effect name="BlockActions">
|
||||
<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912</allowedSkills>
|
||||
</effect>
|
||||
<effect name="DefenceTrait">
|
||||
<HOLD>100</HOLD>
|
||||
<DERANGEMENT>100</DERANGEMENT>
|
||||
<SHOCK>100</SHOCK>
|
||||
<KNOCKBACK>100</KNOCKBACK>
|
||||
<CHANGEBODY>100</CHANGEBODY>
|
||||
<KNOCKDOWN>100</KNOCKDOWN>
|
||||
<SLEEP>100</SLEEP>
|
||||
<AIRBIND>100</AIRBIND>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16411" toLevel="3" name="Trap Stun">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill0100</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<abnormalType>STUN</abnormalType>
|
||||
<abnormalVisualEffect>STUN</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<trait>SHOCK</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="BlockActions" />
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16412" toLevel="3" name="Trap Petrify">
|
||||
<!-- Immobilized. -->
|
||||
<icon>icon.skill4111</icon>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>10</abnormalTime>
|
||||
<affectRange>150</affectRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="16413" toLevel="3" name="Trap Poison">
|
||||
<!-- Poisons the target, causing them to lose $s2 HP every $s1. -->
|
||||
<icon>icon.skill4035</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">6</value>
|
||||
<value level="2">8</value>
|
||||
<value level="3">10</value>
|
||||
</abnormalTime>
|
||||
<subordinationAbnormalType>POISON</subordinationAbnormalType>
|
||||
<abnormalType>POISON</abnormalType>
|
||||
<abnormalVisualEffect>DOT_POISON</abnormalVisualEffect>
|
||||
<operateType>A2</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<affectRange>150</affectRange>
|
||||
<castRange>150</castRange>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<activateRate>100</activateRate>
|
||||
<trait>POISON</trait>
|
||||
<isDebuff>1</isDebuff>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="DamOverTime">
|
||||
<power>1000</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16414" toLevel="1" name="Peace Zone Cure">
|
||||
<!-- Recover 10% of Max HP and 30% of Max MP of self and everyone within 200 grids. Cooldown is 10 sec. -->
|
||||
<icon>icon.skill0000</icon>
|
||||
<operateType>A1</operateType>
|
||||
<reuseDelay>10000</reuseDelay>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<rideState>NONE</rideState>
|
||||
<magicCriticalRate>-5</magicCriticalRate>
|
||||
<affectRange>200</affectRange>
|
||||
<targetType>TARGET</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<effects>
|
||||
<effect name="HealPercent">
|
||||
<power>10</power>
|
||||
</effect>
|
||||
</effects>
|
||||
<effect name="ManaHealPercent">
|
||||
<power>30</power>
|
||||
</effect>
|
||||
</skill>
|
||||
<skill id="16415" toLevel="4" name="Dimensional Dark Forces">
|
||||
<!-- P. Atk -$s1, M. Atk. -$s2, and P. Critical Rate -$s3, M. Critical Rate -$s4. -->
|
||||
<icon>icon.skill1298</icon>
|
||||
<abnormalLvl>
|
||||
<value level="1">1</value>
|
||||
<value level="2">2</value>
|
||||
<value level="3">3</value>
|
||||
<value level="4">4</value>
|
||||
</abnormalLvl>
|
||||
<abnormalTime>
|
||||
<value level="1">5</value>
|
||||
<value level="2">5</value>
|
||||
<value level="3">10</value>
|
||||
<value level="4">10</value>
|
||||
</abnormalTime>
|
||||
<operateType>A2</operateType>
|
||||
<rideState>NONE</rideState>
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<effectPoint>-100</effectPoint>
|
||||
<isDebuff>true</isDebuff>
|
||||
<isDebuff>1</isDebuff>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<targetType>SELF</targetType>
|
||||
<effects>
|
||||
<effect name="PAtk">
|
||||
<amount>
|
||||
<value level="1">-4</value>
|
||||
<value level="2">-6</value>
|
||||
<value level="3">-8</value>
|
||||
<value level="3">-10</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MAtk">
|
||||
<amount>
|
||||
<value level="1">-4</value>
|
||||
<value level="2">-6</value>
|
||||
<value level="3">-8</value>
|
||||
<value level="3">-10</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="CriticalRate">
|
||||
<amount>
|
||||
<value level="1">-5</value>
|
||||
<value level="2">-10</value>
|
||||
<value level="3">-20</value>
|
||||
<value level="3">-30</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MagicCriticalRate">
|
||||
<amount>
|
||||
<value level="1">-5</value>
|
||||
<value level="2">-10</value>
|
||||
<value level="3">-20</value>
|
||||
<value level="3">-30</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="16416" toLevel="10" name="Bluff Resistance">
|
||||
<!-- Slightly resistant to Bluff. -->
|
||||
|
@ -132,6 +132,172 @@
|
||||
<stat name="mapId" val="45" />
|
||||
<node X="-186154" Y="242838" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 1 -->
|
||||
<zone name="Sayune_46" type="SayuneZone" shape="Cylinder" minZ="400" maxZ="500" rad="80">
|
||||
<stat name="mapId" val="46" />
|
||||
<node X="-208193" Y="240585" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 2 -->
|
||||
<zone name="Sayune_47" type="SayuneZone" shape="Cylinder" minZ="1100" maxZ="1200" rad="80">
|
||||
<stat name="mapId" val="47" />
|
||||
<node X="-211300" Y="238768" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 3 -->
|
||||
<zone name="Sayune_48" type="SayuneZone" shape="Cylinder" minZ="1600" maxZ="1700" rad="80">
|
||||
<stat name="mapId" val="48" />
|
||||
<node X="-216356" Y="239680" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 4 -->
|
||||
<zone name="Sayune_49" type="SayuneZone" shape="Cylinder" minZ="2250" maxZ="2350" rad="80">
|
||||
<stat name="mapId" val="49" />
|
||||
<node X="-219722" Y="241510" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 5 -->
|
||||
<zone name="Sayune_50" type="SayuneZone" shape="Cylinder" minZ="2700" maxZ="2800" rad="80">
|
||||
<stat name="mapId" val="50" />
|
||||
<node X="-219116" Y="246748" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 6 -->
|
||||
<zone name="Sayune_51" type="SayuneZone" shape="Cylinder" minZ="3350" maxZ="3450" rad="80">
|
||||
<stat name="mapId" val="51" />
|
||||
<node X="-218132" Y="250177" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 7 -->
|
||||
<zone name="Sayune_52" type="SayuneZone" shape="Cylinder" minZ="4100" maxZ="4200" rad="80">
|
||||
<stat name="mapId" val="52" />
|
||||
<node X="-215046" Y="251965" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 8 -->
|
||||
<zone name="Sayune_53" type="SayuneZone" shape="Cylinder" minZ="4550" maxZ="4650" rad="80">
|
||||
<stat name="mapId" val="53" />
|
||||
<node X="-209957" Y="251067" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 9 -->
|
||||
<zone name="Sayune_54" type="SayuneZone" shape="Cylinder" minZ="5200" maxZ="5300" rad="80">
|
||||
<stat name="mapId" val="54" />
|
||||
<node X="-206602" Y="249250" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 10 -->
|
||||
<zone name="Sayune_55" type="SayuneZone" shape="Cylinder" minZ="5550" maxZ="5800" rad="80">
|
||||
<stat name="mapId" val="55" />
|
||||
<node X="-206952" Y="243976" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 11 -->
|
||||
<zone name="Sayune_56" type="SayuneZone" shape="Cylinder" minZ="6500" maxZ="6750" rad="80">
|
||||
<stat name="mapId" val="56" />
|
||||
<node X="-208200" Y="240584" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 12 -->
|
||||
<zone name="Sayune_57" type="SayuneZone" shape="Cylinder" minZ="7220" maxZ="7460" rad="80">
|
||||
<stat name="mapId" val="57" />
|
||||
<node X="-211304" Y="238760" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 13 -->
|
||||
<zone name="Sayune_58" type="SayuneZone" shape="Cylinder" minZ="7700" maxZ="7900" rad="80">
|
||||
<stat name="mapId" val="58" />
|
||||
<node X="-216344" Y="239672" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 14 -->
|
||||
<zone name="Sayune_59" type="SayuneZone" shape="Cylinder" minZ="8350" maxZ="8555" rad="80">
|
||||
<stat name="mapId" val="59" />
|
||||
<node X="-219720" Y="241512" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 15 -->
|
||||
<zone name="Sayune_60" type="SayuneZone" shape="Cylinder" minZ="8780" maxZ="9000" rad="80">
|
||||
<stat name="mapId" val="60" />
|
||||
<node X="-219112" Y="246744" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 16 -->
|
||||
<zone name="Sayune_61" type="SayuneZone" shape="Cylinder" minZ="9800" maxZ="10000" rad="80">
|
||||
<stat name="mapId" val="61" />
|
||||
<node X="-218136" Y="250184" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 17 -->
|
||||
<zone name="Sayune_62" type="SayuneZone" shape="Cylinder" minZ="10520" maxZ="10790" rad="80">
|
||||
<stat name="mapId" val="62" />
|
||||
<node X="-215048" Y="251960" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 18 -->
|
||||
<zone name="Sayune_63" type="SayuneZone" shape="Cylinder" minZ="11000" maxZ="11200" rad="80">
|
||||
<stat name="mapId" val="63" />
|
||||
<node X="-209960" Y="251080" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 19 -->
|
||||
<zone name="Sayune_64" type="SayuneZone" shape="Cylinder" minZ="11650" maxZ="11850" rad="80">
|
||||
<stat name="mapId" val="64" />
|
||||
<node X="-206600" Y="249240" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 21 -->
|
||||
<zone name="Sayune_65" type="SayuneZone" shape="Cylinder" minZ="4000" maxZ="4100" rad="80">
|
||||
<stat name="mapId" val="65" />
|
||||
<node X="-77982" Y="-218040" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 22 -->
|
||||
<zone name="Sayune_66" type="SayuneZone" shape="Cylinder" minZ="4700" maxZ="4800" rad="80">
|
||||
<stat name="mapId" val="66" />
|
||||
<node X="-80696" Y="-219020" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 23 -->
|
||||
<zone name="Sayune_67" type="SayuneZone" shape="Cylinder" minZ="5200" maxZ="5300" rad="80">
|
||||
<stat name="mapId" val="67" />
|
||||
<node X="-85023" Y="-218047" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 24 -->
|
||||
<zone name="Sayune_68" type="SayuneZone" shape="Cylinder" minZ="5900" maxZ="6000" rad="80">
|
||||
<stat name="mapId" val="68" />
|
||||
<node X="-87828" Y="-217077" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 25 -->
|
||||
<zone name="Sayune_69" type="SayuneZone" shape="Cylinder" minZ="6300" maxZ="6400" rad="80">
|
||||
<stat name="mapId" val="69" />
|
||||
<node X="-86591" Y="-212083" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 26 -->
|
||||
<zone name="Sayune_70" type="SayuneZone" shape="Cylinder" minZ="7000" maxZ="7100" rad="80">
|
||||
<stat name="mapId" val="70" />
|
||||
<node X="-85764" Y="-208712" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 27 -->
|
||||
<zone name="Sayune_71" type="SayuneZone" shape="Cylinder" minZ="7700" maxZ="7800" rad="80">
|
||||
<stat name="mapId" val="71" />
|
||||
<node X="-83015" Y="-207015" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 28 -->
|
||||
<zone name="Sayune_72" type="SayuneZone" shape="Cylinder" minZ="8200" maxZ="8300" rad="80">
|
||||
<stat name="mapId" val="72" />
|
||||
<node X="-78759" Y="-208040" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 29 -->
|
||||
<zone name="Sayune_73" type="SayuneZone" shape="Cylinder" minZ="8800" maxZ="8900" rad="80">
|
||||
<stat name="mapId" val="73" />
|
||||
<node X="-76010" Y="-209839" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 30 -->
|
||||
<zone name="Sayune_74" type="SayuneZone" shape="Cylinder" minZ="9300" maxZ="9400" rad="80">
|
||||
<stat name="mapId" val="74" />
|
||||
<node X="-77242" Y="-214850" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 31 -->
|
||||
<zone name="Sayune_75" type="SayuneZone" shape="Cylinder" minZ="10200" maxZ="10256" rad="80">
|
||||
<stat name="mapId" val="75" />
|
||||
<node X="-77982" Y="-218036" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 32 -->
|
||||
<zone name="Sayune_76" type="SayuneZone" shape="Cylinder" minZ="10900" maxZ="11000" rad="80">
|
||||
<stat name="mapId" val="76" />
|
||||
<node X="-80697" Y="-219020" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 33 -->
|
||||
<zone name="Sayune_77" type="SayuneZone" shape="Cylinder" minZ="11400" maxZ="11500" rad="80">
|
||||
<stat name="mapId" val="77" />
|
||||
<node X="-85026" Y="-218044" />
|
||||
</zone>
|
||||
<!-- Dimensional Wrap Stage 34 -->
|
||||
<zone name="Sayune_78" type="SayuneZone" shape="Cylinder" minZ="12050" maxZ="12100" rad="80">
|
||||
<stat name="mapId" val="78" />
|
||||
<node X="-87828" Y="-217079" />
|
||||
</zone>
|
||||
<!-- Enchanted Valley -->
|
||||
<zone name="Sayune_79" type="SayuneZone" shape="Cylinder" minZ="-4700" maxZ="-4600" rad="100">
|
||||
<stat name="mapId" val="79" />
|
||||
<node X="113562" Y="46888" />
|
||||
|
@ -843,7 +843,7 @@ public final class Instance implements IIdentifiable, INamable
|
||||
}
|
||||
_allowed.forEach(player ->
|
||||
{
|
||||
if ((player != null))
|
||||
if (player != null)
|
||||
{
|
||||
InstanceManager.getInstance().setReenterPenalty(player.getObjectId(), getTemplateId(), time);
|
||||
if (player.isOnline())
|
||||
@ -1147,6 +1147,11 @@ public final class Instance implements IIdentifiable, INamable
|
||||
*/
|
||||
private void sendWorldDestroyMessage(int delay)
|
||||
{
|
||||
// Dimensional wrap does not show timer after 5 minutes.
|
||||
if (delay > 5)
|
||||
{
|
||||
return;
|
||||
}
|
||||
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THIS_INSTANT_ZONE_WILL_BE_TERMINATED_IN_S1_MIN_YOU_WILL_BE_FORCED_OUT_OF_THE_DUNGEON_WHEN_THE_TIME_EXPIRES);
|
||||
sm.addInt(delay);
|
||||
broadcastPacket(sm);
|
||||
|
@ -54,6 +54,7 @@ Ertheia:
|
||||
-Brooch system
|
||||
-Luck system
|
||||
-Auto fishing
|
||||
-Dimensional Warp
|
||||
|
||||
Infinite Odyssey:
|
||||
-Garden of Spirits
|
||||
|
@ -621,6 +621,171 @@
|
||||
<loc id="1" x="-186018" y="243468" z="2657" />
|
||||
<loc id="2" x="-186470" y="243500" z="2618" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 1 -> 2 -->
|
||||
<map id="46">
|
||||
<loc id="1" x="-209809" y="239024" z="1560" />
|
||||
<loc id="2" x="-210349" y="240190" z="1136" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 2 -> 3 -->
|
||||
<map id="47">
|
||||
<loc id="1" x="-213737" y="238586" z="1596" />
|
||||
<loc id="2" x="-214526" y="238900" z="1584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 3 -> 4 -->
|
||||
<map id="48">
|
||||
<loc id="1" x="-218797" y="240326" z="2670" />
|
||||
<loc id="2" x="-218050" y="241346" z="2248" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 4 -> 5 -->
|
||||
<map id="49">
|
||||
<loc id="1" x="-222958" y="241121" z="2386" />
|
||||
<loc id="2" x="-219093" y="243874" z="2728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 5 -> 6 -->
|
||||
<map id="50">
|
||||
<loc id="1" x="-219640" y="247868" z="3496" />
|
||||
<loc id="2" x="-219544" y="248776" z="3360" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 6 -> 7 -->
|
||||
<map id="51">
|
||||
<loc id="1" x="-216513" y="251722" z="4527" />
|
||||
<loc id="2" x="-215980" y="250563" z="4104" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 7 -> 8 -->
|
||||
<map id="52">
|
||||
<loc id="1" x="-212680" y="251576" z="4680" />
|
||||
<loc id="2" x="-211773" y="251821" z="4552" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 8 -> 9 -->
|
||||
<map id="53">
|
||||
<loc id="1" x="-207533" y="250419" z="5639" />
|
||||
<loc id="2" x="-208286" y="249412" z="5216" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 9 -> 10 -->
|
||||
<map id="54">
|
||||
<loc id="1" x="-204970" y="248587" z="6592" />
|
||||
<loc id="2" x="-206980" y="246782" z="5696" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 10 -> 11 -->
|
||||
<map id="55">
|
||||
<loc id="1" x="-206220" y="242808" z="6656" />
|
||||
<loc id="2" x="-206756" y="242009" z="6584" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 11 -> 12 -->
|
||||
<map id="56">
|
||||
<loc id="1" x="-209814" y="239040" z="7752" />
|
||||
<loc id="2" x="-210343" y="240201" z="7328" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 12 -> 13 -->
|
||||
<map id="57">
|
||||
<loc id="1" x="-213566" y="238711" z="7848" />
|
||||
<loc id="2" x="-214510" y="238914" z="7776" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 13 -> 14 -->
|
||||
<map id="58">
|
||||
<loc id="1" x="-218793" y="240333" z="8860" />
|
||||
<loc id="2" x="-218034" y="241333" z="8440" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 14 -> 15 -->
|
||||
<map id="59">
|
||||
<loc id="1" x="-218699" y="242596" z="8859" />
|
||||
<loc id="2" x="-219093" y="243899" z="8912" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 15 -> 16 -->
|
||||
<map id="60">
|
||||
<loc id="1" x="-220117" y="247939" z="9954" />
|
||||
<loc id="2" x="-219563" y="248742" z="9880" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 16 -> 17 -->
|
||||
<map id="61">
|
||||
<loc id="1" x="-216516" y="251710" z="11052" />
|
||||
<loc id="2" x="-215980" y="250563" z="10624" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 17 -> 18 -->
|
||||
<map id="62">
|
||||
<loc id="1" x="-212765" y="252033" z="11144" />
|
||||
<loc id="2" x="-211808" y="251842" z="11072" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 18 -> 19 -->
|
||||
<map id="63">
|
||||
<loc id="1" x="-207530" y="250423" z="12159" />
|
||||
<loc id="2" x="-208304" y="249410" z="11736" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 19 -> 20 -->
|
||||
<map id="64">
|
||||
<loc id="1" x="-207627" y="248155" z="12155" />
|
||||
<loc id="2" x="-206945" y="246788" z="12213" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 21 -> 22 -->
|
||||
<map id="65">
|
||||
<loc id="1" x="-79225" y="-218779" z="5176" />
|
||||
<loc id="2" x="-79748" y="-217616" z="4760" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 22 -> 23 -->
|
||||
<map id="66">
|
||||
<loc id="1" x="-82213" y="-219036" z="5280" />
|
||||
<loc id="2" x="-83169" y="-218823" z="5208" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 23 -> 24 -->
|
||||
<map id="67">
|
||||
<loc id="1" x="-86907" y="-218255" z="6290" />
|
||||
<loc id="2" x="-86150" y="-217250" z="5872" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 24 -> 25 -->
|
||||
<map id="68">
|
||||
<loc id="1" x="-86810" y="-215997" z="6296" />
|
||||
<loc id="2" x="-86570" y="-214902" z="6344" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 25 -> 26 -->
|
||||
<map id="69">
|
||||
<loc id="1" x="-87748" y="-210937" z="7055" />
|
||||
<loc id="2" x="-87191" y="-210129" z="6984" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 26 -> 27 -->
|
||||
<map id="70">
|
||||
<loc id="1" x="-84473" y="-207277" z="8145" />
|
||||
<loc id="2" x="-83950" y="-208428" z="7728" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 27 -> 28 -->
|
||||
<map id="71">
|
||||
<loc id="1" x="-81572" y="-207061" z="8248" />
|
||||
<loc id="2" x="-80608" y="-207264" z="8176" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 28 -> 29 -->
|
||||
<map id="72">
|
||||
<loc id="1" x="-76906" y="-208670" z="9255" />
|
||||
<loc id="2" x="-77674" y="-209675" z="8840" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 29 -> 30 -->
|
||||
<map id="73">
|
||||
<loc id="1" x="-77002" y="-210933" z="9256" />
|
||||
<loc id="2" x="-77231" y="-212044" z="9312" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 30 -> 31 -->
|
||||
<map id="74">
|
||||
<loc id="1" x="-76000" y="-215820" z="10280" />
|
||||
<loc id="2" x="-76542" y="-216618" z="10200" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 31 -> 32 -->
|
||||
<map id="75">
|
||||
<loc id="1" x="-79225" y="-218778" z="11366" />
|
||||
<loc id="2" x="-79754" y="-217624" z="10952" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 32 -> 33 -->
|
||||
<map id="76">
|
||||
<loc id="1" x="-82216" y="-219042" z="11468" />
|
||||
<loc id="2" x="-83160" y="-218833" z="11392" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 33 -> 34 -->
|
||||
<map id="77">
|
||||
<loc id="1" x="-86920" y="-218259" z="12474" />
|
||||
<loc id="2" x="-86158" y="-217262" z="12058" />
|
||||
</map>
|
||||
<!-- Dimensional Wrap Stage 34 -> 35 -->
|
||||
<map id="78">
|
||||
<loc id="1" x="-86692" y="-216159" z="12480" />
|
||||
<loc id="2" x="-86572" y="-214918" z="12536" />
|
||||
</map>
|
||||
<!-- Ecnahnted Valley to East/West Enchanted Valley Side -->
|
||||
<map id="79">
|
||||
<selector id="0" x="113562" y="46888" z="-4640">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<html><body>Resed:<br>
|
||||
The Dimensional Warp was created when the energy, which brought Faeron to the Material Realm from the Wind Spirit Realm, accumulated in one place. Only a party of <font color="LEVEL">4 or less</font> and at <font color="LEVEL">Lv. 99</font> may enter. Each team requires at least <font color="LEVEL">3 Warp Crystals</font>.<br>
|
||||
Rare bracelets and fragments of an ancient tome can be found there. Do you want to go there?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalWrap enterInstance">"Take me to the Dimensional Warp."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need a Warp Crystal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 909">"I want to level up my Dimensional Bracelet."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 908">"I want to add abilities to my Dimensional Bracelet."</Button>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user