public static boolean bringOnScreen(final boolean move, final Entity e) {
		final Tile nearLoc = e instanceof Locatable ? getReachable((Locatable) e) : null;
		if (e instanceof Locatable && nearLoc == null) {
			return false;
		}
		if (turnTo(e)) {
			return true;
		} else if (e instanceof Locatable && move) {
			final Locatable l = (Locatable) e;
			final FastPath fast = new FastPath(l.getLocation());
			if (new TimedCondition(10000) {
				@Override
				public boolean isDone() {
					fast.traverse();
					return turnTo(e) && !fast.validate();
				}
			}.waitStop(500) && turnTo(e)) {
				return true;
			}
		}
		return false;
	}