public String getAttackSpot(double defendersDefSkill,String aim) {
    	setRealSkills();
    	double proficency=0;
    	if(attackStyle.equals("handToHand")){proficency=getHandToHand();}
    	double diff=  ((getAttSkill()-defendersDefSkill)/2.0)+((3*proficency)/20.0);
    	double legs;double arms;
    	double torso;double head;
    	double miss;
    	if(aim.equals("torso")) {
            torso=(diff+10.0);
            miss=  50.0-(diff*0.55);
            arms=  30.0-(diff*0.35);
            legs=  9.0-(diff*0.09);
            head=  1.0-(diff*0.01);
    	}
    	else if(aim.equals("legs")) {
            legs=(diff+33.0);
            miss=  50.0-(diff*0.66);
            arms=  12.0-(diff*0.22);
            torso= 4.0-(diff*0.08);
            head=  1.0-(diff*0.04);
    	}
    	else if(aim.equals("arms")) {
            arms=(diff+33.0);
            miss=  50.0-(diff*0.66);
            torso= 12.0-(diff*0.22);
            legs=  4.0-(diff*0.08);
            head=  1.0-(diff*0.04);
    	}
        else {
            head=(diff+15.0);
            miss=  60.0-(diff*0.66);
            arms=  15.0-(diff*0.20);
            legs=  1.0-(diff*0.02);
            torso= 9.0-(diff*0.12);
    	}
    	
        // Make the stat bases increase.
    	double ra=Math.random()*100;
    	if(ra<=torso) {
            setAttSkillBase(getAttSkillBase()+.005);
            setAttStrBase(getAttStrBase()+.01);
            plusToProficency(.01);
            return "torso";
    	}
    	else if(ra<=torso+head) {
            setAttSkillBase(getAttSkillBase()+.005);
            setAttStrBase(getAttStrBase()+.01);
            plusToProficency(.01);
            return "head";
    	}
    	else if(ra<=torso+head+legs) {
            setAttSkillBase(getAttSkillBase()+.005);
            setAttStrBase(getAttStrBase()+.01);
            plusToProficency(.01);
            return "legs";
    	}
    	else if(ra<=torso+head+legs+arms) {
            setAttSkillBase(getAttSkillBase()+.005);
            setAttStrBase(getAttStrBase()+.01);
            plusToProficency(.01);
            return "arms";
    	}
    	else if(ra<=torso+head+legs+arms+miss)
        {
            plusToProficency(.005);
            setAttStrBase(getAttStrBase()+.01);
            return "miss";
    	}
    	return "miss";
    }