internal static bool checkPropellant(AvailablePart part, string value, bool contains = true) { List <List <Propellant> > propellants = new List <List <Propellant> >(); foreach (ModuleEngines e in part.partPrefab.GetModuleEngines()) { propellants.Add(e.propellants); } foreach (ModuleEnginesFX ex in part.partPrefab.GetModuleEnginesFx()) { propellants.Add(ex.propellants); } foreach (List <Propellant> Lp in propellants) { if (contains) { foreach (string s in value.Split(',')) { if (Lp.Any(p => p.name == s.Trim())) { return(true); } } } else { foreach (Propellant p in Lp) { Core.Log(p.name); if (!value.Split(',').Contains(p.name)) { return(true); } } } } return(false); }