public void DecreaseProficiency(Utils.AbilityType abilityType)
    {
        if (character.AbilityProficiencies[(int)abilityType] > 0)
        {
            character.AbilityProficiencies[(int)abilityType] -= 1;

            points += GetCost(abilityType);
        }
    }
    public void IncreaseProficiency(Utils.AbilityType abilityType)
    {
        if (CanAffordProficiency(abilityType))
        {
            points -= GetCost(abilityType);

            character.AbilityProficiencies[(int)abilityType] += 1;
        }
    }
 private int GetCost(Utils.AbilityType abilityType)
 {
     return(((character.AbilityProficiencies[(int)abilityType] + 1) * (character.AbilityProficiencies[(int)abilityType] + 1)) - character.AbilityProficiencies[(int)abilityType]);
 }
 private bool CanAffordProficiency(Utils.AbilityType abilityType)
 {
     return(GetCost(abilityType) <= points);
 }