public static boolean canLearnMove(Item tm,Pokemon pokemon)
	{
		if (tm.type == Item.Type.REDBULL)
		return true;

		boolean canLearn = false;
		switch(pokemon.species)
		{
			case BULBASAUR:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 8:
					case 9:
					case 10:
					case 20:
					case 21:
					case 22:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case IVYSAUR:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 8:
					case 9:
					case 10:
					case 20:
					case 21:
					case 22:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case VENUSAUR:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 22:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case CHARMANDER:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 3:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 23:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 4:
						canLearn = true;
				}
			}
			break;
			case CHARMELEON:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 3:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 23:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 4:
						canLearn = true;
				}
			}
			break;
			case CHARIZARD:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 3:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 23:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 2:
					case 4:
						canLearn = true;
				}
			}
			break;
			case SQUIRTLE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 17:
					case 18:
					case 19:
					case 20:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case WARTORTLE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 17:
					case 18:
					case 19:
					case 20:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case BLASTOISE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case CATERPIE:
			canLearn = false;
			break;
			case METAPOD:
			canLearn = false;
			break;
			case BUTTERFREE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 22:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 44:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			break;
			case WEEDLE:
			canLearn = false;
			break;
			case KAKUNA:
			canLearn = false;
			break;
			case BEEDRILL:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case PIDGEY:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 43:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
						canLearn = true;
				}
			}
			break;
			case PIDGEOTTO:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 43:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
						canLearn = true;
				}
			}
			break;
			case PIDGEOT:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 43:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
						canLearn = true;
				}
			}
			break;
			case RATTATA:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 14:
					case 20:
					case 24:
					case 25:
					case 28:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case RATICATE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 14:
					case 15:
					case 20:
					case 24:
					case 25:
					case 28:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case SPEAROW:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 20:
					case 31:
					case 32:
					case 34:
					case 39:
					case 43:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
						canLearn = true;
				}
			}
			break;
			case FEAROW:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 31:
					case 32:
					case 34:
					case 39:
					case 43:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
						canLearn = true;
				}
			}
			break;
			case EKANS:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 20:
					case 21:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case ARBOK:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case PIKACHU:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 16:
					case 17:
					case 19:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 40:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case RAICHU:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 16:
					case 17:
					case 19:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 40:
					case 44:
					case 45:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case SANDSHREW:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 4:
						canLearn = true;
				}
			}
			break;
			case SANDSLASH:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 17:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 4:
						canLearn = true;
				}
			}
			break;
			case NIDORAN_F:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 14:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case NIDORINA:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case NIDOQUEEN:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 16:
					case 17:
					case 18:
					case 19:
					case 20:
					case 24:
					case 25:
					case 26:
					case 27:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case NIDORAN_M:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 14:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case NIDORINO:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case NIDOKING:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 16:
					case 17:
					case 18:
					case 19:
					case 20:
					case 24:
					case 25:
					case 26:
					case 27:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case CLEFAIRY:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 17:
					case 18:
					case 19:
					case 20:
					case 22:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 38:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case CLEFABLE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 22:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 38:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case VULPIX:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 20:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case NINETALES:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case JIGGLYPUFF:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 17:
					case 18:
					case 19:
					case 20:
					case 22:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case WIGGLYTUFF:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 22:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case ZUBAT:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 20:
					case 21:
					case 31:
					case 32:
					case 34:
					case 39:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case GOLBAT:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 31:
					case 32:
					case 34:
					case 39:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case ODDISH:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 20:
					case 21:
					case 22:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case GLOOM:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 20:
					case 21:
					case 22:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case VILEPLUME:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 22:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case PARAS:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 20:
					case 21:
					case 22:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case PARASECT:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 22:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case VENONAT:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 20:
					case 21:
					case 22:
					case 29:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			break;
			case VENOMOTH:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 22:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 44:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			break;
			case DIGLETT:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			break;
			case DUGTRIO:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			break;
			case MEOWTH:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 16:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case PERSIAN:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 15:
					case 16:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case PSYDUCK:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 16:
					case 17:
					case 18:
					case 19:
					case 20:
					case 28:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case GOLDUCK:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 16:
					case 17:
					case 18:
					case 19:
					case 20:
					case 28:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case MANKEY:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 16:
					case 17:
					case 18:
					case 19:
					case 20:
					case 24:
					case 25:
					case 28:
					case 31:
					case 32:
					case 34:
					case 35:
					case 39:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case PRIMEAPE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 16:
					case 17:
					case 18:
					case 19:
					case 20:
					case 24:
					case 25:
					case 28:
					case 31:
					case 32:
					case 34:
					case 35:
					case 39:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case GROWLITHE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 20:
					case 23:
					case 28:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case ARCANINE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 23:
					case 28:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case POLIWAG:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 29:
					case 31:
					case 32:
					case 34:
					case 40:
					case 44:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case POLIWHIRL:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 29:
					case 31:
					case 32:
					case 34:
					case 35:
					case 40:
					case 44:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case POLIWRATH:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 29:
					case 31:
					case 32:
					case 34:
					case 35:
					case 40:
					case 44:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case ABRA:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 29:
					case 31:
					case 32:
					case 34:
					case 35:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case KADABRA:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 28:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case ALAKAZAM:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 28:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case MACHOP:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 35:
					case 38:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case MACHOKE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 35:
					case 38:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case MACHAMP:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 35:
					case 38:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case BELLSPROUT:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 20:
					case 21:
					case 22:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case WEEPINBELL:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 20:
					case 21:
					case 22:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case VICTREEBEL:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 22:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case TENTACOOL:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 21:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 3:
						canLearn = true;
				}
			}
			break;
			case TENTACRUEL:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 21:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 3:
						canLearn = true;
				}
			}
			break;
			case GEODUDE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 35:
					case 36:
					case 38:
					case 44:
					case 47:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case GRAVELER:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 35:
					case 36:
					case 38:
					case 44:
					case 47:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case GOLEM:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 35:
					case 36:
					case 38:
					case 44:
					case 47:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case PONYTA:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case RAPIDASH:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case SLOWPOKE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 16:
					case 20:
					case 26:
					case 27:
					case 28:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case SLOWBRO:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 16:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case MAGNEMITE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 20:
					case 24:
					case 25:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 44:
					case 45:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case MAGNETON:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 24:
					case 25:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 44:
					case 45:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case FARFETCH_D:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 3:
					case 4:
					case 6:
					case 8:
					case 9:
					case 10:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 2:
						canLearn = true;
				}
			}
			break;
			case DODUO:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 6:
					case 8:
					case 9:
					case 10:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 43:
					case 44:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
						canLearn = true;
				}
			}
			break;
			case DODRIO:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 43:
					case 44:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
						canLearn = true;
				}
			}
			break;
			case SEEL:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 16:
					case 20:
					case 31:
					case 32:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case DEWGONG:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 16:
					case 20:
					case 31:
					case 32:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case GRIMER:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 20:
					case 21:
					case 24:
					case 25:
					case 31:
					case 32:
					case 34:
					case 36:
					case 38:
					case 44:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			break;
			case MUK:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 15:
					case 20:
					case 21:
					case 24:
					case 25:
					case 31:
					case 32:
					case 34:
					case 36:
					case 38:
					case 44:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			break;
			case SHELLDER:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 36:
					case 39:
					case 44:
					case 47:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case CLOYSTER:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 36:
					case 39:
					case 44:
					case 47:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case GASTLY:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 20:
					case 21:
					case 24:
					case 25:
					case 29:
					case 31:
					case 32:
					case 34:
					case 36:
					case 42:
					case 44:
					case 46:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			break;
			case HAUNTER:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 20:
					case 21:
					case 24:
					case 25:
					case 29:
					case 31:
					case 32:
					case 34:
					case 36:
					case 42:
					case 44:
					case 46:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			break;
			case GENGAR:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 21:
					case 24:
					case 25:
					case 29:
					case 31:
					case 32:
					case 34:
					case 35:
					case 36:
					case 40:
					case 42:
					case 44:
					case 46:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case ONIX:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 20:
					case 26:
					case 28:
					case 31:
					case 32:
					case 34:
					case 35:
					case 36:
					case 40:
					case 42:
					case 44:
					case 46:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case DROWZEE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 40:
					case 42:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case HYPNO:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 40:
					case 42:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case KRABBY:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 31:
					case 32:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case KINGLER:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 31:
					case 32:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case VOLTORB:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 20:
					case 24:
					case 25:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 36:
					case 39:
					case 44:
					case 45:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case ELECTRODE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 15:
					case 20:
					case 24:
					case 25:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 36:
					case 39:
					case 44:
					case 45:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case EXEGGCUTE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 20:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 36:
					case 37:
					case 44:
					case 46:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			break;
			case EXEGGUTOR:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 22:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 36:
					case 37:
					case 44:
					case 46:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case CUBONE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 38:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case MAROWAK:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 38:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case HITMONLEE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 31:
					case 32:
					case 34:
					case 35:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case HITMONCHAN:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 17:
					case 18:
					case 19:
					case 20:
					case 31:
					case 32:
					case 34:
					case 35:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case LICKITUNG:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 3:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 24:
					case 25:
					case 26:
					case 27:
					case 31:
					case 32:
					case 34:
					case 38:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case KOFFING:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 34:
					case 36:
					case 38:
					case 44:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			break;
			case WEEZING:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 15:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 34:
					case 36:
					case 38:
					case 44:
					case 47:
					case 50:
						canLearn = true;
				}
			}
			break;
			case RHYHORN:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 20:
					case 24:
					case 25:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 38:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case RHYDON:
			if (tm.type == Item.Type.TM)

			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 16:
					case 17:
					case 18:
					case 19:
					case 20:
					case 24:
					case 25:
					case 26:
					case 27:
					case 28:
					case 31:
					case 32:
					case 34:
					case 38:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case CHANSEY:
			if (tm.type == Item.Type.TM)

			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 22:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 37:
					case 38:
					case 40:
					case 41:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case TANGELA:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 21:
					case 22:
					case 31:
					case 32:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case KANGASKHAN:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 24:
					case 25:
					case 26:
					case 27:
					case 31:
					case 32:
					case 34:
					case 38:
					case 40:
					case 44:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case HORSEA:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case SEADRA:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case GOLDEEN:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 31:
					case 32:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case SEAKING:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case STARYU:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 5:
						canLearn = true;
				}
			}
			break;
			case STARMIE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 5:
						canLearn = true;
				}
			}
			break;
			case MR_MIME:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 22:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 40:
					case 44:
					case 45:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case SCYTHER:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 31:
					case 32:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
						canLearn = true;
				}
			}
			break;
			case JYNX:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 40:
					case 44:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			break;
			case ELECTABUZZ:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 39:
					case 40:
					case 44:
					case 45:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case MAGMAR:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 17:
					case 18:
					case 19:
					case 20:
					case 29:
					case 30:
					case 31:
					case 32:
					case 34:
					case 35:
					case 38:
					case 39:
					case 40:
					case 44:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case PINSIR:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 17:
					case 19:
					case 20:
					case 31:
					case 32:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 4:
						canLearn = true;
				}
			}
			break;
			case TAUROS:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 13:
					case 14:
					case 15:
					case 20:
					case 24:
					case 25:
					case 26:
					case 27:
					case 31:
					case 32:
					case 34:
					case 38:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
						canLearn = true;
				}
			}
			break;
			case MAGIKARP:
			canLearn = false;
			break;
			case GYARADOS:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 23:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case LAPRAS:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 22:
					case 23:
					case 24:
					case 25:
					case 29:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 46:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case DITTO:
			canLearn = false;
			break;
			case EEVEE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case VAPOREON:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case JOLTEON:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 24:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 40:
					case 44:
					case 45:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case FLAREON:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 15:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			break;
			case PORYGON:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 9:
					case 10:
					case 13:
					case 14:
					case 15:
					case 20:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 5:
						canLearn = true;
				}
			}
			break;
			case OMANYTE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case OMASTAR:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 19:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case KABUTO:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case KABUTOPS:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 3:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 17:
					case 19:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 40:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case AERODACTYL:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 23:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 43:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
						canLearn = true;
				}
			}
			break;
			case SNORLAX:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 16:
					case 17:
					case 18:
					case 19:
					case 20:
					case 22:
					case 24:
					case 25:
					case 26:
					case 27:
					case 29:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 36:
					case 38:
					case 40:
					case 44:
					case 46:
					case 48:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case ARTICUNO:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 43:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
						canLearn = true;
				}
			}
			break;
			case ZAPDOS:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 39:
					case 43:
					case 44:
					case 45:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 5:
						canLearn = true;
				}
			}
			break;
			case MOLTRES:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 4:
					case 6:
					case 9:
					case 10:
					case 15:
					case 20:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 43:
					case 44:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 2:
						canLearn = true;
				}
			}
			break;
			case DRATINI:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 23:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 45:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case DRAGONAIR:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 20:
					case 23:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 45:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
						canLearn = true;
				}
			}
			break;
			case DRAGONITE:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 2:
					case 6:
					case 7:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 20:
					case 23:
					case 24:
					case 25:
					case 31:
					case 32:
					case 33:
					case 34:
					case 38:
					case 39:
					case 40:
					case 44:
					case 45:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 3:
					case 4:
						canLearn = true;
				}
			}
			break;
			case MEWTWO:
			if (tm.type == Item.Type.TM)
			{
				switch(tm.mNo)
				{
					case 1:
					case 5:
					case 6:
					case 8:
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 15:
					case 16:
					case 17:
					case 18:
					case 19:
					case 20:
					case 22:
					case 24:
					case 25:
					case 29:
					case 30:
					case 31:
					case 32:
					case 33:
					case 34:
					case 35:
					case 36:
					case 38:
					case 40:
					case 44:
					case 45:
					case 46:
					case 49:
					case 50:
						canLearn = true;
				}
			}
			else if (tm.type == Item.Type.HM)
			{
				switch(tm.mNo)
				{
					case 4:
					case 5:
						canLearn = true;
				}
			}
			break;
			case MEW:
			canLearn = true;
			break;
		}

		return canLearn;
	}