private void loadBasicPokeStats(Pokemon pkmn, int offset) {
		pkmn.hp = rom[offset] & 0xFF;
		pkmn.attack = rom[offset + 1] & 0xFF;
		pkmn.defense = rom[offset + 2] & 0xFF;
		pkmn.speed = rom[offset + 3] & 0xFF;
		pkmn.spatk = rom[offset + 4] & 0xFF;
		pkmn.spdef = rom[offset + 5] & 0xFF;
		// Type
		pkmn.primaryType = typeTable[rom[offset + 6] & 0xFF];
		pkmn.secondaryType = typeTable[rom[offset + 7] & 0xFF];
		// Only one type?
		if (pkmn.secondaryType == pkmn.primaryType) {
			pkmn.secondaryType = null;
		}
		pkmn.catchRate = rom[offset + 8] & 0xFF;
		pkmn.growthCurve = ExpCurve.fromByte(rom[offset + 19]);
		// Abilities
		pkmn.ability1 = rom[offset + 22] & 0xFF;
		pkmn.ability2 = rom[offset + 23] & 0xFF;

		// Held Items?
		int item1 = readWord(offset + 12);
		int item2 = readWord(offset + 14);

		if (item1 == item2) {
			// guaranteed
			pkmn.guaranteedHeldItem = item1;
			pkmn.commonHeldItem = 0;
			pkmn.rareHeldItem = 0;
		} else {
			pkmn.guaranteedHeldItem = 0;
			pkmn.commonHeldItem = item1;
			pkmn.rareHeldItem = item2;
		}
		pkmn.darkGrassHeldItem = -1;
	}