|
@@ -1,144 +0,0 @@
|
|
-/*
|
|
|
|
- * 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 com.l2jserver.gameserver.model.zone.type;
|
|
|
|
-
|
|
|
|
-import com.l2jserver.gameserver.model.actor.L2Character;
|
|
|
|
-import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
|
|
|
-import com.l2jserver.gameserver.model.zone.L2ZoneType;
|
|
|
|
-import com.l2jserver.util.Rnd;
|
|
|
|
-
|
|
|
|
-import javolution.util.FastList;
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * A castle teleporter zone
|
|
|
|
- * used for Mass Gatekeepers
|
|
|
|
- *
|
|
|
|
- * @author Kerberos
|
|
|
|
- */
|
|
|
|
-public class L2CastleTeleportZone extends L2ZoneType
|
|
|
|
-{
|
|
|
|
- private int[] _spawnLoc;
|
|
|
|
- private int _castleId;
|
|
|
|
-
|
|
|
|
- public L2CastleTeleportZone(int id)
|
|
|
|
- {
|
|
|
|
- super(id);
|
|
|
|
-
|
|
|
|
- _spawnLoc = new int[5];
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public void setParameter(String name, String value)
|
|
|
|
- {
|
|
|
|
- if (name.equals("castleId"))
|
|
|
|
- {
|
|
|
|
- _castleId = Integer.parseInt(value);
|
|
|
|
- }
|
|
|
|
- else if (name.equals("spawnMinX"))
|
|
|
|
- {
|
|
|
|
- _spawnLoc[0] = Integer.parseInt(value);
|
|
|
|
- }
|
|
|
|
- else if (name.equals("spawnMaxX"))
|
|
|
|
- {
|
|
|
|
- _spawnLoc[1] = Integer.parseInt(value);
|
|
|
|
- }
|
|
|
|
- else if (name.equals("spawnMinY"))
|
|
|
|
- {
|
|
|
|
- _spawnLoc[2] = Integer.parseInt(value);
|
|
|
|
- }
|
|
|
|
- else if (name.equals("spawnMaxY"))
|
|
|
|
- {
|
|
|
|
- _spawnLoc[3] = Integer.parseInt(value);
|
|
|
|
- }
|
|
|
|
- else if (name.equals("spawnZ"))
|
|
|
|
- {
|
|
|
|
- _spawnLoc[4] = Integer.parseInt(value);
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- super.setParameter(name, value);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- protected void onEnter(L2Character character)
|
|
|
|
- {
|
|
|
|
- character.setInsideZone(L2Character.ZONE_NOSUMMONFRIEND, true);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- protected void onExit(L2Character character)
|
|
|
|
- {
|
|
|
|
- character.setInsideZone(L2Character.ZONE_NOSUMMONFRIEND, false);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public void onDieInside(L2Character character)
|
|
|
|
- {
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public void onReviveInside(L2Character character)
|
|
|
|
- {
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * Returns all players within this zone
|
|
|
|
- * @return
|
|
|
|
- */
|
|
|
|
- public FastList<L2PcInstance> getAllPlayers()
|
|
|
|
- {
|
|
|
|
- FastList<L2PcInstance> players = new FastList<L2PcInstance>();
|
|
|
|
-
|
|
|
|
- for (L2Character temp : _characterList.values())
|
|
|
|
- {
|
|
|
|
- if (temp instanceof L2PcInstance)
|
|
|
|
- players.add((L2PcInstance) temp);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return players;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public void oustAllPlayers()
|
|
|
|
- {
|
|
|
|
- if (_characterList == null)
|
|
|
|
- return;
|
|
|
|
- if (_characterList.isEmpty())
|
|
|
|
- return;
|
|
|
|
- for (L2Character character : _characterList.values())
|
|
|
|
- {
|
|
|
|
- if (character == null)
|
|
|
|
- continue;
|
|
|
|
- if (character instanceof L2PcInstance)
|
|
|
|
- {
|
|
|
|
- L2PcInstance player = (L2PcInstance) character;
|
|
|
|
- if (player.isOnline() == 1)
|
|
|
|
- player.teleToLocation(Rnd.get(_spawnLoc[0], _spawnLoc[1]), Rnd.get(_spawnLoc[2], _spawnLoc[3]), _spawnLoc[4]);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public int getCastleId()
|
|
|
|
- {
|
|
|
|
- return _castleId;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * Get the spawn locations
|
|
|
|
- * @return
|
|
|
|
- */
|
|
|
|
- public int[] getSpawn()
|
|
|
|
- {
|
|
|
|
- return _spawnLoc;
|
|
|
|
- }
|
|
|
|
-}
|
|
|