Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5d4192bbcf | |||
| ea6ea4b0ee | |||
| 7f4d47505e | |||
| f9a3b17677 |
@@ -469,28 +469,15 @@ public enum MovementManager {
|
|||||||
|
|
||||||
if (targetLoc == null)
|
if (targetLoc == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Vector3fImmutable oldLoc = new Vector3fImmutable(teleporter.getLoc());
|
|
||||||
|
|
||||||
teleporter.stopMovement(targetLoc);
|
teleporter.stopMovement(targetLoc);
|
||||||
|
Vector3fImmutable oldLoc = new Vector3fImmutable(teleporter.getLoc());
|
||||||
//mobs ignore region sets for now.
|
teleporter.setLoc(targetLoc);
|
||||||
if (teleporter.getObjectType().equals(GameObjectType.Mob)) {
|
|
||||||
teleporter.setInBuildingID(0);
|
|
||||||
teleporter.setInBuilding(-1);
|
|
||||||
teleporter.setInFloorID(-1);
|
|
||||||
TeleportToPointMsg msg = new TeleportToPointMsg(teleporter, targetLoc.getX(), targetLoc.getY(), targetLoc.getZ(), 0, -1, -1);
|
|
||||||
DispatchMessage.dispatchMsgToInterestArea(oldLoc, teleporter, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, false, false);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
TeleportToPointMsg msg = new TeleportToPointMsg(teleporter, targetLoc.getX(), targetLoc.getY(), targetLoc.getZ(), 0, -1, -1);
|
|
||||||
//we shouldnt need to send teleport message to new area, as loadjob should pick it up.
|
|
||||||
// DispatchMessage.dispatchMsgToInterestArea(teleporter, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
|
||||||
DispatchMessage.dispatchMsgToInterestArea(oldLoc, teleporter, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
|
||||||
|
|
||||||
if (teleporter.getObjectType().equals(GameObjectType.PlayerCharacter))
|
if (teleporter.getObjectType().equals(GameObjectType.PlayerCharacter))
|
||||||
InterestManager.INTERESTMANAGER.HandleLoadForTeleport((PlayerCharacter) teleporter);
|
InterestManager.INTERESTMANAGER.HandleLoadForTeleport((PlayerCharacter) teleporter);
|
||||||
|
|
||||||
|
TeleportToPointMsg msg = new TeleportToPointMsg(teleporter, teleporter.loc.getX(), teleporter.loc.getY(), teleporter.loc.getZ(), 0, -1, -1);
|
||||||
|
DispatchMessage.dispatchMsgToInterestArea(oldLoc, teleporter, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void syncLoc(AbstractCharacter ac, Vector3fImmutable clientLoc, boolean useClientLoc) {
|
private static void syncLoc(AbstractCharacter ac, Vector3fImmutable clientLoc, boolean useClientLoc) {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package engine.objects;
|
|||||||
import engine.Enum;
|
import engine.Enum;
|
||||||
import engine.Enum.PortalType;
|
import engine.Enum.PortalType;
|
||||||
import engine.InterestManagement.WorldGrid;
|
import engine.InterestManagement.WorldGrid;
|
||||||
|
import engine.gameManager.BuildingManager;
|
||||||
import engine.gameManager.ConfigManager;
|
import engine.gameManager.ConfigManager;
|
||||||
import engine.job.JobScheduler;
|
import engine.job.JobScheduler;
|
||||||
import engine.jobs.CloseGateJob;
|
import engine.jobs.CloseGateJob;
|
||||||
@@ -104,7 +105,7 @@ public class Portal {
|
|||||||
if (player.getTimeStamp("lastMoveGate") < this.lastActive)
|
if (player.getTimeStamp("lastMoveGate") < this.lastActive)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
player.teleport(targetGate.getLoc());
|
player.teleport(targetGate.getLoc().add(0,6,0));//offset height of runegate
|
||||||
player.setSafeMode();
|
player.setSafeMode();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user