Prohibit teleporting when blocked by effect.

This commit is contained in:
MobiusDevelopment 2020-12-25 20:05:58 +00:00
parent abc68e90ad
commit 5f57e6c92b
4 changed files with 32 additions and 0 deletions

View File

@ -21,6 +21,7 @@ import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.TeleportListData;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.EffectFlag;
import org.l2jmobius.gameserver.model.holders.TeleportListHolder;
import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.zone.ZoneId;
@ -78,6 +79,13 @@ public class ExRequestTeleport implements IClientIncomingPacket
return;
}
// Cannot escape effect.
if (player.isAffected(EffectFlag.CANNOT_ESCAPE))
{
player.sendPacket(SystemMessageId.YOU_CANNOT_TELEPORT_RIGHT_NOW);
return;
}
if (!Config.TELEPORT_WHILE_SIEGE_IN_PROGRESS)
{
final Castle castle = CastleManager.getInstance().getCastle(teleport.getX(), teleport.getY(), teleport.getZ());

View File

@ -21,6 +21,7 @@ import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.TeleportListData;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.EffectFlag;
import org.l2jmobius.gameserver.model.holders.TeleportListHolder;
import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.zone.ZoneId;
@ -79,6 +80,13 @@ public class ExRequestTeleport implements IClientIncomingPacket
return;
}
// Cannot escape effect.
if (player.isAffected(EffectFlag.CANNOT_ESCAPE))
{
player.sendPacket(SystemMessageId.YOU_CANNOT_TELEPORT_RIGHT_NOW);
return;
}
if (!Config.TELEPORT_WHILE_SIEGE_IN_PROGRESS)
{
final Castle castle = CastleManager.getInstance().getCastle(teleport.getX(), teleport.getY(), teleport.getZ());

View File

@ -21,6 +21,7 @@ import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.TeleportListData;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.EffectFlag;
import org.l2jmobius.gameserver.model.holders.TeleportListHolder;
import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.zone.ZoneId;
@ -78,6 +79,13 @@ public class ExRequestTeleport implements IClientIncomingPacket
return;
}
// Cannot escape effect.
if (player.isAffected(EffectFlag.CANNOT_ESCAPE))
{
player.sendMessage("You cannot teleport right now.");
return;
}
if (!Config.TELEPORT_WHILE_SIEGE_IN_PROGRESS)
{
final Castle castle = CastleManager.getInstance().getCastle(teleport.getX(), teleport.getY(), teleport.getZ());

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.TeleportListData;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.EffectFlag;
import org.l2jmobius.gameserver.model.holders.TeleportListHolder;
import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.skills.CommonSkill;
@ -82,6 +83,13 @@ public class ExRequestTeleport implements IClientIncomingPacket
return;
}
// Cannot escape effect.
if (player.isAffected(EffectFlag.CANNOT_ESCAPE))
{
player.sendPacket(SystemMessageId.YOU_CANNOT_TELEPORT_RIGHT_NOW);
return;
}
if (!Config.TELEPORT_WHILE_SIEGE_IN_PROGRESS)
{
final Castle castle = CastleManager.getInstance().getCastle(teleport.getX(), teleport.getY(), teleport.getZ());