private void CheckClassPreReqs(List <FeatData> Feats) { string methodName = "CheckClassPreReqs"; foreach (ClassWrapper wrapper in CharacterClasses.Classes) { List <string> ClassPreReqs = CharacterClasses.GetPrestigePreReqFeats(wrapper.Name); FeatFoundation.FeatFoundation tempFeat = null; foreach (string oneFeat in ClassPreReqs) { string holdFeat = oneFeat; string SelectdItem = string.Empty; List <string> splitFeats = oneFeat.Split(',').ToList <string>(); bool Found = false; foreach (string oneSplitFeat in splitFeats) { if (oneSplitFeat.Contains(" (")) { int Pos = oneSplitFeat.IndexOf(" ("); holdFeat = oneSplitFeat.Substring(0, Pos).Trim(); SelectdItem = oneSplitFeat.Replace(holdFeat, string.Empty); SelectdItem = Utility.RemoveParentheses(SelectdItem); } tempFeat = Feats.Find(p => p.Name == holdFeat && p.SelectedItem == SelectdItem); if (tempFeat != null) { Found = true; break; } } if (!Found) { _messageXML.AddFail(methodName, wrapper.Name + " is missing prereq feat " + oneFeat); } } } }