Prohibition for bookmark on Time-Limited zones.
This commit is contained in:
parent
fd384cc594
commit
b04c3416b3
@ -11981,6 +11981,7 @@ public class PlayerInstance extends Playable
|
|||||||
sendPacket(SystemMessageId.YOU_CANNOT_TELEPORT_BECAUSE_YOU_DO_NOT_HAVE_A_TELEPORT_ITEM);
|
sendPacket(SystemMessageId.YOU_CANNOT_TELEPORT_BECAUSE_YOU_DO_NOT_HAVE_A_TELEPORT_ITEM);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
|
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
|
||||||
sm.addItemName(13016);
|
sm.addItemName(13016);
|
||||||
sendPacket(sm);
|
sendPacket(sm);
|
||||||
@ -11988,6 +11989,12 @@ public class PlayerInstance extends Playable
|
|||||||
final TeleportBookmark bookmark = _tpbookmarks.get(id);
|
final TeleportBookmark bookmark = _tpbookmarks.get(id);
|
||||||
if (bookmark != null)
|
if (bookmark != null)
|
||||||
{
|
{
|
||||||
|
if (isInTimedHuntingZone(bookmark.getX(), bookmark.getY()))
|
||||||
|
{
|
||||||
|
sendMessage("You cannot teleport at this location.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
destroyItem("Consume", _inventory.getItemByItemId(13016).getObjectId(), 1, null, false);
|
destroyItem("Consume", _inventory.getItemByItemId(13016).getObjectId(), 1, null, false);
|
||||||
teleToLocation(bookmark, false);
|
teleToLocation(bookmark, false);
|
||||||
}
|
}
|
||||||
@ -14163,14 +14170,24 @@ public class PlayerInstance extends Playable
|
|||||||
|
|
||||||
public boolean isInTimedHuntingZone()
|
public boolean isInTimedHuntingZone()
|
||||||
{
|
{
|
||||||
return isInTimedHuntingZone(1) // Storm Isle
|
return isInTimedHuntingZone(getX(), getY());
|
||||||
|| isInTimedHuntingZone(6); // Primeval Isle
|
}
|
||||||
|
|
||||||
|
public boolean isInTimedHuntingZone(int x, int y)
|
||||||
|
{
|
||||||
|
return isInTimedHuntingZone(1, x, y) // Storm Isle
|
||||||
|
|| isInTimedHuntingZone(6, x, y); // Primeval Isle
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isInTimedHuntingZone(int zoneId)
|
public boolean isInTimedHuntingZone(int zoneId)
|
||||||
{
|
{
|
||||||
final int x = ((getX() - World.MAP_MIN_X) >> 15) + World.TILE_X_MIN;
|
return isInTimedHuntingZone(zoneId, getX(), getY());
|
||||||
final int y = ((getY() - World.MAP_MIN_Y) >> 15) + World.TILE_Y_MIN;
|
}
|
||||||
|
|
||||||
|
public boolean isInTimedHuntingZone(int zoneId, int locX, int locY)
|
||||||
|
{
|
||||||
|
final int x = ((locX - World.MAP_MIN_X) >> 15) + World.TILE_X_MIN;
|
||||||
|
final int y = ((locY - World.MAP_MIN_Y) >> 15) + World.TILE_Y_MIN;
|
||||||
|
|
||||||
switch (zoneId)
|
switch (zoneId)
|
||||||
{
|
{
|
||||||
|
@ -47,6 +47,13 @@ public class RequestSaveBookMarkSlot implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (player.isInTimedHuntingZone())
|
||||||
|
{
|
||||||
|
player.sendMessage("You cannot bookmark this location.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
player.teleportBookmarkAdd(player.getX(), player.getY(), player.getZ(), icon, tag, name);
|
player.teleportBookmarkAdd(player.getX(), player.getY(), player.getZ(), icon, tag, name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11828,6 +11828,7 @@ public class PlayerInstance extends Playable
|
|||||||
sendPacket(SystemMessageId.YOU_CANNOT_TELEPORT_BECAUSE_YOU_DO_NOT_HAVE_A_TELEPORT_ITEM);
|
sendPacket(SystemMessageId.YOU_CANNOT_TELEPORT_BECAUSE_YOU_DO_NOT_HAVE_A_TELEPORT_ITEM);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
|
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
|
||||||
sm.addItemName(13016);
|
sm.addItemName(13016);
|
||||||
sendPacket(sm);
|
sendPacket(sm);
|
||||||
@ -11835,6 +11836,12 @@ public class PlayerInstance extends Playable
|
|||||||
final TeleportBookmark bookmark = _tpbookmarks.get(id);
|
final TeleportBookmark bookmark = _tpbookmarks.get(id);
|
||||||
if (bookmark != null)
|
if (bookmark != null)
|
||||||
{
|
{
|
||||||
|
if (isInTimedHuntingZone(bookmark.getX(), bookmark.getY()))
|
||||||
|
{
|
||||||
|
sendMessage("You cannot teleport at this location.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
destroyItem("Consume", _inventory.getItemByItemId(13016).getObjectId(), 1, null, false);
|
destroyItem("Consume", _inventory.getItemByItemId(13016).getObjectId(), 1, null, false);
|
||||||
teleToLocation(bookmark, false);
|
teleToLocation(bookmark, false);
|
||||||
}
|
}
|
||||||
@ -14110,13 +14117,23 @@ public class PlayerInstance extends Playable
|
|||||||
|
|
||||||
public boolean isInTimedHuntingZone()
|
public boolean isInTimedHuntingZone()
|
||||||
{
|
{
|
||||||
return isInTimedHuntingZone(2); // Ancient Pirates' Tomb
|
return isInTimedHuntingZone(getX(), getY());
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isInTimedHuntingZone(int x, int y)
|
||||||
|
{
|
||||||
|
return isInTimedHuntingZone(2, x, y); // Ancient Pirates' Tomb
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isInTimedHuntingZone(int zoneId)
|
public boolean isInTimedHuntingZone(int zoneId)
|
||||||
{
|
{
|
||||||
final int x = ((getX() - World.MAP_MIN_X) >> 15) + World.TILE_X_MIN;
|
return isInTimedHuntingZone(zoneId, getX(), getY());
|
||||||
final int y = ((getY() - World.MAP_MIN_Y) >> 15) + World.TILE_Y_MIN;
|
}
|
||||||
|
|
||||||
|
public boolean isInTimedHuntingZone(int zoneId, int locX, int locY)
|
||||||
|
{
|
||||||
|
final int x = ((locX - World.MAP_MIN_X) >> 15) + World.TILE_X_MIN;
|
||||||
|
final int y = ((locY - World.MAP_MIN_Y) >> 15) + World.TILE_Y_MIN;
|
||||||
|
|
||||||
switch (zoneId)
|
switch (zoneId)
|
||||||
{
|
{
|
||||||
|
@ -47,6 +47,13 @@ public class RequestSaveBookMarkSlot implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (player.isInTimedHuntingZone())
|
||||||
|
{
|
||||||
|
player.sendMessage("You cannot bookmark this location.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
player.teleportBookmarkAdd(player.getX(), player.getY(), player.getZ(), icon, tag, name);
|
player.teleportBookmarkAdd(player.getX(), player.getY(), player.getZ(), icon, tag, name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user