@Override
	public boolean valid() {
		if (//&& options.beastOfBurden != Summoning.Familiar.CLAN_AVATAR
				options.useBOB.get() &&
						ctx.summoning.timeLeft() <= 420
						&& ctx.summoning.points() < nextPoints
						&& (ctx.backpack.isFull() || getBackpackOffering().isEmpty())
				) {
			Room startRoom = script.roomStorage.getRoom(ctx.players.local());
			final GameObject obelisk = script.altarTask.getMiniObelisk();
			if (obelisk.valid()) {
				Room endRoom = script.roomStorage.getRoom(obelisk);
				return endRoom.equals(startRoom) || ((pathToObelisk = new Astar(script).findRoute(obelisk)) != null);
			}
		}
		return false;
	}