def ability_adjustments(prime_ability, ability_scores, char_level):
    """
    This function produces any ability adjustments for the character
    based upon the rolled ability scores.
    Assumes prime ability is a string, ability_scores the stats returned from ability_generator, 
    and char_level and int.
    Returns: a list of all ability adjustments, listed as strings.
    """
    adjustments = []
    abilities = ['Strength', 'Intelligence', 'Wisdom', 'Dexterity', 'Constitution', 'Charisma']
    prime = abilities.index(prime_ability) 
    ability_scores_with_prime = ability_scores[:]
    ability_scores_with_prime[prime] = (prime_ability, (ability_scores[prime][1] + char_level))
    if ability_scores_with_prime[0][1] >= 14:
        adjustments.append('+1 to Melee and Thrown Weapon Damage')
    if ability_scores_with_prime[1][1] > 10:
        num_langs = ability_scores_with_prime[1][1] - 10
        adjustments.append('+{} Languages'.format(num_langs))
    if ability_scores_with_prime[2][1] > 10:
        comp_chance = (ability_scores_with_prime[2][1] - 10) * 10
        adjustments.append('+{}% Chance Comprehend Spoken Language'.format(comp_chance))
    if ability_scores_with_prime[3][1] > 13:
        adjustments.append('+1 Missile Weapon Damage')
    if ability_scores_with_prime[4][1] > 13:
        adjustments.append('+1 Hit Point per whole Hit Die')
    if ability_scores_with_prime[5][1] > 13:
        adjustments.append('+1 to Loyalty Base and Reaction Checks')
    if ability_scores_with_prime[1][1] < 8:
        adjustments.append('Inability to Read and Write')
    if ability_scores_with_prime[4][1] < 6:
        adjustments.append('Persistent Ailment/Allergy/Infirmity')
    if ability_scores_with_prime[5][1] < 7:
        adjustments.append('Additional or Mandatory Identifying Quality')
    return adjustments