static public async Task Option3Async(SelfCtx ctx) { await Option2Async(ctx); // Gain a Major Power without Forgetting. await ctx.DrawMajor(false, 4); // Other Spirits with 3 or more Absorbed Presence may do likewise." var presence = (SerpentPresence)ctx.Self.Presence; var qualifyingSpirits = presence.AbsorbedPresences.GroupBy(x => x).Where(grp => 3 <= grp.Count()).Select(grp => grp.Key); foreach (var spirit in presence.AbsorbedPresences.Distinct()) { await spirit.Bind(ctx.GameState).DrawMajor(false, 4); } }