Making use of teleport zones.

Adapted from: L2jUnity free files.
This commit is contained in:
MobiusDev
2017-11-18 15:46:04 +00:00
parent 3b2c0bd8dc
commit afa2298bad
18 changed files with 509 additions and 1424 deletions

View File

@@ -1,64 +0,0 @@
/*
* 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 ai.areas.OrbisTemple;
import java.util.HashMap;
import java.util.Map;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.zone.L2ZoneType;
import ai.AbstractNpcAI;
/**
* Orbis Temple AI.
* @author Gladicek
*/
public final class OrbisTempleTeleports extends AbstractNpcAI
{
private static final Map<Integer, Location> TELEPORT_DATA = new HashMap<>();
static
{
TELEPORT_DATA.put(12036, new Location(213983, 53250, -8176));
TELEPORT_DATA.put(12037, new Location(198022, 90032, -192));
TELEPORT_DATA.put(12038, new Location(213799, 53253, -14432));
TELEPORT_DATA.put(12039, new Location(215056, 50467, -8416));
TELEPORT_DATA.put(12040, new Location(211641, 115547, -12736));
TELEPORT_DATA.put(12041, new Location(211137, 50501, -14624));
}
public OrbisTempleTeleports()
{
addEnterZoneId(TELEPORT_DATA.keySet());
}
@Override
public String onEnterZone(L2Character creature, L2ZoneType zone)
{
if (creature.isPlayer() && (creature.getInstanceWorld() == null))
{
creature.teleToLocation(TELEPORT_DATA.get(zone.getId()));
}
return super.onEnterZone(creature, zone);
}
public static void main(String[] args)
{
new OrbisTempleTeleports();
}
}

View File

@@ -476,42 +476,6 @@
<node X="210952" Y="10366" />
<node X="210619" Y="10241" />
</zone>
<zone name="orbis_e_f1" id="12036" type="ScriptZone" shape="NPoly" minZ="-554" maxZ="-154">
<node X="198034" Y="90685" />
<node X="198276" Y="90684" />
<node X="198285" Y="90491" />
<node X="198043" Y="90490" />
</zone>
<zone name="orbis_f1_e" id="12037" type="ScriptZone" shape="NPoly" minZ="-8177" maxZ="-7777">
<node X="214890" Y="53031" />
<node X="215313" Y="53024" />
<node X="215279" Y="52739" />
<node X="214922" Y="52736" />
</zone>
<zone name="orbis_f1_f2" id="12038" type="ScriptZone" shape="NPoly" minZ="-9009" maxZ="-8609">
<node X="215530" Y="52069" />
<node X="215967" Y="52088" />
<node X="215950" Y="52444" />
<node X="215530" Y="52460" />
</zone>
<zone name="orbis_f2_f1" id="12039" type="ScriptZone" shape="NPoly" minZ="-14383" maxZ="-13983">
<node X="214893" Y="53016" />
<node X="214923" Y="52736" />
<node X="215281" Y="52738" />
<node X="215315" Y="53016" />
</zone>
<zone name="orbis_f2_f3" id="12040" type="ScriptZone" shape="NPoly" minZ="-15530" maxZ="-14970">
<node X="210516" Y="48942" />
<node X="210093" Y="48929" />
<node X="210090" Y="48569" />
<node X="210518" Y="48554" />
</zone>
<zone name="orbis_f3_f2" id="12041" type="ScriptZone" shape="NPoly" minZ="-12700" maxZ="-12500">
<node X="211276" Y="115088" />
<node X="211310" Y="114656" />
<node X="211729" Y="114683" />
<node X="211763" Y="115079" />
</zone>
<zone name="octavis_area_tel" id="12042" type="ScriptZone" shape="NPoly" minZ="-10033" maxZ="-9833">
<node X="208821" Y="120497" />
<node X="209346" Y="120497" />
@@ -568,63 +532,6 @@
<node X="-177186" Y="153437" />
<node X="-177386" Y="153437" />
</zone>
<!-- Pailaka Injured Dragon. No exit zones for mob walls -->
<zone name="Pailaka Injured Dragon 1" id="200001" type="ScriptZone" shape="NPoly" minZ="-3500" maxZ="-2000">
<node X="117769" Y="-46202" />
<node X="117828" Y="-46590" />
<node X="121923" Y="-46364" />
<node X="121763" Y="-44674" />
</zone>
<zone name="Pailaka Injured Dragon 2" id="200002" type="ScriptZone" shape="NPoly" minZ="-3500" maxZ="-2000">
<node X="115970" Y="-45694" />
<node X="115620" Y="-46220" />
<node X="115593" Y="-46683" />
<node X="116477" Y="-47716" />
<node X="115839" Y="-46610" />
<node X="115819" Y="-46203" />
</zone>
<zone name="Pailaka Injured Dragon 3" id="200003" type="ScriptZone" shape="NPoly" minZ="-3500" maxZ="-2000">
<node X="116346" Y="-49927" />
<node X="115202" Y="-50560" />
<node X="115330" Y="-50608" />
<node X="116347" Y="-50083" />
</zone>
<zone name="Pailaka Injured Dragon 4" id="200004" type="ScriptZone" shape="NPoly" minZ="-3500" maxZ="-2000">
<node X="117275" Y="-51185" />
<node X="116018" Y="-51776" />
<node X="116278" Y="-52213" />
<node X="117526" Y="-51052" />
</zone>
<zone name="Pailaka Injured Dragon 5" id="200005" type="ScriptZone" shape="NPoly" minZ="-3500" maxZ="-2000">
<node X="111137" Y="-43445" />
<node X="111187" Y="-44394" />
<node X="111392" Y="-44275" />
<node X="111355" Y="-43370" />
</zone>
<zone name="Pailaka Injured Dragon 6" id="200006" type="ScriptZone" shape="NPoly" minZ="-3000" maxZ="-1500">
<node X="108768" Y="-45613" />
<node X="109882" Y="-47555" />
<node X="110229" Y="-47049" />
<node X="108917" Y="-45580" />
</zone>
<zone name="Pailaka Injured Dragon 7" id="200007" type="ScriptZone" shape="NPoly" minZ="-3500" maxZ="-2000">
<node X="115979" Y="-55112" />
<node X="115753" Y="-56598" />
<node X="116242" Y="-56532" />
<node X="116211" Y="-55042" />
</zone>
<zone name="Pailaka Injured Dragon 8" id="200008" type="ScriptZone" shape="NPoly" minZ="-3500" maxZ="-2000">
<node X="108467" Y="-40835" />
<node X="108533" Y="-41590" />
<node X="108666" Y="-41584" />
<node X="108623" Y="-40839" />
</zone>
<zone name="Pailaka Injured Dragon 9" id="200009" type="ScriptZone" shape="NPoly" minZ="-2500" maxZ="-1500">
<node X="110456" Y="-39399" />
<node X="109835" Y="-39410" />
<node X="109830" Y="-39550" />
<node X="110457" Y="-39540" />
</zone>
<zone name="royal_rush_script_1" id="200221" type="ScriptZone" shape="NPoly" minZ="-7263" maxZ="-7063">
<node X="181198" Y="-86516" />
<node X="192394" Y="-86521" />

View File

@@ -155,4 +155,64 @@
<node X="108816" Y="-40776" />
<node X="107856" Y="-40652" />
</zone>
<zone name="26_20_orbis_enter" type="TeleportZone" shape="NPoly" minZ="-458" maxZ="-158">
<stat name="oustX" val="213983" />
<stat name="oustY" val="53250" />
<stat name="oustZ" val="-8136" />
<stat name="targetClass" val="L2PcInstance" />
<node X="197849" Y="90507" />
<node X="198285" Y="90504" />
<node X="198283" Y="90673" />
<node X="197847" Y="90676" />
</zone>
<zone name="26_19_orbis_to_lobby" type="TeleportZone" shape="NPoly" minZ="-8018" maxZ="-7718">
<stat name="oustX" val="198022" />
<stat name="oustY" val="90032" />
<stat name="oustZ" val="-192" />
<stat name="targetClass" val="L2PcInstance" />
<node X="214616" Y="52809" />
<node X="215270" Y="52810" />
<node X="215284" Y="53472" />
<node X="214612" Y="53477" />
</zone>
<zone name="26_19_orbis_to_2nd" type="TeleportZone" shape="NPoly" minZ="-8840" maxZ="-8540">
<stat name="oustX" val="213799" />
<stat name="oustY" val="53253" />
<stat name="oustZ" val="-14462" />
<stat name="targetClass" val="L2PcInstance" />
<node X="215023" Y="52075" />
<node X="215909" Y="52096" />
<node X="215925" Y="52422" />
<node X="215027" Y="52409" />
</zone>
<zone name="26_19_orbis_to_1nd" type="TeleportZone" shape="NPoly" minZ="-14218" maxZ="-14018">
<stat name="oustX" val="215056" />
<stat name="oustY" val="50467" />
<stat name="oustZ" val="-8416" />
<stat name="targetClass" val="L2PcInstance" />
<node X="214648" Y="52769" />
<node X="215304" Y="52755" />
<node X="215287" Y="53526" />
<node X="214637" Y="53528" />
</zone>
<zone name="26_19_orbis_to_3rd" type="TeleportZone" shape="NPoly" minZ="-15024" maxZ="-14724">
<stat name="oustX" val="211641" />
<stat name="oustY" val="115547" />
<stat name="oustZ" val="-12736" />
<stat name="targetClass" val="L2PcInstance" />
<node X="210137" Y="48579" />
<node X="211073" Y="48572" />
<node X="211077" Y="48976" />
<node X="210137" Y="48953" />
</zone>
<zone name="26_21_orbis_to_2nd" type="TeleportZone" shape="NPoly" minZ="-12737" maxZ="-12437">
<stat name="oustX" val="211137" />
<stat name="oustY" val="50501" />
<stat name="oustZ" val="-14624" />
<stat name="targetClass" val="L2PcInstance" />
<node X="211261" Y="114644" />
<node X="211778" Y="114638" />
<node X="211781" Y="115045" />
<node X="211273" Y="115064" />
</zone>
</list>