@Override
	public void randomizeMoveTutorMoves(boolean noBroken) {
		if (!this.hasMoveTutors()) {
			return;
		}
		// Pick some random Move Tutor moves, excluding TMs.
		int mtCount = this.getMoveTutorMoves().size();
		List<Move> allMoves = this.getMoves();
		List<Integer> tms = this.getTMMoves();
		List<Integer> newMTs = new ArrayList<Integer>();
		List<Integer> hms = this.getHMMoves();
		@SuppressWarnings("unchecked")
		List<Integer> banned = noBroken ? this.getGameBreakingMoves()
				: Collections.EMPTY_LIST;
		for (int i = 0; i < mtCount; i++) {
			int chosenMove = RandomSource.nextInt(allMoves.size() - 1) + 1;
			while (newMTs.contains(chosenMove) || tms.contains(chosenMove)
					|| RomFunctions.bannedRandomMoves[chosenMove]
					|| hms.contains(chosenMove) || banned.contains(chosenMove)) {
				chosenMove = RandomSource.nextInt(allMoves.size() - 1) + 1;
			}
			newMTs.add(chosenMove);
		}
		this.setMoveTutorMoves(newMTs);
	}