protected override async Task ActAsync(IActionHost host) { var lastGains = host.Examine(Zone.RecentGains, host.GetPlayerToRight()).Where(c => c.GetCost(host).LessThanOrEqual(6)); if (lastGains.Count() == 1) { await host.Gain(lastGains.Single()); } else if (lastGains.Count() > 1) { var gainedCopy = await host.SelectCard("Choose a card to gain.", lastGains); await host.Gain(gainedCopy); } }