|
|
@ -512,10 +512,9 @@ public abstract class AbstractCharacter extends AbstractWorldObject { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static void teleport(AbstractCharacter worldObject, final Vector3fImmutable targetLoc) { |
|
|
|
public static void teleport(AbstractCharacter worldObject, final Vector3fImmutable targetLoc) { |
|
|
|
Regions targetRegion = Regions.GetRegionForTeleport(targetLoc); |
|
|
|
|
|
|
|
worldObject.locationLock.writeLock().lock(); |
|
|
|
worldObject.locationLock.writeLock().lock(); |
|
|
|
try { |
|
|
|
try { |
|
|
|
MovementManager.translocate(worldObject, targetLoc, targetRegion); |
|
|
|
MovementManager.translocate(worldObject, targetLoc); |
|
|
|
if (worldObject.getObjectType().equals(GameObjectType.PlayerCharacter)) |
|
|
|
if (worldObject.getObjectType().equals(GameObjectType.PlayerCharacter)) |
|
|
|
InterestManager.INTERESTMANAGER.HandleLoadForTeleport((PlayerCharacter) worldObject); |
|
|
|
InterestManager.INTERESTMANAGER.HandleLoadForTeleport((PlayerCharacter) worldObject); |
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
@ -1458,10 +1457,9 @@ public abstract class AbstractCharacter extends AbstractWorldObject { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void teleport(final Vector3fImmutable targetLoc) { |
|
|
|
public void teleport(final Vector3fImmutable targetLoc) { |
|
|
|
Regions targetRegion = Regions.GetRegionForTeleport(targetLoc); |
|
|
|
|
|
|
|
locationLock.writeLock().lock(); |
|
|
|
locationLock.writeLock().lock(); |
|
|
|
try { |
|
|
|
try { |
|
|
|
MovementManager.translocate(this, targetLoc, targetRegion); |
|
|
|
MovementManager.translocate(this, targetLoc); |
|
|
|
MovementManager.sendRWSSMsg(this); |
|
|
|
MovementManager.sendRWSSMsg(this); |
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
|
Logger.error(e); |
|
|
|
Logger.error(e); |
|
|
|