@Override
	public boolean setStaticPokemon(List<Pokemon> staticPokemon) {
		if (romEntry.getValue("StaticPokemonSupport") == 0) {
			return false;
		}
		// Checks
		int singleSize = romEntry.staticPokemonSingle.size();
		int gcSize = romEntry.staticPokemonGameCorner.size();
		if (staticPokemon.size() != singleSize + gcSize) {
			return false;
		}
		for (Pokemon pkmn : staticPokemon) {
			if (!isInGame(pkmn)) {
				return false;
			}
		}

		// Singular entries
		for (int i = 0; i < singleSize; i++) {
			rom[romEntry.staticPokemonSingle.get(i)] = (byte) pokeNumToRBYTable[staticPokemon
					.get(i).number];
		}

		// Game corner
		for (int i = 0; i < gcSize; i++) {
			byte pokeNum = (byte) pokeNumToRBYTable[staticPokemon.get(i
					+ singleSize).number];
			int[] offsets = romEntry.staticPokemonGameCorner.get(i).offsets;
			for (int offset : offsets) {
				rom[offset] = pokeNum;
			}
		}
		return true;
	}