static async Task DrawMajorOrGetEnergy(TargetSpaceCtx ctx) { // Gain a major power. (and forget a card) var major = (await ctx.DrawMajor(true)).Selected; // If you Forget this (Call on Midnights Dream) Power, if (!ctx.Self.Hand.Any(c => c.Name == CallOnMidnightsDream.Name)) { // gain energy equal to dahan ctx.Self.Energy += ctx.Dahan.Count; // you may play the major power immediately by paying its cost if (major.Cost <= ctx.Self.Energy && await ctx.Self.UserSelectsFirstText("Play card immediately by paying its cost?", "Yes, play now.", "No thank you") ) { ctx.Self.PlayCard(major); } } }