private void attemptObedienceEvolutionPatches() {
		havePatchedObedience = true;
		// This routine *appears* to only exist in E/FR/LG...
		// Look for the deoxys part which is
		// MOVS R1, 0x19A
		// CMP R0, R1
		// BEQ <mew/deoxys case>
		// Hex is CD214900 8842 0FD0
		int deoxysObOffset = find("CD21490088420FD0");
		if (deoxysObOffset > 0) {
			// We found the deoxys check...
			// Replacing it with MOVS R1, 0x0 would work fine.
			// This would make it so species 0x0 (glitch only) would disobey.
			// But MOVS R1, 0x0 (the version I know) is 2-byte
			// So we just use it twice...
			// the equivalent of nop'ing the second time.
			rom[deoxysObOffset] = 0x00;
			rom[deoxysObOffset + 1] = 0x21;
			rom[deoxysObOffset + 2] = 0x00;
			rom[deoxysObOffset + 3] = 0x21;
			// Look for the mew check too... it's 0x16 ahead
			if (readWord(deoxysObOffset + 0x16) == 0x2897) {
				// Bingo, thats CMP R0, 0x97
				// change to CMP R0, 0x0
				writeWord(deoxysObOffset + 0x16, 0x2800);
			}
		}

		// Look for evolutions too
		if (romEntry.romType == RomType_FRLG) {
			int evoJumpOffset = find("972814DD");
			if (evoJumpOffset > 0) {
				// This currently compares species to 0x97 and then allows
				// evolution if it's <= that.
				// Allow it regardless by using an unconditional jump instead
				writeWord(evoJumpOffset, 0x0000);
				writeWord(evoJumpOffset + 2, 0xE014);
			}
		}
	}