public bool RequirementPassed(Other.Feat _feat, KeyValuePair <string, int> _ibab, KeyValuePair <string, int> _iskill, Other.Feat _ifeat)
        {
            bool res = false;

            foreach (object item in _feat.Prerequisite)
            {
                if (item is Other.Feat)
                {
                    res = ReqFeat((Other.Feat)item, _ifeat);
                }
                else if (item is int)
                {
                }
                else if (item is List <KeyValuePair <string, int> > )
                {
                    foreach (KeyValuePair <string, int> valuepair in (List <KeyValuePair <string, int> >)item)
                    {
                        res = ReqSkill(valuepair, _iskill);
                    }
                }
                else if (item is string)
                {
                }
                if (res)
                {
                    break;
                }
            }

            return(res);
        }
        private bool ReqFeat(Other.Feat _feat, Other.Feat _ifeat)
        {
            bool found = false;

            if (_feat.Equals(_ifeat))
            {
                found = true;
            }

            return(found);
        }