private string createErrorText(Character character, AbilityBase ability) { List <string> errors = new List <string>(); if (!ability.CharacterHasEnoughMana(character)) { errors.Add("not enough mana"); } if (!ability.CharacterHasSkill(character)) { errors.Add(ability.GetRequirementString(character)); } if (!ability.usableOutOfCombat) { errors.Add(string.Format("cannot use out of combat", ability.label)); } string errorString = string.Join(", ", errors.ToArray()); if (!string.IsNullOrEmpty(errorString)) { errorString = errorString.First().ToString().ToUpper() + errorString.Substring(1); } return(errorString); }