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); }