public void OnSnapshotSetDestPosition(IWorldClient client, SetDestPositionPacket packet) { client.Player.Object.MovingFlags = ObjectState.OBJSTA_FMOVE; client.Player.Moves.DestinationPosition = new Vector3(packet.X, packet.Y, packet.Z); client.Player.Follow.Reset(); _moverPacketFactory.SendDestinationPosition(client.Player); }
public static void OnSnapshotSetDestPosition(WorldClient client, INetPacketStream packet) { var setDestPositionPacket = new SetDestPositionPacket(packet); client.Player.MovableComponent.DestinationPosition = new Vector3(setDestPositionPacket.X, setDestPositionPacket.Y, setDestPositionPacket.Z); client.Player.Object.Angle = Vector3.AngleBetween(client.Player.Object.Position, client.Player.MovableComponent.DestinationPosition); client.Player.Follow.Target = null; WorldPacketFactory.SendDestinationPosition(client.Player); }
public static void OnSnapshotSetDestPosition(WorldClient client, INetPacketStream packet) { var setDestPositionPacket = new SetDestPositionPacket(packet); // Cancel current item usage action and SFX client.Player.NotifySystem <SpecialEffectSystem>(new SpecialEffectBaseMotionEventArgs(StateModeBaseMotion.BASEMOTION_OFF)); client.Player.Delayer.CancelAction(client.Player.Inventory.ItemInUseActionId); client.Player.Inventory.ItemInUseActionId = Guid.Empty; client.Player.Object.MovingFlags = ObjectState.OBJSTA_FMOVE; client.Player.Moves.DestinationPosition = new Vector3(setDestPositionPacket.X, setDestPositionPacket.Y, setDestPositionPacket.Z); client.Player.Object.Angle = Vector3.AngleBetween(client.Player.Object.Position, client.Player.Moves.DestinationPosition); client.Player.Follow.Target = null; WorldPacketFactory.SendDestinationPosition(client.Player); }