public creature produce(creature mate){
		creature baby = new creature(mate.x, mate.y);
		float nf = (this.fertility + mate.fertility)/2 + main.rand.nextFloat()*norp();
		if (nf> 8){
			baby.fertility = 8;
		}else if( nf<0){
			baby.fertility= 0;
		}else{
			baby.fertility = nf;
		}
		
		float nst = (this.stealth + mate.stealth)/2 + main.rand.nextFloat()*norp();
		if (nst> 6){
			baby.stealth = 6;
		}else if( nst<0){
			baby.stealth= 0;
		}else{
			baby.stealth = nst;
		}
		
		float ns = (this.sight + mate.sight)/2 + main.rand.nextFloat()*norp();
		if (ns> 5){
			baby.sight = 5;
		}else if(ns<0){
			baby.sight = 0;
		}else
			baby.sight = ns;
		
		float nc = (this.cooperation + mate.cooperation)/2 + main.rand.nextFloat()*norp();
		baby.cooperation = nc;
		
		float nms = (this.movementSpeed + mate.movementSpeed)/2 +main.rand.nextFloat()*norp();
		if (nms <1){
			baby.movementSpeed = 1;
		}else{
			baby.movementSpeed = nms;
		}
		
		float ngs = (this.gatheringSpeed + mate.gatheringSpeed)/2 + main.rand.nextFloat()*norp();
		if (ngs<0){
			baby.gatheringSpeed = 0;
		} else if(ngs>8){
			baby.gatheringSpeed = 8;
		} else{
			baby.gatheringSpeed = ngs;
		}
		
		baby.x = main.rand.nextInt(main.size);
		baby.y = main.rand.nextInt(main.size);
		
		return baby;
	}