@Override
	public void removeEvosForPokemonPool() {
		List<Pokemon> pokemonIncluded = this.mainPokemonList;
		int baseOffset = romEntry.getValue("PokemonEvolutions");
		for (int i = 1; i <= 386; i++) {
			boolean included = pokemonIncluded.contains(pokes[i]);
			int idx = pokeNumTo3GIndex(i);
			int evoOffset = baseOffset + (idx - 1) * 0x28;
			for (int j = 0; j < 5; j++) {
				int method = readWord(evoOffset + j * 8);
				int evolvingTo = readWord(evoOffset + j * 8 + 4);
				if (method >= 1 && method <= 15 && evolvingTo >= 1
						&& evolvingTo <= 411) {
					Pokemon evolvingInto = pokes[poke3GIndexToNum(evolvingTo)];
					if (!included || !pokemonIncluded.contains(evolvingInto)) {
						// remove this evolution
						writeWord(evoOffset + j * 8, 0);
						writeWord(evoOffset + j * 8 + 2, 0);
						writeWord(evoOffset + j * 8 + 4, 0);
					}
				}
			}
		}
	}