public override void Overpay(Player player, Currency amount) { for (int i = 0; i < 2; i++) { SupplyCollection gainableSupplies = player._Game.Table.Supplies.FindAll(supply => supply.CanGain() && (supply.Category & Cards.Category.Action) == Cards.Category.Action && supply.CurrentCost == amount); Choice choice = new Choice(String.Format("Gain an Action card costing {0}", amount.ToStringInline()), this, gainableSupplies, player, false); ChoiceResult result = player.MakeChoice(choice); if (result.Supply != null) player.Gain(result.Supply); } }