public static List <SoulGemEnhancement> Generate(Ability ability) { for (int i = 0; i < 10000; i++) { string roll = RNG.DictionaryKey(attributes); var output = attributes[roll](ability); if (output != null) { return new List <SoulGemEnhancement> { output } } ; } return(null); }