public Species evolve(Pokemon p, Item.Type t)
	{
		boolean willWork = true;
		switch(p.species)
		{
			case PIKACHU:
				if(t==Item.Type.THUNDER_STONE)
					return Species.RAICHU;
				else
					willWork = false;
				break;
			case NIDORINA:
				if(t==Item.Type.MOON_STONE)
					return Species.NIDOQUEEN;
				else
					willWork = false;
				break;
			case NIDORINO:
				if(t==Item.Type.MOON_STONE)
					return Species.NIDOKING;
				else
					willWork = false;
				break;
			case CLEFAIRY:
				if(t==Item.Type.MOON_STONE)
					return Species.CLEFABLE;
				else
					willWork = false;
				break;
			case VULPIX:
				if(t==Item.Type.FIRE_STONE)
					return Species.NINETALES;
				else
					willWork = false;
				break;
			case JIGGLYPUFF:
				if(t==Item.Type.MOON_STONE)
					return Species.WIGGLYTUFF;
				else
					willWork = false;
				break;
			case GLOOM:
				if(t==Item.Type.LEAF_STONE)
					return Species.VILEPLUME;
				else
					willWork = false;
				break;
			case GROWLITHE:
				if(t==Item.Type.FIRE_STONE)
					return Species.ARCANINE;
				else
					willWork = false;
				break;
			case POLIWHIRL:
				if(t==Item.Type.WATER_STONE)
					return Species.POLIWRATH;
				else
					willWork = false;
				break;
			case WEEPINBELL:
				if(t==Item.Type.LEAF_STONE)
					return Species.VICTREEBEL;
				else
					willWork = false;
				break;
			case SHELLDER:
				if(t==Item.Type.WATER_STONE)
					return Species.CLOYSTER;
				else
					willWork = false;
				break;
			case EXEGGCUTE:
				if(t==Item.Type.LEAF_STONE)
					return Species.EXEGGUTOR;
				else
					willWork = false;
				break;
			case STARYU:
				if(t==Item.Type.WATER_STONE)
					return Species.STARMIE;
				else
					willWork = false;
				break;
			case EEVEE:
				if(t==Item.Type.WATER_STONE)
					return Species.VAPOREON;
				else if(t==Item.Type.THUNDER_STONE)
					return Species.JOLTEON;
				else if(t==Item.Type.FIRE_STONE)
					return Species.FLAREON;
				else
					willWork = false;
				break;
			default:
				willWork = false;
				break;
		}
		if (!willWork)
		{
			Inventory.errorWindow.addMessage(t.toString().replace('_',' ') + " will have no effect!");
		}

		return p.species;
	}