@Override
	public boolean doSmall() {
		if (!script.houseTask.isInHouse()) {

			if (locationAttribute.getSmallRandom(ctx).matrix(ctx).reachable()) {
				script.housePortal.enterPortal();
			} else {
				ctx.movement.findPath(locationAttribute.getSmallRandom(ctx)).traverse();
			}

			if (Condition.wait(new Callable<Boolean>() {
				@Override
				public Boolean call() throws Exception {
					return ctx.players.local().inMotion();
				}
			}, 100, 10)) {
				return Condition.wait(new Callable<Boolean>() {
					@Override
					public Boolean call() throws Exception {
						return !ctx.players.local().inMotion() || locationAttribute.isInSmallArea(ctx);
					}
				});
			}
		}
		return locationAttribute.isInSmallArea(ctx);
	}