private Ability getAbility(Party cp) {
		// TODO Auto-generated method stub
		if(this.isRaging())
		{
			return new Attack();
		}
		if(getLevel() <= 4)
		{
			//choose ability at random
			Random gen = new Random();
			return getAbilities().get(gen.nextInt(getAbilities().size()));
		}
		if(getLevel() > 4 && getLevel() <= 8)
		{
			//choose most recently acquired ability
			return getAbilities().get(getAbilities().size()-1);
		}
		if(getLevel() > 8)
		{
			//choose highest getLevel() ability
			Ability use = null;
			for(Iterator<Ability> ab = getAbilities().iterator(); ab.hasNext();)
			{
				Ability a = ab.next();
				if(use != null && use.getLevel() < a.getLevel())
					use = a;
				if(use == null)
					use = a;
			}
			return use;
		}
		return null;
	}