Prevent object creation from WarpedSpaceManager checks.
This commit is contained in:
@ -378,7 +378,7 @@ public class GeoEngine
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (WarpedSpaceManager.getInstance().checkForWarpedSpace(new Location(ox, oy, oz), new Location(tx, ty, tz), origin.getInstanceWorld()))
|
||||
if (WarpedSpaceManager.getInstance().checkForWarpedSpace(ox, oy, oz, tx, ty, tz, origin.getInstanceWorld()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -450,7 +450,7 @@ public class GeoEngine
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (WarpedSpaceManager.getInstance().checkForWarpedSpace(new Location(ox, oy, oz), new Location(tx, ty, tz), origin.getInstanceWorld()))
|
||||
if (WarpedSpaceManager.getInstance().checkForWarpedSpace(ox, oy, oz, tx, ty, tz, origin.getInstanceWorld()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -810,7 +810,7 @@ public class GeoEngine
|
||||
{
|
||||
return new GeoLocation(gox, goy, goz);
|
||||
}
|
||||
if (WarpedSpaceManager.getInstance().checkForWarpedSpace(new Location(gox, goy, goz), new Location(gtx, gty, gtz), instance))
|
||||
if (WarpedSpaceManager.getInstance().checkForWarpedSpace(gox, goy, goz, gtx, gty, gtz, instance))
|
||||
{
|
||||
return new GeoLocation(gox, goy, goz);
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.instancemanager;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.holders.WarpedSpaceHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
@ -52,7 +51,7 @@ public class WarpedSpaceManager
|
||||
_warpedSpace.remove(creature);
|
||||
}
|
||||
|
||||
public boolean checkForWarpedSpace(Location origin, Location destination, Instance instance)
|
||||
public boolean checkForWarpedSpace(int originX, int originY, int originZ, int destinationX, int destinationY, int destinationZ, Instance instance)
|
||||
{
|
||||
if (_warpedSpace != null)
|
||||
{
|
||||
@ -64,8 +63,8 @@ public class WarpedSpaceManager
|
||||
continue;
|
||||
}
|
||||
final int radius = creature.getTemplate().getCollisionRadius();
|
||||
final boolean originInRange = Util.calculateDistance(creature, origin, false, false) <= (holder.getRange() + radius);
|
||||
final boolean destinationInRange = Util.calculateDistance(creature, destination, false, false) <= (holder.getRange() + radius);
|
||||
final boolean originInRange = Util.calculateDistance(creature.getX(), creature.getY(), creature.getZ(), originX, originY, originZ, false, false) <= (holder.getRange() + radius);
|
||||
final boolean destinationInRange = Util.calculateDistance(creature.getX(), creature.getY(), creature.getZ(), destinationX, destinationY, destinationZ, false, false) <= (holder.getRange() + radius);
|
||||
return destinationInRange ? !originInRange : originInRange;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user