@Override
	public void tick(final EntityHandler caller) {
		super.tick(caller);

		double dx = Math.sin(rotationAngle) * speed;
		double dy = -Math.cos(rotationAngle) * speed;

		if (rotationAngle > 2 * Math.PI)
			rotationAngle -= 2 * Math.PI;
		if (rotationAngle < 0)
			rotationAngle += 2 * Math.PI;

		dir.x = dx;
		dir.y = dy;

		speed *= deaccl;

		if (pos.x > Constants.WIDTH - RADIUS) {
			dir.x = 0;
			pos.x = Constants.WIDTH - RADIUS;
		}
		if (pos.y > Constants.HEIGHT - RADIUS) {
			dir.y = 0;
			pos.y = Constants.HEIGHT - RADIUS;
		}
		if (pos.x < RADIUS) {
			dir.x = 0;
			pos.x = RADIUS;
		}
		if (pos.y < RADIUS) {
			dir.y = 0;
			pos.y = RADIUS;
		}
	}