protected override async Task ActAsync(IActionHost host) { var revealed = await host.SelectCard("Choose a card to reveal."); if (revealed != null) { host.Reveal(revealed); var hand = host.Examine(Zone.Hand); var copies = hand.Where(c => c == revealed); var returned = await host.SelectCards("Choose copies to return.", copies); host.ReturnToSupply(returned); await host.Attack(target => target.Gain(revealed)); } }
public static void ReturnToSupply(this IActionHost host, ICard[] cards) { host.ReturnToSupply(cards.Names()); }