internal void TrashCard(CardModel chosenCard, Player owner) { this.Trash.Add(chosenCard); chosenCard.OnTrash(this, owner); foreach (CardModel card in owner.Hand.Where(c => c is MarketSquare).ToArray()) { int choice = owner.Chooser.ChooseOneEffect(EffectChoiceType.DiscardMarketSquare, "You may discard Market Square to gain a Gold", marketSquareChoices, marketSquareChoices); if (choice == 0) { owner.DiscardCard(card); owner.GainCard(typeof(Gold)); } } }