public override void Play(Player player) { base.Play(player); Choice choice = new Choice("Choose one:", this, new CardCollection() { this }, new List<string>() { "+<coin>2</coin>", "Discard your hand, +4<nbsp/>Cards, and each other player with at least 5 cards in hand discards his hand and draws 4 cards" }, player); ChoiceResult result = player.MakeChoice(choice); if (result.Options.Contains("+<coin>2</coin>")) { CardBenefit benefit = new CardBenefit(); benefit.Currency += new Coin(2); player.ReceiveBenefit(this, benefit); } else { player.DiscardHand(true); CardBenefit benefit = new CardBenefit() { Cards = 4 }; player.ReceiveBenefit(this, benefit); // Perform attack on each other player IEnumerator<Player> enumerator = player._Game.GetPlayersStartingWithEnumerator(player); enumerator.MoveNext(); while (enumerator.MoveNext()) { Player attackee = enumerator.Current; if (this.IsAttackBlocked[attackee]) continue; if (attackee.Hand.Count > 4) { attackee.DiscardHand(true); attackee.ReceiveBenefit(this, benefit); } } } }