@Override
	public List<Integer> getCurrentFieldTMs() {
		List<Integer> fieldTMs = new ArrayList<Integer>();

		for (int offset : itemOffs) {
			int itemHere = rom[offset] & 0xFF;
			if (allowedItems.isTM(itemHere)) {
				int thisTM = 0;
				if (itemHere >= 191 && itemHere <= 194) {
					thisTM = itemHere - 190; // TM block 1 offset
				} else if (itemHere >= 196 && itemHere <= 219) {
					thisTM = itemHere - 191; // TM block 2 offset
				} else {
					thisTM = itemHere - 192; // TM block 3 offset
				}
				// hack for the bug catching contest repeat TM28
				if (fieldTMs.contains(thisTM) == false) {
					fieldTMs.add(thisTM);
				}
			}
		}
		return fieldTMs;
	}