public Species evolve(Pokemon p)
	{
		switch(p.species)
		{
			case BULBASAUR:
				if(level>=16)
					return Species.IVYSAUR;
				break;
			case IVYSAUR:
				if(level>=32)
					return Species.VENUSAUR;
				break;
			case CHARMANDER:
				if(level>=16)
					return Species.CHARMELEON;
				break;
			case CHARMELEON:
				if(level>=36)
					return Species.CHARIZARD;
				break;
			case SQUIRTLE:
				if(level>=16)
					return Species.WARTORTLE;
				break;
			case WARTORTLE:
				if(level>=36)
					return Species.BLASTOISE;
				break;
			case CATERPIE:
				if(level>=7)
					return Species.METAPOD;
				break;
			case METAPOD:
				if(level>=10)
					return Species.BUTTERFREE;
				break;
			case WEEDLE:
				if(level>=7)
					return Species.KAKUNA;
				break;
			case KAKUNA:
				if(level>=10)
					return Species.BEEDRILL;
				break;
			case PIDGEY:
				if(level>=18)
					return Species.PIDGEOTTO;
				break;
			case PIDGEOTTO:
				if(level>=36)
					return Species.PIDGEOT;
				break;
			case RATTATA:
				if(level>=20)
					return Species.RATICATE;
				break;
			case SPEAROW:
				if(level>=20)
					return Species.FEAROW;
				break;
			case EKANS:
				if(level>=22)
					return Species.ARBOK;
				break;
			case SANDSHREW:
				if(level>=22)
					return Species.SANDSLASH;
				break;
			case NIDORAN_F:
				if(level>=16)
					return Species.NIDORINA;
				break;
			case NIDORAN_M:
				if(level>=16)
					return Species.NIDORINO;
				break;
			case ZUBAT:
				if(level>=22)
					return Species.GOLBAT;
				break;
			case ODDISH:
				if(level>=21)
					return Species.GLOOM;
				break;
			case PARAS:
				if(level>=24)
					return Species.PARASECT;
				break;
			case VENONAT:
				if(level>=31)
					return Species.VENOMOTH;
				break;
			case DIGLETT:
				if(level>=26)
					return Species.DUGTRIO;
				break;
			case MEOWTH:
				if(level>=28)
					return Species.PERSIAN;
				break;
			case PSYDUCK:
				if(level>=33)
					return Species.GOLDUCK;
				break;
			case MANKEY:
				if(level>=28)
					return Species.PRIMEAPE;
				break;
			case POLIWAG:
				if(level>=25)
					return Species.POLIWHIRL;
				break;
			case ABRA:
				if(level>=16)
					return Species.KADABRA;
				break;
			case MACHOP:
				if(level>=28)
					return Species.MACHOKE;
				break;
			case BELLSPROUT:
				if(level>=21)
					return Species.WEEPINBELL;
				break;
			case TENTACOOL:
				if(level>=30)
					return Species.TENTACRUEL;
				break;
			case GEODUDE:
				if(level>=25)
					return Species.GRAVELER;
				break;
			case PONYTA:
				if(level>=40)
					return Species.RAPIDASH;
				break;
			case SLOWPOKE:
				if(level>=37)
					return Species.SLOWBRO;
				break;
			case MAGNEMITE:
				if(level>=30)
					return Species.MAGNETON;
				break;
			case DODUO:
				if(level>=31)
					return Species.DODRIO;
				break;
			case SEEL:
				if(level>=34)
					return Species.DEWGONG;
				break;
			case GRIMER:
				if(level>=38)
					return Species.MUK;
				break;
			case GASTLY:
				if(level>=25)
					return Species.HAUNTER;
				break;
			case DROWZEE:
				if(level>=26)
					return Species.HYPNO;
				break;
			case KRABBY:
				if(level>=28)
					return Species.KINGLER;
				break;
			case VOLTORB:
				if(level>=30)
					return Species.ELECTRODE;
				break;
			case CUBONE:
				if(level>=28)
					return Species.MAROWAK;
				break;
			case KOFFING:
				if(level>=35)
					return Species.WEEZING;
				break;
			case RHYHORN:
				if(level>=42)
					return Species.RHYDON;
				break;
			case HORSEA:
				if(level>=32)
					return Species.SEADRA;
				break;
			case GOLDEEN:
				if(level>=33)
					return Species.SEAKING;
				break;
			case MAGIKARP:
				if(level>=20)
					return Species.GYARADOS;
				break;
			case OMANYTE:
				if(level>=40)
					return Species.OMASTAR;
				break;
			case KABUTO:
				if(level>=40)
					return Species.KABUTOPS;
				break;
			case DRATINI:
				if(level>=30)
					return Species.DRAGONAIR;
				break;
			case DRAGONAIR:
				if(level>=55)
					return Species.DRAGONITE;
				break;
			case MISSINGNO:
				if(level>=80)
					return Species.KANGASKHAN;
				break;
		}

		return p.species;
	}