public Pokemon evolution(Pokemon p, Species s)
	{
		Pokemon newP=null;

		newP=new Pokemon(s, p.move[0], p.move[1], p.move[2], p.move[3],p.level);

		newP.HP_EV=p.HP_EV;
		newP.ATK_EV=p.ATK_EV;
		newP.DEF_EV=p.DEF_EV;
		newP.SPEED_EV=p.SPEED_EV;
		newP.SPCL_EV=p.SPCL_EV;

		newP.HP_IV=p.HP_IV;
		newP.ATK_IV=p.ATK_IV;
		newP.DEF_IV=p.DEF_IV;
		newP.SPEED_IV=p.SPEED_IV;
		newP.SPCL_IV=p.SPCL_IV;

		newP.IS_TRADED=p.IS_TRADED;
		newP.idNumber=p.idNumber;
		if(!p.nickname.equals(p.species.toString()))
		newP.nickname=p.nickname;
		newP.originalTrainer=p.originalTrainer;

        System.arraycopy(p.TRUE_PP, 0, newP.TRUE_PP, 0, 4);

		return newP;
	}